diff --git a/dist/xeokit-sdk.cjs.js b/dist/xeokit-sdk.cjs.js index 3d6c18c978..131b356e02 100644 --- a/dist/xeokit-sdk.cjs.js +++ b/dist/xeokit-sdk.cjs.js @@ -12015,7 +12015,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { const cameraControl = this.angleMeasurementsPlugin.viewer.cameraControl; const pointerLens = this.pointerLens; let mouseHovering = false; - let mouseHoverEntity = false; + let hoveredEntity = null; let lastMouseCanvasX = 0; let lastMouseCanvasY = 0; const mouseWorldPos = math.vec3(); @@ -12047,7 +12047,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { } const canvasPos = event.snappedCanvasPos || event.canvasPos; mouseHovering = true; - mouseHoverEntity = event.entity; + hoveredEntity = event.entity; mouseWorldPos.set(event.worldPos); mouseHoverCanvasPos.set(canvasPos); switch (this._mouseState) { @@ -12062,6 +12062,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.cornerVisible = true; this._currentAngleMeasurement.angleVisible = false; this._currentAngleMeasurement.corner.worldPos = event.worldPos; + this._currentAngleMeasurement.corner.entity = event.entity; } this.markerDiv.style.marginLeft = `-10000px`; this.markerDiv.style.marginTop = `-10000px`; @@ -12073,6 +12074,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.targetVisible = true; this._currentAngleMeasurement.angleVisible = true; this._currentAngleMeasurement.target.worldPos = event.worldPos; + this._currentAngleMeasurement.target.entity = event.entity; } this.markerDiv.style.marginLeft = `-10000px`; this.markerDiv.style.marginTop = `-10000px`; @@ -12103,15 +12105,12 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement = this.angleMeasurementsPlugin.createMeasurement({ id: math.createUUID(), origin: { - entity: mouseHoverEntity, worldPos: mouseWorldPos }, corner: { - entity: mouseHoverEntity, worldPos: mouseWorldPos }, target: { - entity: mouseHoverEntity, worldPos: mouseWorldPos }, approximate: true @@ -12123,6 +12122,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.targetWireVisible = false; this._currentAngleMeasurement.targetVisible = false; this._currentAngleMeasurement.angleVisible = false; + this._currentAngleMeasurement.origin.entity = hoveredEntity; this._mouseState = MOUSE_FINDING_CORNER; this.angleMeasurementsPlugin.fire("measurementStart", this._currentAngleMeasurement); } @@ -12132,11 +12132,13 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.targetWireVisible = false; this._currentAngleMeasurement.targetVisible = true; this._currentAngleMeasurement.angleVisible = true; + this._currentAngleMeasurement.corner.entity = hoveredEntity; this._mouseState = MOUSE_FINDING_TARGET; } else { if (this._currentAngleMeasurement) { this._currentAngleMeasurement.destroy(); this._currentAngleMeasurement = null; + hoveredEntity = null; this._mouseState = MOUSE_FINDING_ORIGIN; this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement); } @@ -12146,7 +12148,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { if (mouseHovering) { this._currentAngleMeasurement.targetVisible = true; this._currentAngleMeasurement.angleVisible = true; + this._currentAngleMeasurement.target.entity = hoveredEntity; this._currentAngleMeasurement.clickable = true; + hoveredEntity = null; this.angleMeasurementsPlugin.fire("measurementEnd", this._currentAngleMeasurement); this._currentAngleMeasurement = null; this._mouseState = MOUSE_FINDING_ORIGIN; @@ -12154,6 +12158,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { if (this._currentAngleMeasurement) { this._currentAngleMeasurement.destroy(); this._currentAngleMeasurement = null; + hoveredEntity = null; this._mouseState = MOUSE_FINDING_ORIGIN; this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement); } @@ -50120,6 +50125,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { let pointerDownCanvasX; let pointerDownCanvasY; const clickTolerance = 20; + let hoveredEntity = null; this._mouseState = MOUSE_FIRST_CLICK_EXPECTED; @@ -50154,6 +50160,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { this._markerDiv.style.background = "pink"; this._markerDiv.style.border = "2px solid red"; } + hoveredEntity = event.entity; } else { this._markerDiv.style.marginLeft = `-10000px`; this._markerDiv.style.marginTop = `-10000px`; @@ -50192,6 +50199,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { } if (this._currentDistanceMeasurement) { if (mouseHovering) { + this._currentDistanceMeasurement.target.entity = hoveredEntity; + hoveredEntity = null; this._currentDistanceMeasurement.clickable = true; this.distanceMeasurementsPlugin.fire("measurementEnd", this._currentDistanceMeasurement); this._currentDistanceMeasurement = null; @@ -50199,6 +50208,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { this._currentDistanceMeasurement.destroy(); this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement); this._currentDistanceMeasurement = null; + hoveredEntity = null; } } else { if (mouseHovering) { @@ -50219,6 +50229,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { this._currentDistanceMeasurementInitState.wireVisible = this._currentDistanceMeasurement.wireVisible; this._currentDistanceMeasurementInitState.targetVisible = this._currentDistanceMeasurement.targetVisible; this._currentDistanceMeasurement.clickable = false; + this._currentDistanceMeasurement.origin.entity = hoveredEntity; + hoveredEntity = null; this.fire("measurementStart", this._currentDistanceMeasurement); } } diff --git a/dist/xeokit-sdk.es.js b/dist/xeokit-sdk.es.js index 7b2c84ef13..21822ec70e 100644 --- a/dist/xeokit-sdk.es.js +++ b/dist/xeokit-sdk.es.js @@ -12011,7 +12011,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { const cameraControl = this.angleMeasurementsPlugin.viewer.cameraControl; const pointerLens = this.pointerLens; let mouseHovering = false; - let mouseHoverEntity = false; + let hoveredEntity = null; let lastMouseCanvasX = 0; let lastMouseCanvasY = 0; const mouseWorldPos = math.vec3(); @@ -12043,7 +12043,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { } const canvasPos = event.snappedCanvasPos || event.canvasPos; mouseHovering = true; - mouseHoverEntity = event.entity; + hoveredEntity = event.entity; mouseWorldPos.set(event.worldPos); mouseHoverCanvasPos.set(canvasPos); switch (this._mouseState) { @@ -12058,6 +12058,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.cornerVisible = true; this._currentAngleMeasurement.angleVisible = false; this._currentAngleMeasurement.corner.worldPos = event.worldPos; + this._currentAngleMeasurement.corner.entity = event.entity; } this.markerDiv.style.marginLeft = `-10000px`; this.markerDiv.style.marginTop = `-10000px`; @@ -12069,6 +12070,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.targetVisible = true; this._currentAngleMeasurement.angleVisible = true; this._currentAngleMeasurement.target.worldPos = event.worldPos; + this._currentAngleMeasurement.target.entity = event.entity; } this.markerDiv.style.marginLeft = `-10000px`; this.markerDiv.style.marginTop = `-10000px`; @@ -12099,15 +12101,12 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement = this.angleMeasurementsPlugin.createMeasurement({ id: math.createUUID(), origin: { - entity: mouseHoverEntity, worldPos: mouseWorldPos }, corner: { - entity: mouseHoverEntity, worldPos: mouseWorldPos }, target: { - entity: mouseHoverEntity, worldPos: mouseWorldPos }, approximate: true @@ -12119,6 +12118,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.targetWireVisible = false; this._currentAngleMeasurement.targetVisible = false; this._currentAngleMeasurement.angleVisible = false; + this._currentAngleMeasurement.origin.entity = hoveredEntity; this._mouseState = MOUSE_FINDING_CORNER; this.angleMeasurementsPlugin.fire("measurementStart", this._currentAngleMeasurement); } @@ -12128,11 +12128,13 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { this._currentAngleMeasurement.targetWireVisible = false; this._currentAngleMeasurement.targetVisible = true; this._currentAngleMeasurement.angleVisible = true; + this._currentAngleMeasurement.corner.entity = hoveredEntity; this._mouseState = MOUSE_FINDING_TARGET; } else { if (this._currentAngleMeasurement) { this._currentAngleMeasurement.destroy(); this._currentAngleMeasurement = null; + hoveredEntity = null; this._mouseState = MOUSE_FINDING_ORIGIN; this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement); } @@ -12142,7 +12144,9 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { if (mouseHovering) { this._currentAngleMeasurement.targetVisible = true; this._currentAngleMeasurement.angleVisible = true; + this._currentAngleMeasurement.target.entity = hoveredEntity; this._currentAngleMeasurement.clickable = true; + hoveredEntity = null; this.angleMeasurementsPlugin.fire("measurementEnd", this._currentAngleMeasurement); this._currentAngleMeasurement = null; this._mouseState = MOUSE_FINDING_ORIGIN; @@ -12150,6 +12154,7 @@ class AngleMeasurementsMouseControl extends AngleMeasurementsControl { if (this._currentAngleMeasurement) { this._currentAngleMeasurement.destroy(); this._currentAngleMeasurement = null; + hoveredEntity = null; this._mouseState = MOUSE_FINDING_ORIGIN; this.angleMeasurementsPlugin.fire("measurementCancel", this._currentAngleMeasurement); } @@ -50116,6 +50121,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { let pointerDownCanvasX; let pointerDownCanvasY; const clickTolerance = 20; + let hoveredEntity = null; this._mouseState = MOUSE_FIRST_CLICK_EXPECTED; @@ -50150,6 +50156,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { this._markerDiv.style.background = "pink"; this._markerDiv.style.border = "2px solid red"; } + hoveredEntity = event.entity; } else { this._markerDiv.style.marginLeft = `-10000px`; this._markerDiv.style.marginTop = `-10000px`; @@ -50188,6 +50195,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { } if (this._currentDistanceMeasurement) { if (mouseHovering) { + this._currentDistanceMeasurement.target.entity = hoveredEntity; + hoveredEntity = null; this._currentDistanceMeasurement.clickable = true; this.distanceMeasurementsPlugin.fire("measurementEnd", this._currentDistanceMeasurement); this._currentDistanceMeasurement = null; @@ -50195,6 +50204,7 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { this._currentDistanceMeasurement.destroy(); this.distanceMeasurementsPlugin.fire("measurementCancel", this._currentDistanceMeasurement); this._currentDistanceMeasurement = null; + hoveredEntity = null; } } else { if (mouseHovering) { @@ -50215,6 +50225,8 @@ class DistanceMeasurementsMouseControl extends DistanceMeasurementsControl { this._currentDistanceMeasurementInitState.wireVisible = this._currentDistanceMeasurement.wireVisible; this._currentDistanceMeasurementInitState.targetVisible = this._currentDistanceMeasurement.targetVisible; this._currentDistanceMeasurement.clickable = false; + this._currentDistanceMeasurement.origin.entity = hoveredEntity; + hoveredEntity = null; this.fire("measurementStart", this._currentDistanceMeasurement); } } diff --git a/dist/xeokit-sdk.es5.js b/dist/xeokit-sdk.es5.js index c32f4c18ef..36168be91e 100644 --- a/dist/xeokit-sdk.es5.js +++ b/dist/xeokit-sdk.es5.js @@ -2979,7 +2979,7 @@ _this18._initMarkerDiv();_this18._onMouseHoverSurface=null;_this18._onHoverNothi */function get(){return this._snapping;}/** * Activates this AngleMeasurementsMouseControl, ready to respond to input. */,set:function set(snapping){if(snapping!==this._snapping){this._snapping=snapping;this.deactivate();this.activate();}else{this._snapping=snapping;}}},{key:"activate",value:function activate(){var _this19=this;if(this._active){return;}if(!this.markerDiv){this._initMarkerDiv();// if the marker is destroyed after deactivation, we recreate it -}this.angleMeasurementsPlugin;var scene=this.scene;scene.input;var canvas=scene.canvas.canvas;var clickTolerance=20;var cameraControl=this.angleMeasurementsPlugin.viewer.cameraControl;var pointerLens=this.pointerLens;var mouseHovering=false;var mouseHoverEntity=false;var lastMouseCanvasX=0;var lastMouseCanvasY=0;var mouseWorldPos=math.vec3();var mouseHoverCanvasPos=math.vec2();this._currentAngleMeasurement=null;this._onMouseHoverSurface=cameraControl.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",function(event){if(event.snappedToVertex||event.snappedToEdge){if(pointerLens){pointerLens.visible=true;pointerLens.canvasPos=event.canvasPos;pointerLens.snappedCanvasPos=event.snappedCanvasPos||event.canvasPos;pointerLens.snapped=true;}_this19.markerDiv.style.background="greenyellow";_this19.markerDiv.style.border="2px solid green";}else{if(pointerLens){pointerLens.visible=true;pointerLens.canvasPos=event.canvasPos;pointerLens.snappedCanvasPos=event.canvasPos;pointerLens.snapped=false;}_this19.markerDiv.style.background="pink";_this19.markerDiv.style.border="2px solid red";}var canvasPos=event.snappedCanvasPos||event.canvasPos;mouseHovering=true;mouseHoverEntity=event.entity;mouseWorldPos.set(event.worldPos);mouseHoverCanvasPos.set(canvasPos);switch(_this19._mouseState){case MOUSE_FINDING_ORIGIN:_this19.markerDiv.style.marginLeft="".concat(canvasPos[0]-5,"px");_this19.markerDiv.style.marginTop="".concat(canvasPos[1]-5,"px");break;case MOUSE_FINDING_CORNER:if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.originWireVisible=true;_this19._currentAngleMeasurement.targetWireVisible=false;_this19._currentAngleMeasurement.cornerVisible=true;_this19._currentAngleMeasurement.angleVisible=false;_this19._currentAngleMeasurement.corner.worldPos=event.worldPos;}_this19.markerDiv.style.marginLeft="-10000px";_this19.markerDiv.style.marginTop="-10000px";canvas.style.cursor="pointer";break;case MOUSE_FINDING_TARGET:if(_this19._currentAngleMeasurement){_this19._currentAngleMeasurement.targetWireVisible=true;_this19._currentAngleMeasurement.targetVisible=true;_this19._currentAngleMeasurement.angleVisible=true;_this19._currentAngleMeasurement.target.worldPos=event.worldPos;}_this19.markerDiv.style.marginLeft="-10000px";_this19.markerDiv.style.marginTop="-10000px";canvas.style.cursor="pointer";break;}});canvas.addEventListener('mousedown',this._onMouseDown=function(e){if(e.which!==1){return;}lastMouseCanvasX=e.clientX;lastMouseCanvasY=e.clientY;});canvas.addEventListener("mouseup",this._onMouseUp=function(e){if(e.which!==1){return;}if(e.clientX>lastMouseCanvasX+clickTolerance||e.clientXlastMouseCanvasY+clickTolerance||e.clientYlastMouseCanvasX+clickTolerance||e.clientXlastMouseCanvasY+clickTolerance||e.clientYpointerDownCanvasX+clickTolerance||e.clientXpointerDownCanvasY+clickTolerance||e.clientYpointerDownCanvasX+clickTolerance||e.clientXpointerDownCanvasY+clickTolerance||e.clientYa,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new r(e||2),vec3:e=>new r(e||3),vec4:e=>new r(e||4),mat3:e=>new r(e||9),mat3ToMat4:(e,t=new r(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new r(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new r(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new r(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>h.dotVec4(e,e),lenVec4:e=>Math.sqrt(h.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>h.dotVec3(e,e),sqLenVec2:e=>h.dotVec2(e,e),lenVec3:e=>Math.sqrt(h.sqLenVec3(e)),distVec3:(()=>{const e=new r(3);return(t,s)=>h.lenVec3(h.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(h.sqLenVec2(e)),distVec2:(()=>{const e=new r(2);return(t,s)=>h.lenVec2(h.subVec2(t,s,e))})(),rcpVec3:(e,t)=>h.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/h.lenVec4(e);return h.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/h.lenVec3(e);return h.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/h.lenVec2(e);return h.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=h.dotVec3(e,t)/Math.sqrt(h.sqLenVec3(e)*h.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new r(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=h.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=h.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=h.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||h.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>h.m4s(0),setMat4ToOnes:()=>h.m4s(1),diagonalMat4v:e=>new r([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>h.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>h.diagonalMat4c(e,e,e,e),identityMat4:(e=new r(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new r(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),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),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>h.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new r(9));const n=e[0],i=e[3],a=e[6],l=e[1],o=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=l*A+o*I+c*v,s[4]=l*d+o*y+c*w,s[7]=l*f+o*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=h.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else 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];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||h.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||h.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.translationMat4v(e,i))})(),translationMat4s:(e,t)=>h.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>h.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=h.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,p,A,d,f,I;return u=l*o,p=o*c,A=c*l,d=l*i,f=o*i,I=c*i,(s=s||h.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*A-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*p+d,s[7]=0,s[8]=r*A+f,s[9]=r*p-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>h.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=h.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=h.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>h.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=h.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,p=n*o,A=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=p+v,s[2]=A-m,s[3]=0,s[4]=p-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=A+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=h.vec4()){const n=h.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],p=e[6],A=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,A),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(p,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,A),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(p,-1,1)),Math.abs(p)<.99999?(s[1]=Math.atan2(-u,A),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(p,A),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,A))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(p,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,A),s[1]=0)),s},composeMat4:(e,t,s,n=h.mat4())=>(h.quaternionToRotationMat4(t,n),h.scaleMat4v(s,n),h.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new r(3),t=new r(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=h.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=h.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=h.lenVec3(e);h.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,p=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=p,t[9]*=p,t[10]*=p,h.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=h.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],p=t[1],A=t[2];if(i===u&&a===p&&r===A)return h.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-p,I=r-A,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>h.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=h.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];h.addVec4(i,n,o),h.subVec4(i,n,c);const a=2*n[2],r=c[0],l=c[1],u=c[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=o[0]/r,s[9]=o[1]/l,s[10]=-o[2]/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/u,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],h.frustumMat4v(a,r,i)},compareMat4:(e,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]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=h.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new r(16),t=new r(16),s=new r(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||h.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||h.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=h.vec4()){const n=e[0]*h.DEGTORAD/2,i=e[1]*h.DEGTORAD/2,a=e[2]*h.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),p=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"YXZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"ZXY"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"ZYX"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"YZX"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o-c*u*p):"XZY"===t&&(s[0]=c*l*o-r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o+c*u*p),s},mat4ToQuaternion(e,t=h.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let p;const A=s+r+u;return A>0?(p=.5/Math.sqrt(A+1),t[3]=.25/p,t[0]=(c-l)*p,t[1]=(i-o)*p,t[2]=(a-n)*p):s>r&&s>u?(p=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/p,t[0]=.25*p,t[1]=(n+a)/p,t[2]=(i+o)/p):r>u?(p=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/p,t[0]=(n+a)/p,t[1]=.25*p,t[2]=(l+c)/p):(p=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/p,t[0]=(i+o)/p,t[1]=(l+c)/p,t[2]=.25*p),t},vec3PairToQuaternion(e,t,s=h.vec4()){const n=Math.sqrt(h.dotVec3(e,e)*h.dotVec3(t,t));let i=n+h.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):h.cross3Vec3(e,t,s),s[3]=i,h.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=h.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new r(16);return(t,s,n)=>(n=n||h.vec3(),h.quaternionToRotationMat4(t,e),h.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=h.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,p=c*i+o*n-r*a,A=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+p*-o-A*-l,s[1]=p*c+d*-l+A*-r-u*-o,s[2]=A*c+d*-o+u*-l-p*-r,s},quaternionToMat4(e,t){t=h.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,p=o*a,A=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+p,t[2]=f-u,t[4]=d-p,t[5]=1-(A+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(A+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=h.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>h.normalizeQuaternion(h.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=h.vec4()){const s=(e=h.normalizeQuaternion(e,u))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new r(e||6),AABB2:e=>new r(e||4),OBB3:e=>new r(e||32),OBB2:e=>new r(e||16),Sphere3:(e,t,s,n)=>new r([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new r(3),t=new r(3),s=new r(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],h.subVec3(t,e,s),Math.abs(h.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=h.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],p=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>p?u:p,Math.abs(h.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||h.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||h.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=h.AABB3())=>(e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MAX_DOUBLE,e[3]=h.MIN_DOUBLE,e[4]=h.MIN_DOUBLE,e[5]=h.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=h.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new r(3);return(t,s,n)=>{s=s||h.AABB3();let i,a,r,l=h.MAX_DOUBLE,o=h.MAX_DOUBLE,c=h.MAX_DOUBLE,u=h.MIN_DOUBLE,p=h.MIN_DOUBLE,A=h.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>p&&(p=a),r>A&&(A=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=p,s[5]=A,s}})(),OBB3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new r(3);return(t,s)=>{s=s||h.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=p);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ip&&(p=u);return n[3]=p,n}})(),getSphere3Center:(e,t=h.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=h.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MIN_DOUBLE,e[3]=h.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=h.AABB2()){let s,n,i,a,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=h.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,p=r*l-i*c,A=i*o-a*l,d=Math.sqrt(u*u+p*p+A*A);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=p/d,n[2]=A/d),n},rayTriangleIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3);return(a,r,l,o,c,u)=>{u=u||h.vec3();const p=h.subVec3(o,l,e),A=h.subVec3(c,l,t),d=h.cross3Vec3(r,A,s),f=h.dotVec3(p,d);if(f<1e-6)return null;const I=h.subVec3(a,l,n),y=h.dotVec3(I,d);if(y<0||y>f)return null;const m=h.cross3Vec3(I,p,i),v=h.dotVec3(r,m);if(v<0||y+v>f)return null;const w=h.dotVec3(A,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3);return(i,a,r,l,o,c)=>{c=c||h.vec3(),a=h.normalizeVec3(a,e);const u=h.subVec3(l,r,t),p=h.subVec3(o,r,s),A=h.cross3Vec3(u,p,n);h.normalizeVec3(A,A);const d=-h.dotVec3(r,A),f=-(h.dotVec3(i,A)+d)/h.dotVec3(a,A);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i,a,r,l)=>{const o=h.subVec3(r,i,e),c=h.subVec3(a,i,t),u=h.subVec3(n,i,s),p=h.dotVec3(o,o),A=h.dotVec3(o,c),d=h.dotVec3(o,u),f=h.dotVec3(c,c),I=h.dotVec3(c,u),y=p*f-A*A;if(0===y)return null;const m=1/y,v=(f*d-A*I)*m,w=(p*I-A*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=h.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3);return(r,l,o)=>{let c,u;const p=new Array(r.length/3);let A,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3),l=new r(3);return(r,o,c)=>{const u=new Float32Array(r.length);for(let p=0;p>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,p;const A=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new r(4),t=new r(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,h.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],h.transformVec3(s,e,t),h.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new r(16),t=new r(16),s=new r(4),n=new r(4),i=new r(4),a=new r(4);return(r,l,o,c,u,p)=>{const A=h.mulMat4(o,l,e),d=h.inverseMat4(A,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,h.transformVec4(d,s,n),h.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,h.transformVec4(d,i,a),h.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],h.subVec3(a,n,p),h.normalizeVec3(p)}})(),canvasPosToLocalRay:(()=>{const e=new r(3),t=new r(3);return(s,n,i,a,r,l,o)=>{h.canvasPosToWorldRay(s,n,i,r,e,t),h.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new r(16),t=new r(4),s=new r(4);return(n,i,a,r,l)=>{const o=h.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],h.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const l=new r(6),o={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:l};let c,u;for(l[0]=l[1]=l[2]=Number.POSITIVE_INFINITY,l[3]=l[4]=l[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cl[3]&&(l[3]=i[t]),i[t+1]l[4]&&(l[4]=i[t+1]),i[t+2]l[5]&&(l[5]=i[t+2])}}if(s.length<20||a>10)return o.triangles=s,o.leaf=!0,o;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),o.splitDim=p;const A=(l[p]+l[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};h.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),h.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const d={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var f=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{w.removeItem(e.id),delete R.scenes[e.id],delete v[e.id],d.components.scenes--}))},this.clear=function(){let e;for(const t in R.scenes)R.scenes.hasOwnProperty(t)&&(e=R.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete R.scenes[e.id]))},this.scheduleTask=function(e,t){g.push(e),g.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;g.length>0&&(e<0||n0&&b>0){var t=1e3/b;P+=t,T.push(t),T.length>=30&&(P-=T.shift()),d.frame.fps=Math.round(P/T.length)}!function(e){const t=R.runTasks(e+10),s=R.getNumTasks();d.frame.tasksRun=t,d.frame.tasksScheduled=s,d.frame.tasksBudget=10}(e),function(e){for(var t in E.time=e,R.scenes)if(R.scenes.hasOwnProperty(t)){var s=R.scenes[t];E.sceneId=t,E.startTime=s.startTime,E.deltaTime=null!=E.prevTime?E.time-E.prevTime:0,s.fire("tick",E,!0)}E.prevTime=e}(e),function(){const e=R.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=v[r],n||(n=v[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),D=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C);class _{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof _))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+m.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(m.isNumeric(s)||m.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+m.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+m.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+m.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():R.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class x{constructor(){this.planes=[new N,new N,new N,new N,new N,new N]}}function L(e,t,s){const n=h.mulMat4(s,t,S),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],p=n[7],A=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,p-o,I-A,w-y),e.planes[1].set(l+i,p+o,I+A,w+y),e.planes[2].set(l-a,p-c,I-d,w-m),e.planes[3].set(l+a,p+c,I+d,w+m),e.planes[4].set(l-r,p-u,I-f,w-v),e.planes[5].set(l+r,p+u,I+f,w+v)}function M(e,t){let s=x.INSIDE;const n=B,i=O;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return x.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=x.INTERSECT)}return s}x.INSIDE=0,x.INTERSECT=1,x.OUTSIDE=2;class F extends _{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=h.vec2(),this._canvasMarqueeCorner2=h.vec2(),this._canvasMarquee=h.AABB2(),this._marqueeFrustum=new x,this._marqueeFrustumProjMat=h.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==F.PICK_MODE_INSIDE&&e!==F.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===F.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=x.INTERSECT)=>{if(n===x.INTERSECT&&(n=M(this._marqueeFrustum,s.aabb)),n!==x.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,p=-(this._canvasMarquee[1]-i)*r+1,A=this.viewer.scene.camera.frustum.near*(17*l);h.frustumMat4(o,c,u*l,p*l,A,1e4,this._marqueeFrustumProjMat),L(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}F.PICK_MODE_INTERSECTS=0,F.PICK_MODE_INSIDE=1;class H{constructor(e,t,s){this.id=s&&s.id?s.id:e,this.viewer=t,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,t.addPlugin(this)}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const U=h.vec3(),G=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(n,t,s),h.setMat4Translation(n,s,a),a.slice()}}();function j(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function V(e,t,s,n=1e3){const i=h.getPositionsCenter(e,U),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(h.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){se.set(this._viewPos),se[3]=1,h.transformPoint4(this.scene.camera.projMatrix,se,ne);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+ne[0]/ne[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-ne[1]/ne[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof te?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),j(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ae{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class re{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class le{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var oe=h.vec3(),ce=h.vec3();class ue extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._cornerMarker=new ie(s,t.corner),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._cornerWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ae(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ae(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new le(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const A=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>A||f>A||I>A)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,p=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class Ae extends ie{constructor(e,t){if(super(e,t),this.plugin=t.plugin,this._container=t.container,!this._container)throw"config missing: container";if(!t.markerElement&&!t.markerHTML)throw"config missing: need either markerElement or markerHTML";if(!t.labelElement&&!t.labelHTML)throw"config missing: need either labelElement or labelHTML";this._htmlDirty=!1,t.markerElement?(this._marker=t.markerElement,this._marker.addEventListener("click",this._onMouseClickedExternalMarker=()=>{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

";m.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._marker=t.firstChild,this._container.appendChild(this._marker),this._marker.style.visibility=this._markerShown?"visible":"hidden",this._marker.addEventListener("click",(()=>{this.plugin.fire("markerClicked",this)})),this._marker.addEventListener("mouseenter",(()=>{this.plugin.fire("markerMouseEnter",this)})),this._marker.addEventListener("mouseleave",(()=>{this.plugin.fire("markerMouseLeave",this)})),this._marker.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}if(!this._labelExternal){this._label&&(this._container.removeChild(this._label),this._label=null);let e=this._labelHTML||"

";m.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const de=h.vec3(),fe=h.vec3(),Ie=h.vec3();class ye extends _{get type(){return"Spinner"}constructor(e,t={}){super(e,t),this._canvas=t.canvas,this._element=null,this._isCustom=!1,t.elementId&&(this._element=document.getElementById(t.elementId),this._element?this._adjustPosition():this.error("Can't find given Spinner HTML element: '"+t.elementId+"' - will automatically create default element")),this._element||this._createDefaultSpinner(),this.processes=0}_createDefaultSpinner(){this._injectDefaultCSS();const e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const me=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class ve extends _{constructor(e,t={}){super(e,t),this._backgroundColor=h.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new ye(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+h.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?ge.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?ge.FS_MAX_FLOAT_PRECISION="mediump":ge.FS_MAX_FLOAT_PRECISION="lowp":ge.FS_MAX_FLOAT_PRECISION="mediump",ge.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),ge.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),ge.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),ge.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),ge.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),ge.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),ge.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),ge.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),ge.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),ge.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){ge.SUPPORTED_EXTENSIONS[e]=!0})))}class Te{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class be{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function _e(e){console.error(e.join("\n"))}class Be{constructor(e,t){this.id=Re.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new be(e,e.VERTEX_SHADER,Ce(this.source.vertex)),this._fragmentShader=new be(e,e.FRAGMENT_SHADER,Ce(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void _e(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void _e(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void _e(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Se{constructor(e,t){this.scene=e,this.aabb=h.AABB3(),this.origin=h.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Se(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Se(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Be(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,p=this._getInverseProjectMat(),A=Math.random(),d="perspective"===n.camera.projection;Me[0]=a,Me[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,p),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,Me),t.uniform1f(this._uRandomSeed,A);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Be(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new Oe(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new Oe(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const He=new Float32Array(Qe(17,[0,1])),Ue=new Float32Array(Qe(17,[1,0])),Ge=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(ke(n,t));return s}(17,4)),je=new Float32Array(2);class Ve{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Be(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Oe(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),je[0]=r,je[1]=l,n.uniform2fv(this._uViewport,je),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,Ue):n.uniform2fv(this._uSampleOffsets,He),n.uniform1fv(this._uSampleWeights,Ge);const p=e.getDepthTexture(),A=t.getTexture();i.bindTexture(this._uDepthTexture,p,0),i.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function ke(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Qe(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class We{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class ze{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new We(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function Ke(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const Ye=function(t,s){s=s||{};const n=new we(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},p=!0,A=!0,f=!0,I=!0,y=!0,m=!0,v=!0,w=!0;const g=new ze(t);let E=!1;const T=new Fe(t),b=new Ve(t);function D(){p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),p=!1,A=!0),A&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),A=!1,f=!0),f&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=A.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=h.normalizeVec3([t[0]/h.MAX_INT,t[1]/h.MAX_INT,t[2]/h.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Le(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const qe=new e({});class Je{constructor(e){this.id=qe.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){qe.removeItem(this.id)}}class Ze extends _{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new Je({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class $e extends _{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),h.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class et extends _{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),h.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class tt extends _{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){h.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class st extends _{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const nt=h.vec3(),it=h.vec3(),at=h.vec3(),rt=h.vec3(),lt=h.vec3(),ot=h.vec3(),ct=h.vec4(),ut=h.vec4(),ht=h.vec4(),pt=h.mat4(),At=h.mat4(),dt=h.vec3(),ft=h.vec3(),It=h.vec3(),yt=h.vec3();class mt extends _{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new Je({deviceMatrix:h.mat4(),hasDeviceMatrix:!1,matrix:h.mat4(),normalMatrix:h.mat4(),inverseMatrix:h.mat4()}),this._perspective=new $e(this),this._ortho=new et(this),this._frustum=new tt(this),this._customProjection=new st(this),this._project=this._perspective,this._eye=h.vec3([0,0,10]),this._look=h.vec3([0,0,0]),this._up=h.vec3([0,1,0]),this._worldUp=h.vec3([0,1,0]),this._worldRight=h.vec3([1,0,0]),this._worldForward=h.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(h.subVec3(this._eye,this._look,dt),h.normalizeVec3(dt,ft),h.mulVec3Scalar(ft,1e3,It),h.addVec3(this._look,It,yt),t=yt):t=this._eye,e.hasDeviceMatrix?(h.lookAtMat4v(t,this._look,this._up,At),h.mulMat4(e.deviceMatrix,At,e.matrix)):h.lookAtMat4v(t,this._look,this._up,e.matrix),h.inverseMat4(this._state.matrix,this._state.inverseMatrix),h.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=h.subVec3(this._eye,this._look,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.eye=h.addVec3(this._look,t,at),this.up=h.transformPoint3(pt,this._up,rt)}orbitPitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._eye,this._look,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),t=h.transformPoint3(pt,t,rt),this.up=h.transformPoint3(pt,this._up,lt),this.eye=h.addVec3(t,this._look,ot)}yaw(e){let t=h.subVec3(this._look,this._eye,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.look=h.addVec3(t,this._eye,at),this._gimbalLock&&(this.up=h.transformPoint3(pt,this._up,rt))}pitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._look,this._eye,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),this.up=h.transformPoint3(pt,this._up,ot),t=h.transformPoint3(pt,t,rt),this.look=h.addVec3(t,this._eye,lt)}pan(e){const t=h.subVec3(this._eye,this._look,nt),s=[0,0,0];let n;if(0!==e[0]){const i=h.cross3Vec3(h.normalizeVec3(t,[]),h.normalizeVec3(this._up,it));n=h.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=h.mulVec3Scalar(h.normalizeVec3(this._up,at),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=h.mulVec3Scalar(h.normalizeVec3(t,rt),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=h.addVec3(this._eye,s,lt),this.look=h.addVec3(this._look,s,ot)}zoom(e){const t=h.subVec3(this._eye,this._look,nt),s=Math.abs(h.lenVec3(t,it)),n=Math.abs(s+e);if(n<.5)return;const i=h.normalizeVec3(t,at);this.eye=h.addVec3(this._look,h.mulVec3Scalar(i,n),rt)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=h.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return h.lenVec3(h.subVec3(this._look,this._eye,nt))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=ct,s=ut,n=ht;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,h.mulMat4v4(this.viewMatrix,t,s),h.mulMat4v4(this.projMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class vt extends _{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class wt extends vt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new Je({type:"dir",dir:h.vec3([1,1,1]),color:h.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=h.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];h.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=h.identityMat4()),h.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new We(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class gt extends vt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:h.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class Et extends _{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),d.memory.meshes++}destroy(){super.destroy(),d.memory.meshes--}}var Tt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const bt=function(){const e=h.mat4(),t=h.mat4();return function(s,n){n=n||h.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return h.identityMat4(e),h.translationMat4v(s,e),h.identityMat4(t),h.scalingMat4v([l/u,o/u,c/u],t),h.mulMat4(e,t,n),n}}();var Dt=function(){const e=h.mat4(),t=h.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Ct(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function _t(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Bt={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=Rt(e,l,"floor","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),s=Rt(e,l,"ceil","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ot=d.memory,St=h.AABB3();class Nt extends Et{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Bt.getPositionsBounds(t.positions),n=Bt.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Bt.getUVBounds(t.uv),n=Bt.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Bt.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ot.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ot.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ot.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ot.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ot.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Oe(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ot.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Tt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ot.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=h.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ot.positions+=this._pickTrianglePositionsBuf.numItems,Ot.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Bt.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Bt.getPositionsBounds(e),n=Bt.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Bt.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Bt.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=h.AABB3()),h.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=h.OBB3()),h.positions3ToAABB3(this._state.positions,St,this._state.positionsDecodeMatrix),h.AABB3ToOBB3(St,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ot.meshes--}}function xt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return m.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Lt extends _{get type(){return"Material"}constructor(e,t={}){super(e,t),d.memory.materials++}destroy(){super.destroy(),d.memory.materials--}}const Mt={opaque:0,mask:1,blend:2},Ft=["opaque","mask","blend"];class Ht extends Lt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new Je({type:"PhongMaterial",ambient:h.vec3([1,1,1]),diffuse:h.vec3([1,1,1]),specular:h.vec3([1,1,1]),emissive:h.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=Mt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Ft[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const Ut={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Gt extends Lt{get type(){return"EmphasisMaterial"}get presets(){return Ut}constructor(e,t={}){super(e,t),this._state=new Je({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=Ut[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ut).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const jt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Vt extends Lt{get type(){return"EdgeMaterial"}get presets(){return jt}constructor(e,t={}){super(e,t),this._state=new Je({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=jt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(jt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const kt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Qt extends _{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=h.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return kt}set units(e){e||(e="meters");kt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=h.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=h.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Wt extends _{constructor(e,t={}){super(e,t),this._supported=ge.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const zt={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class Kt extends Lt{get type(){return"PointsMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new Je({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class Xt extends Lt{get type(){return"LinesMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new Je({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function qt(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new Ye(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=h.vec4([0,0,0,0]),t=h.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+m.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=h.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],m.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&R.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=qt(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=qt(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=h.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){m.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const Zt=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=ts(e),p=n.getNumAllocatedSectionPlanes()>0,A=es(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=ts(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=es(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+$t[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+$t[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+$t[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+$t[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+$t[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+$t[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class rs{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ls=new e({}),os=h.vec3(),cs=function(e,t){this.id=ls.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new rs(t),this._allocate(t)},us={};cs.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=us[t];return s||(s=new cs(t,e),us[t]=s,d.memory.programs++),s._useCount++,s},cs.prototype.put=function(){0==--this._useCount&&(ls.removeItem(this.id),this._program&&this._program.destroy(),delete us[this._hash],d.memory.programs--)},cs.prototype.webglContextRestored=function(){this._program=null},cs.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ps=new e({}),As=h.vec3(),ds=function(e,t){this.id=ps.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new hs(t),this._allocate(t)},fs={};ds.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=fs[t];return s||(s=new ds(t,e),fs[t]=s,d.memory.programs++),s._useCount++,s},ds.prototype.put=function(){0==--this._useCount&&(ps.removeItem(this.id),this._program&&this._program.destroy(),delete fs[this._hash],d.memory.programs--)},ds.prototype.webglContextRestored=function(){this._program=null},ds.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const ys=h.vec3(),ms=function(e,t){this._hash=e,this._shaderSource=new Is(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},vs={};ms.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=vs[t];if(!s){if(s=new ms(t,e),s.errors)return console.log(s.errors.join("\n")),null;vs[t]=s,d.memory.programs++}return s._useCount++,s},ms.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete vs[this._hash],d.memory.programs--)},ms.prototype.webglContextRestored=function(){this._program=null},ms.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},ms.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const gs=h.vec3(),Es=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new ws(t),this._allocate(t)},Ts={};Es.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Ts[t];if(!s){if(s=new Es(t,e),s.errors)return console.log(s.errors.join("\n")),null;Ts[t]=s,d.memory.programs++}return s._useCount++,s},Es.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ts[this._hash],d.memory.programs--)},Es.prototype.webglContextRestored=function(){this._program=null},Es.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Ds=h.vec3(),Ps=function(e,t){this._hash=e,this._shaderSource=new bs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Rs={};Ps.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Rs[t];if(!s){if(s=new Ps(t,e),s.errors)return console.log(s.errors.join("\n")),null;Rs[t]=s,d.memory.programs++}return s._useCount++,s},Ps.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Rs[this._hash],d.memory.programs--)},Ps.prototype.webglContextRestored=function(){this._program=null},Ps.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const _s=function(e,t){this._hash=e,this._shaderSource=new Cs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Bs={};_s.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Bs[s];if(!n){if(n=new _s(s,e),n.errors)return console.log(n.errors.join("\n")),null;Bs[s]=n,d.memory.programs++}return n._useCount++,n},_s.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Bs[this._hash],d.memory.programs--)},_s.prototype.webglContextRestored=function(){this._program=null},_s.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},_s.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const ks=function(){const e=h.vec3(),t=h.vec3(),s=h.vec3(),n=h.vec3(),i=h.vec3(),a=h.vec3(),r=h.vec4(),l=h.vec3(),o=h.vec3(),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3(),y=h.vec4(),m=h.vec4(),v=h.vec4(),w=h.vec3(),g=h.vec3(),E=h.vec3(),T=h.vec3(),b=h.vec3(),D=h.vec3(),P=h.vec3(),R=h.vec3(),C=h.vec3(),_=h.vec3(),B=h.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,j=O.scene,V=j.camera,k=j.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const j=L,Q=U.indices,W=U.positions;let z,K,Y;if(Q){var M=Q[j+0],F=Q[j+1],H=Q[j+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*j,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Bt.decompressPosition(s,e,s),Bt.decompressPosition(n,e,n),Bt.decompressPosition(i,e,i))}x.canvasPos?h.canvasPosToLocalRay(k.canvas,O.origin?G(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&h.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),h.normalizeVec3(t),h.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,h.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,h.transformVec4(V.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,h.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Bt.decompressNormal(X.subarray(e,e+2),u),Bt.decompressNormal(X.subarray(t,t+2),p),Bt.decompressNormal(X.subarray(s,s+2),A)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],p[0]=X[K],p[1]=X[K+1],p[2]=X[K+2],A[0]=X[Y],A[1]=X[Y+1],A[2]=X[Y+2];const e=h.addVec3(h.addVec3(h.mulVec3Scalar(u,c[0],w),h.mulVec3Scalar(p,c[1],g),E),h.mulVec3Scalar(A,c[2],T),b);x.worldNormal=h.normalizeVec3(h.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Bt.decompressUV(d,e,d),Bt.decompressUV(f,e,f),Bt.decompressUV(I,e,I))}x.uv=h.addVec3(h.addVec3(h.mulVec2Scalar(d,c[0],P),h.mulVec2Scalar(f,c[1],R),C),h.mulVec2Scalar(I,c[2],_),B)}}}}}();function Qs(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],v=[],w=[];let g,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(g=0;g<=a;g++)for(D=t-g*f,P=h-g*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),v.push(E*d),v.push(1*g/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(g=0;g0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),v.push(B),v.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),v.push(B),v.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function Ks(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;m.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,v=(o||"").split("\n"),w=0,g=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=An(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=An(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=An(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,yn(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,yn(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,An(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,An(s,this.magFilter)));const l=An(s,this.format,this.encoding),o=An(s,this.type),c=In(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class gn extends _{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new Je({texture:new fn({gl:this.scene.canvas.gl}),matrix:h.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=h.vec2([0,0]),this._scale=h.vec2([1,1]),this._rotate=h.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),d.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new fn({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=h.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=h.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?h.mulMat4(t,s):s),0!==this._rotate&&(s=h.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?h.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=mn(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=mn(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),d.memory.textures--}}const En=d.memory,Tn=h.AABB3();class bn extends Et{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=h.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Bt.getPositionsBounds(t.positions),a=Bt.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new Oe(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),En.positions+=s.positionsBuf.numItems,h.positions3ToAABB3(t.positions,this._aabb),h.positions3ToAABB3(i,Tn,s.positionsDecodeMatrix),h.AABB3ToOBB3(Tn,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),En.colors+=s.colorsBuf.numItems}if(t.uv){const e=Bt.getUVBounds(t.uv),i=Bt.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new Oe(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),En.uvs+=s.uvBuf.numItems}if(t.normals){const e=Bt.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),En.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),En.indices+=s.indicesBuf.numItems;const a=Tt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),En.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),En.meshes--}}var Dn={};function Pn(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return m.apply(e,{primitive:"lines",positions:a,indices:r})}function Rn(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),v=new Float32Array(A*d*3),w=new Float32Array(A*d*2);let g,E,T,b,D,P,R,C=0,_=0;for(g=0;g65535?Uint32Array:Uint16Array)(h*p*6);for(g=0;g360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],p=[],A=[],d=[];let f,I,y,v,w,g,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),v=(t+s*Math.cos(I))*Math.sin(f),w=s*Math.sin(I),u.push(y+l),u.push(v+o),u.push(w+c),A.push(1-E/n),A.push(T/i),g=h.normalizeVec3(h.subVec3([y,v,w],[l,o,c],[]),[]),p.push(g[0]),p.push(g[1]),p.push(g[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return m.apply(e,{positions:u,normals:p,uv:A,indices:d})}Dn.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Dn.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Dn.parse._buffToStr(e));window.location.href=s},Dn.clone=function(e){return JSON.parse(JSON.stringify(e))},Dn.bin={},Dn.bin.f=new Float32Array(1),Dn.bin.fb=new Uint8Array(Dn.bin.f.buffer),Dn.bin.rf=function(e,t){for(var s=Dn.bin.f,n=Dn.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Dn.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Dn.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Dn.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Dn.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Dn.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Dn.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Dn.parse={},Dn.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class _n extends _{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=h.vec3(t.pos||[0,0,0]),this._up=h.vec3(t.up||[0,1,0]),this._normal=h.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=h.vec3(),this._rtcPos=h.vec3(),this._imageSize=h.vec2(),this._texture=new gn(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new an(this,{matrix:h.inverseMat4(h.lookAtMat4v(this._pos,h.subVec3(this._pos,this._normal,h.mat4()),this._up,h.mat4())),children:[this._bitmapMesh=new Vs(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Nt(this,Rn({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Ht(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class Bn extends _{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=h.vec3(),i=V(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;e{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class jn extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ae(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ae(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ae(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ae(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new le(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new le(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new le(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new le(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],p=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var A=0,d=n.length;A{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red")):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class Qn{constructor(){}getMetaModel(e,t,s){m.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class Wn{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=zn(e,s);return n?t?Kn(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=zn(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Kn(i,[t]),s&&(i=Kn(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function zn(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=h.subVec3(a,i,[]);return h.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=h.lenVec3(h.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class Xn extends Yn{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=h.vec3();return c[0]=h.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=h.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=h.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const qn=h.vec3();const Jn=h.vec3(),Zn=h.vec3(),$n=h.vec3(),ei=h.vec3(),ti=h.vec3();class si extends _{get type(){return"CameraFlightAnimation"}constructor(e,t={}){super(e,t),this._look1=h.vec3(),this._eye1=h.vec3(),this._up1=h.vec3(),this._look2=h.vec3(),this._eye2=h.vec3(),this._up2=h.vec3(),this._orthoScale1=1,this._orthoScale2=1,this._flying=!1,this._flyEyeLookUp=!1,this._flyingEye=!1,this._flyingLook=!1,this._callback=null,this._callbackScope=null,this._time1=null,this._time2=null,this.easing=!1!==t.easing,this.duration=t.duration,this.fit=t.fit,this.fitFOV=t.fitFOV,this.trail=t.trail}flyTo(e,t,s){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=s;const n=this.scene.camera,i=!!e.projection&&e.projection!==n.projection;let a,r,l,o,c;if(this._eye1[0]=n.eye[0],this._eye1[1]=n.eye[1],this._eye1[2]=n.eye[2],this._look1[0]=n.look[0],this._look1[1]=n.look[1],this._look1[2]=n.look[2],this._up1[0]=n.up[0],this._up1[1]=n.up[1],this._up1[2]=n.up[2],this._orthoScale1=n.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)a=e.aabb;else if(6===e.length)a=e;else if(e.eye&&e.look||e.up)r=e.eye,l=e.look,o=e.up;else if(e.eye)r=e.eye;else if(e.look)l=e.look;else{let n=e;if((m.isNumeric(n)||m.isString(n))&&(c=n,n=this.scene.components[c],!n))return this.error("Component not found: "+m.inQuotes(c)),void(t&&(s?t.call(s):t()));i||(a=n.aabb||this.scene.aabb)}const u=e.poi;if(a){if(a[3]=1;e>1&&(e=1);const s=this.easing?si._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(h.subVec3(n.eye,n.look,ti),n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.subVec3($n,ti,Zn)):this._flyingLook&&(n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)):this._flyingEyeLookUp&&(n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)),this._projection2){const t="ortho"===this._projection2?si._easeOutExpo(e,0,1,1):si._easeInCubic(e,0,1,1);n.customProjection.matrix=h.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();R.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class ni extends _{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new si(this),this._t=0,this.state=ni.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case ni.SCRUBBING:return;case ni.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=ni.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case ni.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=ni.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=ni.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=ni.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=ni.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=ni.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=ni.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=ni.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}ni.STOPPED=0,ni.SCRUBBING=1,ni.PLAYING=2,ni.PLAYING_TO=3;const ii=h.vec3(),ai=h.vec3();h.vec3();const ri=h.vec3([0,-1,0]),li=h.vec4([0,0,0,1]);function oi(e){if(!ci(e.width)||!ci(e.height)){const t=document.createElement("canvas");t.width=ui(e.width),t.height=ui(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ci(e){return 0==(e&e-1)}function ui(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class hi extends _{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new Je({texture:new fn({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),d.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ai=h.vec3();const di=h.vec3();class fi{constructor(){this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsHasColorize=[],this.objectsOpacity=[],this.numObjects=0}saveObjects(e,t){this.numObjects=0,this._mask=t?m.apply(t,{}):null;const s=e.objects,n=!t||t.visible,i=!t||t.edges,a=!t||t.xrayed,r=!t||t.highlighted,l=!t||t.selected,o=!t||t.clippable,c=!t||t.pickable,u=!t||t.colorize,h=!t||t.opacity;for(let e in s)if(s.hasOwnProperty(e)){const t=s[e],p=this.numObjects;if(n&&(this.objectsVisible[p]=t.visible),i&&(this.objectsEdges[p]=t.edges),a&&(this.objectsXrayed[p]=t.xrayed),r&&(this.objectsHighlighted[p]=t.highlighted),l&&(this.objectsSelected[p]=t.selected),o&&(this.objectsClippable[p]=t.clippable),c&&(this.objectsPickable[p]=t.pickable),u){const e=t.colorize;e?(this.objectsColorize[3*p+0]=e[0],this.objectsColorize[3*p+1]=e[1],this.objectsColorize[3*p+2]=e[2],this.objectsHasColorize[p]=!0):this.objectsHasColorize[p]=!1}h&&(this.objectsOpacity[p]=t.opacity),this.numObjects++}}restoreObjects(e){const t=this._mask,s=!t||t.visible,n=!t||t.edges,i=!t||t.xrayed,a=!t||t.highlighted,r=!t||t.selected,l=!t||t.clippable,o=!t||t.pickable,c=!t||t.colorize,u=!t||t.opacity;var h=0;const p=e.objects;for(let e in p)if(p.hasOwnProperty(e)){const t=p[e];s&&(t.visible=this.objectsVisible[h]),n&&(t.edges=this.objectsEdges[h]),i&&(t.xrayed=this.objectsXrayed[h]),a&&(t.highlighted=this.objectsHighlighted[h]),r&&(t.selected=this.objectsSelected[h]),l&&(t.clippable=this.objectsClippable[h]),o&&(t.pickable=this.objectsPickable[h]),c&&(this.objectsHasColorize[h]?(di[0]=this.objectsColorize[3*h+0],di[1]=this.objectsColorize[3*h+1],di[2]=this.objectsColorize[3*h+2],t.colorize=di):t.colorize=null),u&&(t.opacity=this.objectsOpacity[h]),h++}}}const Ii=h.OBB3(),yi=h.OBB3(),mi=h.OBB3();class vi{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=h.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(h.AABB3ToOBB3(this._aabbLocal,Ii),this.transform?(h.transformOBB3(this.transform.worldMatrix,Ii,yi),h.transformOBB3(this.model.worldMatrix,yi,mi),h.OBB3ToAABB3(mi,this._aabbWorld)):(h.transformOBB3(this.model.worldMatrix,Ii,yi),h.OBB3ToAABB3(yi,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const wi=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let gi=0;const Ei={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},Ti=new Float32Array([1,1,1,1]),bi=new Float32Array([0,0,0,1]),Di=h.vec4(),Pi=h.vec3(),Ri=h.vec3(),Ci=h.mat4();class _i{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;Di[0]=s,Di[1]=n,Di[2]=t.blendCutoff,Di[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,Di),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?bi:Ti)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,d.memory.programs--}}class Bi extends _i{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Oi extends Bi{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class Si extends _i{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class Ni extends Si{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class xi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class Li extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class Mi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Fi extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Hi extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class Ui extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class ji extends Oi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Vi extends Oi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Qi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Wi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class zi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Yi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Xi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class qi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Zi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const sa=h.mat4(),na=h.mat4();function ia(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,p=65525,A=p/o,d=p/c,f=p/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function la(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const oa=h.vec3(),ca=h.vec3(),ua=h.vec3(),ha=h.vec3(),pa=h.mat4();class Aa extends _i{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=oa;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ca;if(o){const e=ua;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,pa),y=ha,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const da=h.vec3(),fa=h.vec3(),Ia=h.vec3(),ya=h.vec3(),ma=h.mat4();class va extends _i{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=da;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=fa;if(o){const e=Ia;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,ma),y=ya,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class wa{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ga={};const Ea=h.mat4(),Ta=h.mat4(),ba=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();const Da=h.vec3(),Pa=h.vec3(),Ra=h.vec3(),Ca=h.vec3(),_a=h.vec3(),Ba=h.vec3(),Oa=h.vec3();class Sa{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=ea[t];return s||(s=new $i(e),ea[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ea[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=ga[t];return s||(s=new wa(e),ga[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ga[t],s._destroy()}))),s}(e.model.scene),this._buffer=new ta(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({origin:h.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=h.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=h.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=h.collapseAABB3(),this.solid=!!e.solid}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)for(let e=0,t=a.length;e0){const e=Ea;y?h.inverseMat4(h.transposeMat4(y,Ta),e):h.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,p,A=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(p=0;pu&&(o=r,u=c),r=ra(d,"floor","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),r=ra(d,"ceil","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),n[i+p+0]=o[0],n[i+p+1]=o[1],n[i+p+2]=0}(e,i,i.length,w.normals,w.normals.length)}if(o)for(let e=0,t=o.length;e0)for(let e=0,t=r.length;e0)for(let e=0,t=l.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):ia(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=h.mat4());if(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new Oe(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Bt.getUVBounds(s.uv),i=Bt.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=h.mat3(i.decodeMatrix),e.uvBuf=new Oe(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new Oe(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&h.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class Na extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class xa extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ma extends Ni{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Fa extends Ni{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ha extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Ua extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ga extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class ja extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Va extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class ka extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Qa extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Wa={3e3:"linearToLinear",3001:"sRGBToLinear"};class za extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Wa[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Wa[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Ya extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const nr=h.vec3(),ir=h.vec3(),ar=h.vec3(),rr=h.vec3(),lr=h.mat4();class or extends _i{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=nr;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ir;if(o){const e=h.transformPoint3(u,o,ar);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,lr),y=rr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class cr{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ur={};const hr=new Uint8Array(4),pr=new Float32Array(1),Ar=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const dr=new Float32Array(3),fr=h.vec3(),Ir=h.vec3(),yr=h.vec3(),mr=h.vec3(),vr=h.vec3(),wr=h.vec3(),gr=h.vec3(),Er=new Float32Array(4);class Tr{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=qa[t];return s||(s=new Xa(e),qa[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete qa[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=ur[t];return s||(s=new cr(e),ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ur[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({numInstances:0,obb:h.OBB3(),origin:h.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new Oe(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new Oe(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=h.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";hr[0]=t[0],hr[1]=t[1],hr[2]=t[2],hr[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(hr,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?1:0)<<16,pr[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(pr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(dr[0]=t[0],dr[1]=t[1],dr[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(dr,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],p=Ar,A=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&h.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(h.transformVec3(l.normalMatrix,i,i),h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class br extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Dr extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Pr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new br(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Dr(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Rr={};class Cr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class _r{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Rr[t];return s||(s=new Pr(e),Rr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Rr[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Cr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Or extends Fi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Sr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Br(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Or(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Nr={};const xr=new Uint8Array(4),Lr=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const Mr=new Float32Array(3),Fr=new Float32Array(4);class Hr{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=Nr[t];return s||(s=new Sr(e),Nr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Nr[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,e.origin&&(this._state.origin=h.vec3(e.origin)),this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;this._state.colorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";xr[0]=t[0],xr[1]=t[1],xr[2]=t[2],xr[3]=t[3],this._state.colorsBuf.setData(xr,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,Lr[0]=A,this._state.flagsBuf.setData(Lr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Mr[0]=t[0],Mr[1]=t[1],Mr[2]=t[2],this._state.offsetsBuf.setData(Mr,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;Fr[0]=t[0],Fr[1]=t[4],Fr[2]=t[8],Fr[3]=t[12],this._state.modelMatrixCol0Buf.setData(Fr,s),Fr[0]=t[1],Fr[1]=t[5],Fr[2]=t[9],Fr[3]=t[13],this._state.modelMatrixCol1Buf.setData(Fr,s),Fr[0]=t[2],Fr[1]=t[6],Fr[2]=t[10],Fr[3]=t[14],this._state.modelMatrixCol2Buf.setData(Fr,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Ur extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Gr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class jr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Vr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class kr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Qr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Ur(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Gr(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new jr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Vr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new kr(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Wr={};class zr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}h.vec4(),h.vec4(),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class Kr{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Wr[t];return s||(s=new Qr(e),Wr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Wr[t],s._destroy()}))),s}(e.model.scene),this._buffer=new zr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Xr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class qr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Jr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Zr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class $r extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class el extends Li{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class tl{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Yr(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Xr(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new $r(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new qr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Jr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Zr(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new el(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const sl={};const nl=new Uint8Array(4),il=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const al=new Float32Array(3),rl=new Float32Array(4);class ll{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=sl[t];return s||(s=new tl(e),sl[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete sl[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:e.origin?h.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let n=!1;s.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new Oe(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=h.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";nl[0]=t[0],nl[1]=t[1],nl[2]=t[2],this._state.colorsBuf.setData(nl,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,il[0]=A,this._state.flagsBuf.setData(il,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(al[0]=t[0],al[1]=t[1],al[2]=t[2],this._state.offsetsBuf.setData(al,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;rl[0]=t[0],rl[1]=t[4],rl[2]=t[8],rl[3]=t[12],this._state.modelMatrixCol0Buf.setData(rl,s),rl[0]=t[1],rl[1]=t[5],rl[2]=t[9],rl[3]=t[13],this._state.modelMatrixCol1Buf.setData(rl,s),rl[0]=t[2],rl[1]=t[6],rl[2]=t[10],rl[3]=t[14],this._state.modelMatrixCol2Buf.setData(rl,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Ei.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Ei.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class ol{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class cl{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const ul={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class hl{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==dl[e])return void dl[e].push({onLoad:t,onProgress:s,onError:n});dl[e]=[],dl[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=dl[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{ul.add(e,t);const s=dl[e];delete dl[e];for(let e=0,n=s.length;e{const s=dl[e];if(void 0===s)throw this.manager.itemError(e),t;delete dl[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Il{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let yl=0;class ml{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new Il,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new fl;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new fl;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ml.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ml.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ml.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ml.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),yl>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),yl++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),yl--}}ml.BasisFormat={ETC1S:0,UASTC_4x4:1},ml.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ml.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ml.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete vl[t],s.destroy()}))),s} +"use strict";Object.defineProperty(exports,"__esModule",{value:!0});class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}const t=new e;class s{constructor(e){this.id=e,this.parentItem=null,this.groups=[],this.menuElement=null,this.shown=!1,this.mouseOver=0}}class n{constructor(){this.items=[]}}class i{constructor(e,t,s,n,i){this.id=e,this.getTitle=t,this.doAction=s,this.getEnabled=n,this.getShown=i,this.itemElement=null,this.subMenu=null,this.enabled=!0}}let a=!0,r=a?Float64Array:Float32Array;const l=new r(3),o=new r(16),c=new r(16),u=new r(4),h={setDoublePrecisionEnabled(e){a=e,r=a?Float64Array:Float32Array},getDoublePrecisionEnabled:()=>a,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new r(e||2),vec3:e=>new r(e||3),vec4:e=>new r(e||4),mat3:e=>new r(e||9),mat3ToMat4:(e,t=new r(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new r(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new r(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new r(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>h.dotVec4(e,e),lenVec4:e=>Math.sqrt(h.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>h.dotVec3(e,e),sqLenVec2:e=>h.dotVec2(e,e),lenVec3:e=>Math.sqrt(h.sqLenVec3(e)),distVec3:(()=>{const e=new r(3);return(t,s)=>h.lenVec3(h.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(h.sqLenVec2(e)),distVec2:(()=>{const e=new r(2);return(t,s)=>h.lenVec2(h.subVec2(t,s,e))})(),rcpVec3:(e,t)=>h.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/h.lenVec4(e);return h.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/h.lenVec3(e);return h.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/h.lenVec2(e);return h.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=h.dotVec3(e,t)/Math.sqrt(h.sqLenVec3(e)*h.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new r(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=h.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=h.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=h.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||h.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>h.m4s(0),setMat4ToOnes:()=>h.m4s(1),diagonalMat4v:e=>new r([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>h.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>h.diagonalMat4c(e,e,e,e),identityMat4:(e=new r(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new r(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),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),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>h.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new r(9));const n=e[0],i=e[3],a=e[6],l=e[1],o=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=l*A+o*I+c*v,s[4]=l*d+o*y+c*w,s[7]=l*f+o*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=h.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else 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];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||h.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||h.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.translationMat4v(e,i))})(),translationMat4s:(e,t)=>h.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>h.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=h.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,p,A,d,f,I;return u=l*o,p=o*c,A=c*l,d=l*i,f=o*i,I=c*i,(s=s||h.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*A-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*p+d,s[7]=0,s[8]=r*A+f,s[9]=r*p-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>h.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=h.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=h.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new r(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,h.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>h.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=h.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,p=n*o,A=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=p+v,s[2]=A-m,s[3]=0,s[4]=p-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=A+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=h.vec4()){const n=h.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],p=e[6],A=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,A),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(p,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,A),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(p,-1,1)),Math.abs(p)<.99999?(s[1]=Math.atan2(-u,A),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(p,A),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,A))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(p,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,A),s[1]=0)),s},composeMat4:(e,t,s,n=h.mat4())=>(h.quaternionToRotationMat4(t,n),h.scaleMat4v(s,n),h.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new r(3),t=new r(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=h.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=h.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=h.lenVec3(e);h.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,p=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=p,t[9]*=p,t[10]*=p,h.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=h.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],p=t[1],A=t[2];if(i===u&&a===p&&r===A)return h.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-p,I=r-A,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>h.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=h.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];h.addVec4(i,n,o),h.subVec4(i,n,c);const a=2*n[2],r=c[0],l=c[1],u=c[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=o[0]/r,s[9]=o[1]/l,s[10]=-o[2]/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/u,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=h.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],h.frustumMat4v(a,r,i)},compareMat4:(e,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]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=h.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new r(16),t=new r(16),s=new r(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||h.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||h.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=h.vec4()){const n=e[0]*h.DEGTORAD/2,i=e[1]*h.DEGTORAD/2,a=e[2]*h.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),p=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"YXZ"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"ZXY"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o-c*u*p):"ZYX"===t?(s[0]=c*l*o-r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o+c*u*p):"YZX"===t?(s[0]=c*l*o+r*u*p,s[1]=r*u*o+c*l*p,s[2]=r*l*p-c*u*o,s[3]=r*l*o-c*u*p):"XZY"===t&&(s[0]=c*l*o-r*u*p,s[1]=r*u*o-c*l*p,s[2]=r*l*p+c*u*o,s[3]=r*l*o+c*u*p),s},mat4ToQuaternion(e,t=h.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let p;const A=s+r+u;return A>0?(p=.5/Math.sqrt(A+1),t[3]=.25/p,t[0]=(c-l)*p,t[1]=(i-o)*p,t[2]=(a-n)*p):s>r&&s>u?(p=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/p,t[0]=.25*p,t[1]=(n+a)/p,t[2]=(i+o)/p):r>u?(p=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/p,t[0]=(n+a)/p,t[1]=.25*p,t[2]=(l+c)/p):(p=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/p,t[0]=(i+o)/p,t[1]=(l+c)/p,t[2]=.25*p),t},vec3PairToQuaternion(e,t,s=h.vec4()){const n=Math.sqrt(h.dotVec3(e,e)*h.dotVec3(t,t));let i=n+h.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):h.cross3Vec3(e,t,s),s[3]=i,h.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=h.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new r(16);return(t,s,n)=>(n=n||h.vec3(),h.quaternionToRotationMat4(t,e),h.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=h.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=h.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,p=c*i+o*n-r*a,A=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+p*-o-A*-l,s[1]=p*c+d*-l+A*-r-u*-o,s[2]=A*c+d*-o+u*-l-p*-r,s},quaternionToMat4(e,t){t=h.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,p=o*a,A=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+p,t[2]=f-u,t[4]=d-p,t[5]=1-(A+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(A+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=h.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>h.normalizeQuaternion(h.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=h.vec4()){const s=(e=h.normalizeQuaternion(e,u))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new r(e||6),AABB2:e=>new r(e||4),OBB3:e=>new r(e||32),OBB2:e=>new r(e||16),Sphere3:(e,t,s,n)=>new r([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new r(3),t=new r(3),s=new r(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],h.subVec3(t,e,s),Math.abs(h.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=h.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],p=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>p?u:p,Math.abs(h.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||h.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||h.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=h.AABB3())=>(e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MAX_DOUBLE,e[3]=h.MIN_DOUBLE,e[4]=h.MIN_DOUBLE,e[5]=h.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=h.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new r(3);return(t,s,n)=>{s=s||h.AABB3();let i,a,r,l=h.MAX_DOUBLE,o=h.MAX_DOUBLE,c=h.MAX_DOUBLE,u=h.MIN_DOUBLE,p=h.MIN_DOUBLE,A=h.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>p&&(p=a),r>A&&(A=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=p,s[5]=A,s}})(),OBB3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=h.AABB3()){let s,n,i,a=h.MAX_DOUBLE,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE,u=h.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new r(3);return(t,s)=>{s=s||h.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=p);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new r(3),t=new r(3);return(s,n)=>{n=n||h.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ip&&(p=u);return n[3]=p,n}})(),getSphere3Center:(e,t=h.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=h.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=h.MAX_DOUBLE,e[1]=h.MAX_DOUBLE,e[2]=h.MIN_DOUBLE,e[3]=h.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=h.AABB2()){let s,n,i,a,r=h.MAX_DOUBLE,l=h.MAX_DOUBLE,o=h.MIN_DOUBLE,c=h.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=h.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,p=r*l-i*c,A=i*o-a*l,d=Math.sqrt(u*u+p*p+A*A);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=p/d,n[2]=A/d),n},rayTriangleIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3);return(a,r,l,o,c,u)=>{u=u||h.vec3();const p=h.subVec3(o,l,e),A=h.subVec3(c,l,t),d=h.cross3Vec3(r,A,s),f=h.dotVec3(p,d);if(f<1e-6)return null;const I=h.subVec3(a,l,n),y=h.dotVec3(I,d);if(y<0||y>f)return null;const m=h.cross3Vec3(I,p,i),v=h.dotVec3(r,m);if(v<0||y+v>f)return null;const w=h.dotVec3(A,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new r(3),t=new r(3),s=new r(3),n=new r(3);return(i,a,r,l,o,c)=>{c=c||h.vec3(),a=h.normalizeVec3(a,e);const u=h.subVec3(l,r,t),p=h.subVec3(o,r,s),A=h.cross3Vec3(u,p,n);h.normalizeVec3(A,A);const d=-h.dotVec3(r,A),f=-(h.dotVec3(i,A)+d)/h.dotVec3(a,A);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new r(3),t=new r(3),s=new r(3);return(n,i,a,r,l)=>{const o=h.subVec3(r,i,e),c=h.subVec3(a,i,t),u=h.subVec3(n,i,s),p=h.dotVec3(o,o),A=h.dotVec3(o,c),d=h.dotVec3(o,u),f=h.dotVec3(c,c),I=h.dotVec3(c,u),y=p*f-A*A;if(0===y)return null;const m=1/y,v=(f*d-A*I)*m,w=(p*I-A*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=h.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3);return(r,l,o)=>{let c,u;const p=new Array(r.length/3);let A,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new r(3),t=new r(3),s=new r(3),n=new r(3),i=new r(3),a=new r(3),l=new r(3);return(r,o,c)=>{const u=new Float32Array(r.length);for(let p=0;p>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,p;const A=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new r(4),t=new r(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,h.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],h.transformVec3(s,e,t),h.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new r(16),t=new r(16),s=new r(4),n=new r(4),i=new r(4),a=new r(4);return(r,l,o,c,u,p)=>{const A=h.mulMat4(o,l,e),d=h.inverseMat4(A,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,h.transformVec4(d,s,n),h.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,h.transformVec4(d,i,a),h.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],h.subVec3(a,n,p),h.normalizeVec3(p)}})(),canvasPosToLocalRay:(()=>{const e=new r(3),t=new r(3);return(s,n,i,a,r,l,o)=>{h.canvasPosToWorldRay(s,n,i,r,e,t),h.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new r(16),t=new r(4),s=new r(4);return(n,i,a,r,l)=>{const o=h.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],h.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const l=new r(6),o={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:l};let c,u;for(l[0]=l[1]=l[2]=Number.POSITIVE_INFINITY,l[3]=l[4]=l[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cl[3]&&(l[3]=i[t]),i[t+1]l[4]&&(l[4]=i[t+1]),i[t+2]l[5]&&(l[5]=i[t+2])}}if(s.length<20||a>10)return o.triangles=s,o.leaf=!0,o;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),o.splitDim=p;const A=(l[p]+l[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};h.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),h.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const d={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var f=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{w.removeItem(e.id),delete R.scenes[e.id],delete v[e.id],d.components.scenes--}))},this.clear=function(){let e;for(const t in R.scenes)R.scenes.hasOwnProperty(t)&&(e=R.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete R.scenes[e.id]))},this.scheduleTask=function(e,t){g.push(e),g.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;g.length>0&&(e<0||n0&&b>0){var t=1e3/b;P+=t,T.push(t),T.length>=30&&(P-=T.shift()),d.frame.fps=Math.round(P/T.length)}!function(e){const t=R.runTasks(e+10),s=R.getNumTasks();d.frame.tasksRun=t,d.frame.tasksScheduled=s,d.frame.tasksBudget=10}(e),function(e){for(var t in E.time=e,R.scenes)if(R.scenes.hasOwnProperty(t)){var s=R.scenes[t];E.sceneId=t,E.startTime=s.startTime,E.deltaTime=null!=E.prevTime?E.time-E.prevTime:0,s.fire("tick",E,!0)}E.prevTime=e}(e),function(){const e=R.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=v[r],n||(n=v[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),D=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(C):requestAnimationFrame(C);class _{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof _))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+m.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(m.isNumeric(s)||m.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+m.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+m.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+m.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():R.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class x{constructor(){this.planes=[new N,new N,new N,new N,new N,new N]}}function L(e,t,s){const n=h.mulMat4(s,t,S),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],p=n[7],A=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,p-o,I-A,w-y),e.planes[1].set(l+i,p+o,I+A,w+y),e.planes[2].set(l-a,p-c,I-d,w-m),e.planes[3].set(l+a,p+c,I+d,w+m),e.planes[4].set(l-r,p-u,I-f,w-v),e.planes[5].set(l+r,p+u,I+f,w+v)}function M(e,t){let s=x.INSIDE;const n=B,i=O;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return x.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=x.INTERSECT)}return s}x.INSIDE=0,x.INTERSECT=1,x.OUTSIDE=2;class F extends _{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=h.vec2(),this._canvasMarqueeCorner2=h.vec2(),this._canvasMarquee=h.AABB2(),this._marqueeFrustum=new x,this._marqueeFrustumProjMat=h.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==F.PICK_MODE_INSIDE&&e!==F.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===F.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=x.INTERSECT)=>{if(n===x.INTERSECT&&(n=M(this._marqueeFrustum,s.aabb)),n!==x.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,p=-(this._canvasMarquee[1]-i)*r+1,A=this.viewer.scene.camera.frustum.near*(17*l);h.frustumMat4(o,c,u*l,p*l,A,1e4,this._marqueeFrustumProjMat),L(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}F.PICK_MODE_INTERSECTS=0,F.PICK_MODE_INSIDE=1;class H{constructor(e,t,s){this.id=s&&s.id?s.id:e,this.viewer=t,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,t.addPlugin(this)}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const U=h.vec3(),G=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,h.transformVec4(n,t,s),h.setMat4Translation(n,s,a),a.slice()}}();function j(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function V(e,t,s,n=1e3){const i=h.getPositionsCenter(e,U),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(h.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){se.set(this._viewPos),se[3]=1,h.transformPoint4(this.scene.camera.projMatrix,se,ne);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+ne[0]/ne[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-ne[1]/ne[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof te?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),j(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ae{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class re{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class le{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var oe=h.vec3(),ce=h.vec3();class ue extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._cornerMarker=new ie(s,t.corner),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._cornerWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ae(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ae(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new le(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const A=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>A||f>A||I>A)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,p=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos,this._currentAngleMeasurement.corner.entity=e.entity),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos,this._currentAngleMeasurement.target.entity=e.entity),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class Ae extends ie{constructor(e,t){if(super(e,t),this.plugin=t.plugin,this._container=t.container,!this._container)throw"config missing: container";if(!t.markerElement&&!t.markerHTML)throw"config missing: need either markerElement or markerHTML";if(!t.labelElement&&!t.labelHTML)throw"config missing: need either labelElement or labelHTML";this._htmlDirty=!1,t.markerElement?(this._marker=t.markerElement,this._marker.addEventListener("click",this._onMouseClickedExternalMarker=()=>{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

";m.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._marker=t.firstChild,this._container.appendChild(this._marker),this._marker.style.visibility=this._markerShown?"visible":"hidden",this._marker.addEventListener("click",(()=>{this.plugin.fire("markerClicked",this)})),this._marker.addEventListener("mouseenter",(()=>{this.plugin.fire("markerMouseEnter",this)})),this._marker.addEventListener("mouseleave",(()=>{this.plugin.fire("markerMouseLeave",this)})),this._marker.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}if(!this._labelExternal){this._label&&(this._container.removeChild(this._label),this._label=null);let e=this._labelHTML||"

";m.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const de=h.vec3(),fe=h.vec3(),Ie=h.vec3();class ye extends _{get type(){return"Spinner"}constructor(e,t={}){super(e,t),this._canvas=t.canvas,this._element=null,this._isCustom=!1,t.elementId&&(this._element=document.getElementById(t.elementId),this._element?this._adjustPosition():this.error("Can't find given Spinner HTML element: '"+t.elementId+"' - will automatically create default element")),this._element||this._createDefaultSpinner(),this.processes=0}_createDefaultSpinner(){this._injectDefaultCSS();const e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const me=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class ve extends _{constructor(e,t={}){super(e,t),this._backgroundColor=h.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new ye(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+h.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?ge.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?ge.FS_MAX_FLOAT_PRECISION="mediump":ge.FS_MAX_FLOAT_PRECISION="lowp":ge.FS_MAX_FLOAT_PRECISION="mediump",ge.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),ge.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),ge.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),ge.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),ge.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),ge.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),ge.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),ge.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),ge.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),ge.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){ge.SUPPORTED_EXTENSIONS[e]=!0})))}class Te{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class be{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function _e(e){console.error(e.join("\n"))}class Be{constructor(e,t){this.id=Re.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new be(e,e.VERTEX_SHADER,Ce(this.source.vertex)),this._fragmentShader=new be(e,e.FRAGMENT_SHADER,Ce(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void _e(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void _e(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void _e(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void _e(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Se{constructor(e,t){this.scene=e,this.aabb=h.AABB3(),this.origin=h.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Se(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Se(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Be(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,p=this._getInverseProjectMat(),A=Math.random(),d="perspective"===n.camera.projection;Me[0]=a,Me[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,p),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,Me),t.uniform1f(this._uRandomSeed,A);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Be(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new Oe(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new Oe(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const He=new Float32Array(Qe(17,[0,1])),Ue=new Float32Array(Qe(17,[1,0])),Ge=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(ke(n,t));return s}(17,4)),je=new Float32Array(2);class Ve{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Be(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Oe(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Oe(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=h.mat4();return()=>(e&&h.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),je[0]=r,je[1]=l,n.uniform2fv(this._uViewport,je),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,Ue):n.uniform2fv(this._uSampleOffsets,He),n.uniform1fv(this._uSampleWeights,Ge);const p=e.getDepthTexture(),A=t.getTexture();i.bindTexture(this._uDepthTexture,p,0),i.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function ke(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Qe(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class We{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class ze{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new We(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function Ke(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const Ye=function(t,s){s=s||{};const n=new we(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},p=!0,A=!0,f=!0,I=!0,y=!0,m=!0,v=!0,w=!0;const g=new ze(t);let E=!1;const T=new Fe(t),b=new Ve(t);function D(){p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),p=!1,A=!0),A&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),A=!1,f=!0),f&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=A.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=h.normalizeVec3([t[0]/h.MAX_INT,t[1]/h.MAX_INT,t[2]/h.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Le(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const qe=new e({});class Je{constructor(e){this.id=qe.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){qe.removeItem(this.id)}}class Ze extends _{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new Je({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class $e extends _{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),h.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class et extends _{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),h.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class tt extends _{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){h.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class st extends _{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new Je({matrix:h.mat4(),inverseMatrix:h.mat4(),transposedMatrix:h.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(h.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(h.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,h.mulMat4v4(this.inverseMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,h.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const nt=h.vec3(),it=h.vec3(),at=h.vec3(),rt=h.vec3(),lt=h.vec3(),ot=h.vec3(),ct=h.vec4(),ut=h.vec4(),ht=h.vec4(),pt=h.mat4(),At=h.mat4(),dt=h.vec3(),ft=h.vec3(),It=h.vec3(),yt=h.vec3();class mt extends _{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new Je({deviceMatrix:h.mat4(),hasDeviceMatrix:!1,matrix:h.mat4(),normalMatrix:h.mat4(),inverseMatrix:h.mat4()}),this._perspective=new $e(this),this._ortho=new et(this),this._frustum=new tt(this),this._customProjection=new st(this),this._project=this._perspective,this._eye=h.vec3([0,0,10]),this._look=h.vec3([0,0,0]),this._up=h.vec3([0,1,0]),this._worldUp=h.vec3([0,1,0]),this._worldRight=h.vec3([1,0,0]),this._worldForward=h.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(h.subVec3(this._eye,this._look,dt),h.normalizeVec3(dt,ft),h.mulVec3Scalar(ft,1e3,It),h.addVec3(this._look,It,yt),t=yt):t=this._eye,e.hasDeviceMatrix?(h.lookAtMat4v(t,this._look,this._up,At),h.mulMat4(e.deviceMatrix,At,e.matrix)):h.lookAtMat4v(t,this._look,this._up,e.matrix),h.inverseMat4(this._state.matrix,this._state.inverseMatrix),h.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=h.subVec3(this._eye,this._look,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.eye=h.addVec3(this._look,t,at),this.up=h.transformPoint3(pt,this._up,rt)}orbitPitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._eye,this._look,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),t=h.transformPoint3(pt,t,rt),this.up=h.transformPoint3(pt,this._up,lt),this.eye=h.addVec3(t,this._look,ot)}yaw(e){let t=h.subVec3(this._look,this._eye,nt);h.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,pt),t=h.transformPoint3(pt,t,it),this.look=h.addVec3(t,this._eye,at),this._gimbalLock&&(this.up=h.transformPoint3(pt,this._up,rt))}pitch(e){if(this._constrainPitch&&(e=h.dotVec3(this._up,this._worldUp)/h.DEGTORAD)<1)return;let t=h.subVec3(this._look,this._eye,nt);const s=h.cross3Vec3(h.normalizeVec3(t,it),h.normalizeVec3(this._up,at));h.rotationMat4v(.0174532925*e,s,pt),this.up=h.transformPoint3(pt,this._up,ot),t=h.transformPoint3(pt,t,rt),this.look=h.addVec3(t,this._eye,lt)}pan(e){const t=h.subVec3(this._eye,this._look,nt),s=[0,0,0];let n;if(0!==e[0]){const i=h.cross3Vec3(h.normalizeVec3(t,[]),h.normalizeVec3(this._up,it));n=h.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=h.mulVec3Scalar(h.normalizeVec3(this._up,at),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=h.mulVec3Scalar(h.normalizeVec3(t,rt),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=h.addVec3(this._eye,s,lt),this.look=h.addVec3(this._look,s,ot)}zoom(e){const t=h.subVec3(this._eye,this._look,nt),s=Math.abs(h.lenVec3(t,it)),n=Math.abs(s+e);if(n<.5)return;const i=h.normalizeVec3(t,at);this.eye=h.addVec3(this._look,h.mulVec3Scalar(i,n),rt)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=h.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return h.lenVec3(h.subVec3(this._look,this._eye,nt))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=ct,s=ut,n=ht;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,h.mulMat4v4(this.viewMatrix,t,s),h.mulMat4v4(this.projMatrix,s,n),h.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class vt extends _{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class wt extends vt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new Je({type:"dir",dir:h.vec3([1,1,1]),color:h.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=h.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];h.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=h.identityMat4()),h.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new We(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class gt extends vt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:h.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class Et extends _{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),d.memory.meshes++}destroy(){super.destroy(),d.memory.meshes--}}var Tt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const bt=function(){const e=h.mat4(),t=h.mat4();return function(s,n){n=n||h.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return h.identityMat4(e),h.translationMat4v(s,e),h.identityMat4(t),h.scalingMat4v([l/u,o/u,c/u],t),h.mulMat4(e,t,n),n}}();var Dt=function(){const e=h.mat4(),t=h.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Ct(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function _t(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Bt={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=Rt(e,l,"floor","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),s=Rt(e,l,"ceil","ceil"),n=Ct(s),a=_t(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ot=d.memory,St=h.AABB3();class Nt extends Et{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Bt.getPositionsBounds(t.positions),n=Bt.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Bt.getUVBounds(t.uv),n=Bt.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Bt.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ot.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ot.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ot.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ot.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ot.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Oe(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ot.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Tt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ot.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=h.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ot.positions+=this._pickTrianglePositionsBuf.numItems,Ot.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Bt.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Bt.getPositionsBounds(e),n=Bt.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Bt.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Bt.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=h.AABB3()),h.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=h.OBB3()),h.positions3ToAABB3(this._state.positions,St,this._state.positionsDecodeMatrix),h.AABB3ToOBB3(St,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ot.meshes--}}function xt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return m.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Lt extends _{get type(){return"Material"}constructor(e,t={}){super(e,t),d.memory.materials++}destroy(){super.destroy(),d.memory.materials--}}const Mt={opaque:0,mask:1,blend:2},Ft=["opaque","mask","blend"];class Ht extends Lt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new Je({type:"PhongMaterial",ambient:h.vec3([1,1,1]),diffuse:h.vec3([1,1,1]),specular:h.vec3([1,1,1]),emissive:h.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=Mt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Ft[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const Ut={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Gt extends Lt{get type(){return"EmphasisMaterial"}get presets(){return Ut}constructor(e,t={}){super(e,t),this._state=new Je({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=Ut[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ut).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const jt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Vt extends Lt{get type(){return"EdgeMaterial"}get presets(){return jt}constructor(e,t={}){super(e,t),this._state=new Je({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=jt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(jt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const kt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Qt extends _{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=h.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return kt}set units(e){e||(e="meters");kt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=h.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=h.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Wt extends _{constructor(e,t={}){super(e,t),this._supported=ge.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const zt={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class Kt extends Lt{get type(){return"PointsMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new Je({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class Xt extends Lt{get type(){return"LinesMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new Je({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function qt(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new Ye(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=h.vec4([0,0,0,0]),t=h.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+m.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=h.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],m.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&R.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=qt(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=qt(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=h.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){m.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const Zt=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=ts(e),p=n.getNumAllocatedSectionPlanes()>0,A=es(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=ts(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=es(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+$t[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+$t[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+$t[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+$t[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+$t[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+$t[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class rs{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ls=new e({}),os=h.vec3(),cs=function(e,t){this.id=ls.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new rs(t),this._allocate(t)},us={};cs.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=us[t];return s||(s=new cs(t,e),us[t]=s,d.memory.programs++),s._useCount++,s},cs.prototype.put=function(){0==--this._useCount&&(ls.removeItem(this.id),this._program&&this._program.destroy(),delete us[this._hash],d.memory.programs--)},cs.prototype.webglContextRestored=function(){this._program=null},cs.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const ps=new e({}),As=h.vec3(),ds=function(e,t){this.id=ps.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new hs(t),this._allocate(t)},fs={};ds.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=fs[t];return s||(s=new ds(t,e),fs[t]=s,d.memory.programs++),s._useCount++,s},ds.prototype.put=function(){0==--this._useCount&&(ps.removeItem(this.id),this._program&&this._program.destroy(),delete fs[this._hash],d.memory.programs--)},ds.prototype.webglContextRestored=function(){this._program=null},ds.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const ys=h.vec3(),ms=function(e,t){this._hash=e,this._shaderSource=new Is(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},vs={};ms.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=vs[t];if(!s){if(s=new ms(t,e),s.errors)return console.log(s.errors.join("\n")),null;vs[t]=s,d.memory.programs++}return s._useCount++,s},ms.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete vs[this._hash],d.memory.programs--)},ms.prototype.webglContextRestored=function(){this._program=null},ms.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},ms.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const gs=h.vec3(),Es=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new ws(t),this._allocate(t)},Ts={};Es.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Ts[t];if(!s){if(s=new Es(t,e),s.errors)return console.log(s.errors.join("\n")),null;Ts[t]=s,d.memory.programs++}return s._useCount++,s},Es.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ts[this._hash],d.memory.programs--)},Es.prototype.webglContextRestored=function(){this._program=null},Es.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Ds=h.vec3(),Ps=function(e,t){this._hash=e,this._shaderSource=new bs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Rs={};Ps.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Rs[t];if(!s){if(s=new Ps(t,e),s.errors)return console.log(s.errors.join("\n")),null;Rs[t]=s,d.memory.programs++}return s._useCount++,s},Ps.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Rs[this._hash],d.memory.programs--)},Ps.prototype.webglContextRestored=function(){this._program=null},Ps.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const _s=function(e,t){this._hash=e,this._shaderSource=new Cs(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Bs={};_s.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Bs[s];if(!n){if(n=new _s(s,e),n.errors)return console.log(n.errors.join("\n")),null;Bs[s]=n,d.memory.programs++}return n._useCount++,n},_s.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Bs[this._hash],d.memory.programs--)},_s.prototype.webglContextRestored=function(){this._program=null},_s.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},_s.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Be(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const ks=function(){const e=h.vec3(),t=h.vec3(),s=h.vec3(),n=h.vec3(),i=h.vec3(),a=h.vec3(),r=h.vec4(),l=h.vec3(),o=h.vec3(),c=h.vec3(),u=h.vec3(),p=h.vec3(),A=h.vec3(),d=h.vec3(),f=h.vec3(),I=h.vec3(),y=h.vec4(),m=h.vec4(),v=h.vec4(),w=h.vec3(),g=h.vec3(),E=h.vec3(),T=h.vec3(),b=h.vec3(),D=h.vec3(),P=h.vec3(),R=h.vec3(),C=h.vec3(),_=h.vec3(),B=h.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,j=O.scene,V=j.camera,k=j.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const j=L,Q=U.indices,W=U.positions;let z,K,Y;if(Q){var M=Q[j+0],F=Q[j+1],H=Q[j+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*j,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Bt.decompressPosition(s,e,s),Bt.decompressPosition(n,e,n),Bt.decompressPosition(i,e,i))}x.canvasPos?h.canvasPosToLocalRay(k.canvas,O.origin?G(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&h.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),h.normalizeVec3(t),h.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,h.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,h.transformVec4(V.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,h.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Bt.decompressNormal(X.subarray(e,e+2),u),Bt.decompressNormal(X.subarray(t,t+2),p),Bt.decompressNormal(X.subarray(s,s+2),A)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],p[0]=X[K],p[1]=X[K+1],p[2]=X[K+2],A[0]=X[Y],A[1]=X[Y+1],A[2]=X[Y+2];const e=h.addVec3(h.addVec3(h.mulVec3Scalar(u,c[0],w),h.mulVec3Scalar(p,c[1],g),E),h.mulVec3Scalar(A,c[2],T),b);x.worldNormal=h.normalizeVec3(h.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Bt.decompressUV(d,e,d),Bt.decompressUV(f,e,f),Bt.decompressUV(I,e,I))}x.uv=h.addVec3(h.addVec3(h.mulVec2Scalar(d,c[0],P),h.mulVec2Scalar(f,c[1],R),C),h.mulVec2Scalar(I,c[2],_),B)}}}}}();function Qs(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],v=[],w=[];let g,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(g=0;g<=a;g++)for(D=t-g*f,P=h-g*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),v.push(E*d),v.push(1*g/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(g=0;g0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),v.push(B),v.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),v.push(.5),v.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),v.push(B),v.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function Ks(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;m.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,v=(o||"").split("\n"),w=0,g=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=An(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=An(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=An(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,yn(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,yn(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,An(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,An(s,this.magFilter)));const l=An(s,this.format,this.encoding),o=An(s,this.type),c=In(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class gn extends _{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new Je({texture:new fn({gl:this.scene.canvas.gl}),matrix:h.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=h.vec2([0,0]),this._scale=h.vec2([1,1]),this._rotate=h.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),d.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new fn({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=h.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=h.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?h.mulMat4(t,s):s),0!==this._rotate&&(s=h.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?h.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=mn(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=mn(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),d.memory.textures--}}const En=d.memory,Tn=h.AABB3();class bn extends Et{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new Je({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=h.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Bt.getPositionsBounds(t.positions),a=Bt.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new Oe(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),En.positions+=s.positionsBuf.numItems,h.positions3ToAABB3(t.positions,this._aabb),h.positions3ToAABB3(i,Tn,s.positionsDecodeMatrix),h.AABB3ToOBB3(Tn,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),En.colors+=s.colorsBuf.numItems}if(t.uv){const e=Bt.getUVBounds(t.uv),i=Bt.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new Oe(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),En.uvs+=s.uvBuf.numItems}if(t.normals){const e=Bt.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new Oe(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),En.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),En.indices+=s.indicesBuf.numItems;const a=Tt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),En.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),En.meshes--}}var Dn={};function Pn(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return m.apply(e,{primitive:"lines",positions:a,indices:r})}function Rn(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),v=new Float32Array(A*d*3),w=new Float32Array(A*d*2);let g,E,T,b,D,P,R,C=0,_=0;for(g=0;g65535?Uint32Array:Uint16Array)(h*p*6);for(g=0;g360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],p=[],A=[],d=[];let f,I,y,v,w,g,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),v=(t+s*Math.cos(I))*Math.sin(f),w=s*Math.sin(I),u.push(y+l),u.push(v+o),u.push(w+c),A.push(1-E/n),A.push(T/i),g=h.normalizeVec3(h.subVec3([y,v,w],[l,o,c],[]),[]),p.push(g[0]),p.push(g[1]),p.push(g[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return m.apply(e,{positions:u,normals:p,uv:A,indices:d})}Dn.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Dn.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Dn.parse._buffToStr(e));window.location.href=s},Dn.clone=function(e){return JSON.parse(JSON.stringify(e))},Dn.bin={},Dn.bin.f=new Float32Array(1),Dn.bin.fb=new Uint8Array(Dn.bin.f.buffer),Dn.bin.rf=function(e,t){for(var s=Dn.bin.f,n=Dn.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Dn.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Dn.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Dn.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Dn.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Dn.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Dn.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Dn.parse={},Dn.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class _n extends _{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=h.vec3(t.pos||[0,0,0]),this._up=h.vec3(t.up||[0,1,0]),this._normal=h.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=h.vec3(),this._rtcPos=h.vec3(),this._imageSize=h.vec2(),this._texture=new gn(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new an(this,{matrix:h.inverseMat4(h.lookAtMat4v(this._pos,h.subVec3(this._pos,this._normal,h.mat4()),this._up,h.mat4())),children:[this._bitmapMesh=new Vs(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Nt(this,Rn({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Ht(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class Bn extends _{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=h.vec3(),i=V(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;e{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class jn extends _{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ie(s,t.origin),this._targetMarker=new ie(s,t.target),this._originWorld=h.vec3(),this._targetWorld=h.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new re(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ae(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ae(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ae(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ae(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new le(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new le(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new le(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new le(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(h.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){h.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],p=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var A=0,d=n.length;A{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red"),c=e.entity):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class Qn{constructor(){}getMetaModel(e,t,s){m.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){m.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class Wn{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=zn(e,s);return n?t?Kn(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=zn(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Kn(i,[t]),s&&(i=Kn(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function zn(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=h.subVec3(a,i,[]);return h.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=h.lenVec3(h.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class Xn extends Yn{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=h.vec3();return c[0]=h.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=h.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=h.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const qn=h.vec3();const Jn=h.vec3(),Zn=h.vec3(),$n=h.vec3(),ei=h.vec3(),ti=h.vec3();class si extends _{get type(){return"CameraFlightAnimation"}constructor(e,t={}){super(e,t),this._look1=h.vec3(),this._eye1=h.vec3(),this._up1=h.vec3(),this._look2=h.vec3(),this._eye2=h.vec3(),this._up2=h.vec3(),this._orthoScale1=1,this._orthoScale2=1,this._flying=!1,this._flyEyeLookUp=!1,this._flyingEye=!1,this._flyingLook=!1,this._callback=null,this._callbackScope=null,this._time1=null,this._time2=null,this.easing=!1!==t.easing,this.duration=t.duration,this.fit=t.fit,this.fitFOV=t.fitFOV,this.trail=t.trail}flyTo(e,t,s){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=s;const n=this.scene.camera,i=!!e.projection&&e.projection!==n.projection;let a,r,l,o,c;if(this._eye1[0]=n.eye[0],this._eye1[1]=n.eye[1],this._eye1[2]=n.eye[2],this._look1[0]=n.look[0],this._look1[1]=n.look[1],this._look1[2]=n.look[2],this._up1[0]=n.up[0],this._up1[1]=n.up[1],this._up1[2]=n.up[2],this._orthoScale1=n.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)a=e.aabb;else if(6===e.length)a=e;else if(e.eye&&e.look||e.up)r=e.eye,l=e.look,o=e.up;else if(e.eye)r=e.eye;else if(e.look)l=e.look;else{let n=e;if((m.isNumeric(n)||m.isString(n))&&(c=n,n=this.scene.components[c],!n))return this.error("Component not found: "+m.inQuotes(c)),void(t&&(s?t.call(s):t()));i||(a=n.aabb||this.scene.aabb)}const u=e.poi;if(a){if(a[3]=1;e>1&&(e=1);const s=this.easing?si._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(h.subVec3(n.eye,n.look,ti),n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.subVec3($n,ti,Zn)):this._flyingLook&&(n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)):this._flyingEyeLookUp&&(n.eye=h.lerpVec3(s,0,1,this._eye1,this._eye2,$n),n.look=h.lerpVec3(s,0,1,this._look1,this._look2,Zn),n.up=h.lerpVec3(s,0,1,this._up1,this._up2,ei)),this._projection2){const t="ortho"===this._projection2?si._easeOutExpo(e,0,1,1):si._easeInCubic(e,0,1,1);n.customProjection.matrix=h.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();R.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class ni extends _{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new si(this),this._t=0,this.state=ni.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case ni.SCRUBBING:return;case ni.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=ni.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case ni.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=ni.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=ni.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=ni.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=ni.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=ni.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=ni.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=ni.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}ni.STOPPED=0,ni.SCRUBBING=1,ni.PLAYING=2,ni.PLAYING_TO=3;const ii=h.vec3(),ai=h.vec3();h.vec3();const ri=h.vec3([0,-1,0]),li=h.vec4([0,0,0,1]);function oi(e){if(!ci(e.width)||!ci(e.height)){const t=document.createElement("canvas");t.width=ui(e.width),t.height=ui(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ci(e){return 0==(e&e-1)}function ui(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class hi extends _{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new Je({texture:new fn({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),d.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ai=h.vec3();const di=h.vec3();class fi{constructor(){this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsHasColorize=[],this.objectsOpacity=[],this.numObjects=0}saveObjects(e,t){this.numObjects=0,this._mask=t?m.apply(t,{}):null;const s=e.objects,n=!t||t.visible,i=!t||t.edges,a=!t||t.xrayed,r=!t||t.highlighted,l=!t||t.selected,o=!t||t.clippable,c=!t||t.pickable,u=!t||t.colorize,h=!t||t.opacity;for(let e in s)if(s.hasOwnProperty(e)){const t=s[e],p=this.numObjects;if(n&&(this.objectsVisible[p]=t.visible),i&&(this.objectsEdges[p]=t.edges),a&&(this.objectsXrayed[p]=t.xrayed),r&&(this.objectsHighlighted[p]=t.highlighted),l&&(this.objectsSelected[p]=t.selected),o&&(this.objectsClippable[p]=t.clippable),c&&(this.objectsPickable[p]=t.pickable),u){const e=t.colorize;e?(this.objectsColorize[3*p+0]=e[0],this.objectsColorize[3*p+1]=e[1],this.objectsColorize[3*p+2]=e[2],this.objectsHasColorize[p]=!0):this.objectsHasColorize[p]=!1}h&&(this.objectsOpacity[p]=t.opacity),this.numObjects++}}restoreObjects(e){const t=this._mask,s=!t||t.visible,n=!t||t.edges,i=!t||t.xrayed,a=!t||t.highlighted,r=!t||t.selected,l=!t||t.clippable,o=!t||t.pickable,c=!t||t.colorize,u=!t||t.opacity;var h=0;const p=e.objects;for(let e in p)if(p.hasOwnProperty(e)){const t=p[e];s&&(t.visible=this.objectsVisible[h]),n&&(t.edges=this.objectsEdges[h]),i&&(t.xrayed=this.objectsXrayed[h]),a&&(t.highlighted=this.objectsHighlighted[h]),r&&(t.selected=this.objectsSelected[h]),l&&(t.clippable=this.objectsClippable[h]),o&&(t.pickable=this.objectsPickable[h]),c&&(this.objectsHasColorize[h]?(di[0]=this.objectsColorize[3*h+0],di[1]=this.objectsColorize[3*h+1],di[2]=this.objectsColorize[3*h+2],t.colorize=di):t.colorize=null),u&&(t.opacity=this.objectsOpacity[h]),h++}}}const Ii=h.OBB3(),yi=h.OBB3(),mi=h.OBB3();class vi{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=h.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(h.AABB3ToOBB3(this._aabbLocal,Ii),this.transform?(h.transformOBB3(this.transform.worldMatrix,Ii,yi),h.transformOBB3(this.model.worldMatrix,yi,mi),h.OBB3ToAABB3(mi,this._aabbWorld)):(h.transformOBB3(this.model.worldMatrix,Ii,yi),h.OBB3ToAABB3(yi,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const wi=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let gi=0;const Ei={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},Ti=new Float32Array([1,1,1,1]),bi=new Float32Array([0,0,0,1]),Di=h.vec4(),Pi=h.vec3(),Ri=h.vec3(),Ci=h.mat4();class _i{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;Di[0]=s,Di[1]=n,Di[2]=t.blendCutoff,Di[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,Di),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===Ei[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?bi:Ti)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,d.memory.programs--}}class Bi extends _i{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Oi extends Bi{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class Si extends _i{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class Ni extends Si{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class xi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class Li extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class Mi extends _i{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Fi extends _i{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Hi extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class Ui extends Bi{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class ji extends Oi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Vi extends Oi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Qi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Wi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class zi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Ki extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Yi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Xi extends Bi{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class qi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Zi extends Bi{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const sa=h.mat4(),na=h.mat4();function ia(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,p=65525,A=p/o,d=p/c,f=p/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function la(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const oa=h.vec3(),ca=h.vec3(),ua=h.vec3(),ha=h.vec3(),pa=h.mat4();class Aa extends _i{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=oa;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ca;if(o){const e=ua;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,pa),y=ha,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const da=h.vec3(),fa=h.vec3(),Ia=h.vec3(),ya=h.vec3(),ma=h.mat4();class va extends _i{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=da;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=fa;if(o){const e=Ia;h.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,ma),y=ya,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class wa{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Aa(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new va(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ga={};const Ea=h.mat4(),Ta=h.mat4(),ba=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();const Da=h.vec3(),Pa=h.vec3(),Ra=h.vec3(),Ca=h.vec3(),_a=h.vec3(),Ba=h.vec3(),Oa=h.vec3();class Sa{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=ea[t];return s||(s=new $i(e),ea[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ea[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=ga[t];return s||(s=new wa(e),ga[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ga[t],s._destroy()}))),s}(e.model.scene),this._buffer=new ta(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({origin:h.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=h.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=h.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=h.collapseAABB3(),this.solid=!!e.solid}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)for(let e=0,t=a.length;e0){const e=Ea;y?h.inverseMat4(h.transposeMat4(y,Ta),e):h.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,p,A=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(p=0;pu&&(o=r,u=c),r=ra(d,"floor","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),r=ra(d,"ceil","ceil"),l=la(r),c=a(d,l),c>u&&(o=r,u=c),n[i+p+0]=o[0],n[i+p+1]=o[1],n[i+p+2]=0}(e,i,i.length,w.normals,w.normals.length)}if(o)for(let e=0,t=o.length;e0)for(let e=0,t=r.length;e0)for(let e=0,t=l.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):ia(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=h.mat4());if(e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new Oe(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Bt.getUVBounds(s.uv),i=Bt.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=h.mat3(i.decodeMatrix),e.uvBuf=new Oe(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new Oe(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&h.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class Na extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class xa extends Si{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ma extends Ni{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Fa extends Ni{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Ha extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Ua extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ga extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class ja extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Va extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class ka extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class Qa extends Si{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Wa={3e3:"linearToLinear",3001:"sRGBToLinear"};class za extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Wa[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Wa[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),n.push("}"),n}}class Ya extends Si{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${h.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const nr=h.vec3(),ir=h.vec3(),ar=h.vec3(),rr=h.vec3(),lr=h.mat4();class or extends _i{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:p}=n,A=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=nr;let I,y;if(f[0]=h.safeInv(A[3]-A[0])*h.MAX_INT,f[1]=h.safeInv(A[4]-A[1])*h.MAX_INT,f[2]=h.safeInv(A[5]-A[2])*h.MAX_INT,e.snapPickCoordinateScale[0]=h.safeInv(f[0]),e.snapPickCoordinateScale[1]=h.safeInv(f[1]),e.snapPickCoordinateScale[2]=h.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=ir;if(o){const e=h.transformPoint3(u,o,ar);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=G(d,t,lr),y=rr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(p,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class cr{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new sr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new or(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const ur={};const hr=new Uint8Array(4),pr=new Float32Array(1),Ar=h.vec4([0,0,0,1]);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const dr=new Float32Array(3),fr=h.vec3(),Ir=h.vec3(),yr=h.vec3(),mr=h.vec3(),vr=h.vec3(),wr=h.vec3(),gr=h.vec3(),Er=new Float32Array(4);class Tr{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=qa[t];return s||(s=new Xa(e),qa[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete qa[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=ur[t];return s||(s=new cr(e),ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete ur[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({numInstances:0,obb:h.OBB3(),origin:h.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new Oe(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new Oe(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=h.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Oe(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Oe(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new Oe(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new Oe(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";hr[0]=t[0],hr[1]=t[1],hr[2]=t[2],hr[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(hr,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?1:0)<<16,pr[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(pr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(dr[0]=t[0],dr[1]=t[1],dr[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(dr,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],p=Ar,A=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&h.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(h.transformVec3(l.normalMatrix,i,i),h.transformVec3(this.model.worldNormalMatrix,i,i),h.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class br extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Dr extends Mi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Pr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new br(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Dr(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Rr={};class Cr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class _r{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Rr[t];return s||(s=new Pr(e),Rr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Rr[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Cr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new Oe(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Or extends Fi{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class Sr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Br(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Or(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const Nr={};const xr=new Uint8Array(4),Lr=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const Mr=new Float32Array(3),Fr=new Float32Array(4);class Hr{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=Nr[t];return s||(s=new Sr(e),Nr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Nr[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,e.origin&&(this._state.origin=h.vec3(e.origin)),this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;this._state.colorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";xr[0]=t[0],xr[1]=t[1],xr[2]=t[2],xr[3]=t[3],this._state.colorsBuf.setData(xr,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,Lr[0]=A,this._state.flagsBuf.setData(Lr,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Mr[0]=t[0],Mr[1]=t[1],Mr[2]=t[2],this._state.offsetsBuf.setData(Mr,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;Fr[0]=t[0],Fr[1]=t[4],Fr[2]=t[8],Fr[3]=t[12],this._state.modelMatrixCol0Buf.setData(Fr,s),Fr[0]=t[1],Fr[1]=t[5],Fr[2]=t[9],Fr[3]=t[13],this._state.modelMatrixCol1Buf.setData(Fr,s),Fr[0]=t[2],Fr[1]=t[6],Fr[2]=t[10],Fr[3]=t[14],this._state.modelMatrixCol2Buf.setData(Fr,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Ur extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Gr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class jr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Vr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class kr extends xi{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Qr{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Ur(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Gr(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new jr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Vr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new kr(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Wr={};class zr{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}h.vec4(),h.vec4(),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.OBB3();class Kr{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Wr[t];return s||(s=new Qr(e),Wr[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Wr[t],s._destroy()}))),s}(e.model.scene),this._buffer=new zr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new Je({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:h.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=h.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=h.vec3(e.origin)),this.aabb=h.collapseAABB3()}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=ia(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new Oe(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new Oe(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Xr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class qr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Jr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Zr extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class $r extends Li{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class el extends Li{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class tl{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Yr(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Xr(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new $r(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new qr(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Jr(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Zr(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new el(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const sl={};const nl=new Uint8Array(4),il=new Float32Array(1);h.vec4([0,0,0,1]),h.vec4([0,0,0,1]),h.vec4([0,0,0,1]);const al=new Float32Array(3),rl=new Float32Array(4);class ll{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=sl[t];return s||(s=new tl(e),sl[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete sl[t],s._destroy()}))),s}(e.model.scene),this._aabb=h.collapseAABB3(),this._state=new Je({obb:h.OBB3(),numInstances:0,origin:e.origin?h.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=h.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}get aabb(){if(this.aabbDirty){h.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let n=!1;s.flagsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new Oe(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=h.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new Oe(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new Oe(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new Oe(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&Q&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&q&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&X&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&J&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&K&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Z&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&z&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&W&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&Q?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&Z?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&K?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&z?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&W?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";nl[0]=t[0],nl[1]=t[1],nl[2]=t[2],this._state.colorsBuf.setData(nl,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&Q),i=!!(t&X),a=!!(t&q),r=!!(t&J),l=!!(t&Z),o=!!(t&z),c=!!(t&W);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?Ei.NOT_RENDERED:s?Ei.COLOR_TRANSPARENT:Ei.COLOR_OPAQUE,h=!n||c?Ei.NOT_RENDERED:r?Ei.SILHOUETTE_SELECTED:a?Ei.SILHOUETTE_HIGHLIGHTED:i?Ei.SILHOUETTE_XRAYED:Ei.NOT_RENDERED;let p=0;p=!n||c?Ei.NOT_RENDERED:r?Ei.EDGES_SELECTED:a?Ei.EDGES_HIGHLIGHTED:i?Ei.EDGES_XRAYED:l?s?Ei.EDGES_COLOR_TRANSPARENT:Ei.EDGES_COLOR_OPAQUE:Ei.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?Ei.PICK:Ei.NOT_RENDERED)<<12,A|=(t&K?255:0)<<16,il[0]=A,this._state.flagsBuf.setData(il,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(al[0]=t[0],al[1]=t[1],al[2]=t[2],this._state.offsetsBuf.setData(al,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;rl[0]=t[0],rl[1]=t[4],rl[2]=t[8],rl[3]=t[12],this._state.modelMatrixCol0Buf.setData(rl,s),rl[0]=t[1],rl[1]=t[5],rl[2]=t[9],rl[3]=t[13],this._state.modelMatrixCol1Buf.setData(rl,s),rl[0]=t[2],rl[1]=t[6],rl[2]=t[10],rl[3]=t[14],this._state.modelMatrixCol2Buf.setData(rl,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Ei.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Ei.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Ei.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Ei.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Ei.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class ol{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class cl{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const ul={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class hl{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==dl[e])return void dl[e].push({onLoad:t,onProgress:s,onError:n});dl[e]=[],dl[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=dl[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{ul.add(e,t);const s=dl[e];delete dl[e];for(let e=0,n=s.length;e{const s=dl[e];if(void 0===s)throw this.manager.itemError(e),t;delete dl[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class Il{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let yl=0;class ml{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new Il,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new fl;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new fl;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ml.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ml.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ml.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ml.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),yl>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),yl++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),yl--}}ml.BasisFormat={ETC1S:0,UASTC_4x4:1},ml.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ml.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ml.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete vl[t],s.destroy()}))),s} /** * @author https://github.com/tmarti, with support from https://tribia.com/ * @license MIT diff --git a/dist/xeokit-sdk.min.es.js b/dist/xeokit-sdk.min.es.js index 8f17b4b256..49e53de39c 100644 --- a/dist/xeokit-sdk.min.es.js +++ b/dist/xeokit-sdk.min.es.js @@ -1,4 +1,4 @@ -class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}const t=new e;class s{constructor(e){this.id=e,this.parentItem=null,this.groups=[],this.menuElement=null,this.shown=!1,this.mouseOver=0}}class n{constructor(){this.items=[]}}class i{constructor(e,t,s,n,i){this.id=e,this.getTitle=t,this.doAction=s,this.getEnabled=n,this.getShown=i,this.itemElement=null,this.subMenu=null,this.enabled=!0}}class a{constructor(e={}){this._id=t.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==e.hideOnMouseDown&&(document.addEventListener("mousedown",(e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),e.items&&(this.items=e.items),this._hideOnAction=!1!==e.hideOnAction,this.context=e.context,this.enabled=!1!==e.enabled,this.hide()}on(e,t){let s=this._eventSubs[e];s||(s=[],this._eventSubs[e]=s),s.push(t)}fire(e,t){const s=this._eventSubs[e];if(s)for(let e=0,n=s.length;e{const a=this._getNextId(),r=new s(a);for(let s=0,a=e.length;s0,c=this._getNextId(),u=s.getTitle||(()=>s.title||""),h=s.doAction||s.callback||(()=>{}),p=s.getEnabled||(()=>!0),A=s.getShown||(()=>!0),d=new i(c,u,h,p,A);if(d.parentMenu=r,l.items.push(d),o){const e=t(n);d.subMenu=e,e.parentItem=d}this._itemList.push(d),this._itemMap[d.id]=d}}return this._menuList.push(r),this._menuMap[r.id]=r,r};this._rootMenu=t(e)}_getNextId(){return"ContextMenu_"+this._id+"_"+this._nextId++}_createUI(){const e=t=>{this._createMenuUI(t);const s=t.groups;for(let t=0,n=s.length;t'),s.push("
    "),t)for(let e=0,n=t.length;e'+o+" [MORE]"):s.push('
  • '+o+"
  • ")}}s.push("
"),s.push("");const n=s.join("");document.body.insertAdjacentHTML("beforeend",n);const i=document.querySelector("."+e.id);e.menuElement=i,i.style["border-radius"]="4px",i.style.display="none",i.style["z-index"]=3e5,i.style.background="white",i.style.border="1px solid black",i.style["box-shadow"]="0 4px 5px 0 gray",i.oncontextmenu=e=>{e.preventDefault()};const a=this;let r=null;if(t)for(let e=0,s=t.length;e{e.preventDefault();const s=t.subMenu;if(!s)return void(r&&(a._hideMenu(r.id),r=null));if(r&&r.id!==s.id&&(a._hideMenu(r.id),r=null),!1===t.enabled)return;const n=t.itemElement,i=s.menuElement,l=n.getBoundingClientRect();i.getBoundingClientRect();l.right+200>window.innerWidth?a._showMenu(s.id,l.left-200,l.top-1):a._showMenu(s.id,l.right-5,l.top-1),r=s})),n||(t.itemElement.addEventListener("click",(e=>{e.preventDefault(),a._context&&!1!==t.enabled&&(t.doAction&&t.doAction(a._context),this._hideOnAction?a.hide():(a._updateItemsTitles(),a._updateItemsEnabledStatus()))})),t.itemElement.addEventListener("mouseenter",(e=>{e.preventDefault(),!1!==t.enabled&&t.doHover&&t.doHover(a._context)})))):console.error("ContextMenu item element not found: "+t.id)}}}_updateItemsTitles(){if(this._context)for(let e=0,t=this._itemList.length;ewindow.innerHeight&&(s=window.innerHeight-n),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=s+"px"}_hideMenuElement(e){e.style.display="none"}}class r{constructor(e,t={}){this.viewer=e,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=t.zoomLevel||2,this._active=!1!==t.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(()=>{this._active&&this._visible&&this.update()}))}update(){if(!this._active||!this._visible)return;if(!this._canvasPos)return;const e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),s=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",s&&(this._lensPosToggle?this._lensContainer.style.marginTop=t.bottom-t.top-this._lensCanvas.height-85+"px":this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);const n=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-n/2,this._canvasPos[1]-n/2,n,n,0,0,this._lensCanvas.width,this._lensCanvas.height);const i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){const e=this._snappedCanvasPos[0]-this._canvasPos[0],t=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft=i[0]+e*this._zoomLevel-10+"px",this._lensCursorDiv.style.marginTop=i[1]+t*this._zoomLevel-10+"px"}else this._lensCursorDiv.style.marginLeft=i[0]-10+"px",this._lensCursorDiv.style.marginTop=i[1]-10+"px"}set zoomFactor(e){this._zoomFactor=e,this.update()}get zoomFactor(){return this._zoomFactor}set canvasPos(e){this._canvasPos=e,this.update()}get canvasPos(){return this._canvasPos}set snappedCanvasPos(e){this._snappedCanvasPos=e,this.update()}get snappedCanvasPos(){return this._snappedCanvasPos}set snapped(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}get snapped(){return this._snapped}set active(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get active(){return this._active}set visible(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get visible(){return this._visible}destroy(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}let l=!0,o=l?Float64Array:Float32Array;const c=new o(3),u=new o(16),h=new o(16),p=new o(4),A={setDoublePrecisionEnabled(e){l=e,o=l?Float64Array:Float32Array},getDoublePrecisionEnabled:()=>l,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new o(e||2),vec3:e=>new o(e||3),vec4:e=>new o(e||4),mat3:e=>new o(e||9),mat3ToMat4:(e,t=new o(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new o(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new o(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new o(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>A.dotVec4(e,e),lenVec4:e=>Math.sqrt(A.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>A.dotVec3(e,e),sqLenVec2:e=>A.dotVec2(e,e),lenVec3:e=>Math.sqrt(A.sqLenVec3(e)),distVec3:(()=>{const e=new o(3);return(t,s)=>A.lenVec3(A.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(A.sqLenVec2(e)),distVec2:(()=>{const e=new o(2);return(t,s)=>A.lenVec2(A.subVec2(t,s,e))})(),rcpVec3:(e,t)=>A.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/A.lenVec4(e);return A.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/A.lenVec3(e);return A.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/A.lenVec2(e);return A.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=A.dotVec3(e,t)/Math.sqrt(A.sqLenVec3(e)*A.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new o(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=A.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=A.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=A.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||A.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>A.m4s(0),setMat4ToOnes:()=>A.m4s(1),diagonalMat4v:e=>new o([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>A.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>A.diagonalMat4c(e,e,e,e),identityMat4:(e=new o(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new o(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),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),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>A.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new o(9));const n=e[0],i=e[3],a=e[6],r=e[1],l=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=r*A+l*I+c*v,s[4]=r*d+l*y+c*w,s[7]=r*f+l*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=A.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else 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];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||A.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||A.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.translationMat4v(e,i))})(),translationMat4s:(e,t)=>A.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>A.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=A.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,h,p,d,f,I;return u=l*o,h=o*c,p=c*l,d=l*i,f=o*i,I=c*i,(s=s||A.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*p-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*h+d,s[7]=0,s[8]=r*p+f,s[9]=r*h-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>A.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=A.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=A.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>A.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=A.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,h=n*o,p=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=h+v,s[2]=p-m,s[3]=0,s[4]=h-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=p+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=A.vec4()){const n=A.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],h=e[6],p=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,p),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(h,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,p),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(h,-1,1)),Math.abs(h)<.99999?(s[1]=Math.atan2(-u,p),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(h,p),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,p))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(h,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,p),s[1]=0)),s},composeMat4:(e,t,s,n=A.mat4())=>(A.quaternionToRotationMat4(t,n),A.scaleMat4v(s,n),A.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new o(3),t=new o(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=A.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=A.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=A.lenVec3(e);A.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,h=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=h,t[9]*=h,t[10]*=h,A.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=A.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],h=t[1],p=t[2];if(i===u&&a===h&&r===p)return A.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-h,I=r-p,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>A.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=A.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];A.addVec4(i,n,u),A.subVec4(i,n,h);const a=2*n[2],r=h[0],l=h[1],o=h[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=u[0]/r,s[9]=u[1]/l,s[10]=-u[2]/o,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/o,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],A.frustumMat4v(a,r,i)},compareMat4:(e,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]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=A.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new o(16),t=new o(16),s=new o(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||A.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||A.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=A.vec4()){const n=e[0]*A.DEGTORAD/2,i=e[1]*A.DEGTORAD/2,a=e[2]*A.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),h=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"YXZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"ZXY"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"ZYX"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"YZX"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o-c*u*h):"XZY"===t&&(s[0]=c*l*o-r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o+c*u*h),s},mat4ToQuaternion(e,t=A.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let h;const p=s+r+u;return p>0?(h=.5/Math.sqrt(p+1),t[3]=.25/h,t[0]=(c-l)*h,t[1]=(i-o)*h,t[2]=(a-n)*h):s>r&&s>u?(h=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/h,t[0]=.25*h,t[1]=(n+a)/h,t[2]=(i+o)/h):r>u?(h=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/h,t[0]=(n+a)/h,t[1]=.25*h,t[2]=(l+c)/h):(h=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/h,t[0]=(i+o)/h,t[1]=(l+c)/h,t[2]=.25*h),t},vec3PairToQuaternion(e,t,s=A.vec4()){const n=Math.sqrt(A.dotVec3(e,e)*A.dotVec3(t,t));let i=n+A.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):A.cross3Vec3(e,t,s),s[3]=i,A.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=A.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new o(16);return(t,s,n)=>(n=n||A.vec3(),A.quaternionToRotationMat4(t,e),A.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=A.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,h=c*i+o*n-r*a,p=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+h*-o-p*-l,s[1]=h*c+d*-l+p*-r-u*-o,s[2]=p*c+d*-o+u*-l-h*-r,s},quaternionToMat4(e,t){t=A.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,h=o*a,p=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+h,t[2]=f-u,t[4]=d-h,t[5]=1-(p+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(p+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=A.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>A.normalizeQuaternion(A.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=A.vec4()){const s=(e=A.normalizeQuaternion(e,p))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new o(e||6),AABB2:e=>new o(e||4),OBB3:e=>new o(e||32),OBB2:e=>new o(e||16),Sphere3:(e,t,s,n)=>new o([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new o(3),t=new o(3),s=new o(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],A.subVec3(t,e,s),Math.abs(A.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=A.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],h=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>h?u:h,Math.abs(A.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||A.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||A.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=A.AABB3())=>(e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MAX_DOUBLE,e[3]=A.MIN_DOUBLE,e[4]=A.MIN_DOUBLE,e[5]=A.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=A.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new o(3);return(t,s,n)=>{s=s||A.AABB3();let i,a,r,l=A.MAX_DOUBLE,o=A.MAX_DOUBLE,c=A.MAX_DOUBLE,u=A.MIN_DOUBLE,h=A.MIN_DOUBLE,p=A.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>h&&(h=a),r>p&&(p=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=h,s[5]=p,s}})(),OBB3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new o(3);return(t,s)=>{s=s||A.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=h);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ih&&(h=u);return n[3]=h,n}})(),getSphere3Center:(e,t=A.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=A.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MIN_DOUBLE,e[3]=A.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=A.AABB2()){let s,n,i,a,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=A.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,h=r*l-i*c,p=i*o-a*l,d=Math.sqrt(u*u+h*h+p*p);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=h/d,n[2]=p/d),n},rayTriangleIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3);return(a,r,l,o,c,u)=>{u=u||A.vec3();const h=A.subVec3(o,l,e),p=A.subVec3(c,l,t),d=A.cross3Vec3(r,p,s),f=A.dotVec3(h,d);if(f<1e-6)return null;const I=A.subVec3(a,l,n),y=A.dotVec3(I,d);if(y<0||y>f)return null;const m=A.cross3Vec3(I,h,i),v=A.dotVec3(r,m);if(v<0||y+v>f)return null;const w=A.dotVec3(p,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3);return(i,a,r,l,o,c)=>{c=c||A.vec3(),a=A.normalizeVec3(a,e);const u=A.subVec3(l,r,t),h=A.subVec3(o,r,s),p=A.cross3Vec3(u,h,n);A.normalizeVec3(p,p);const d=-A.dotVec3(r,p),f=-(A.dotVec3(i,p)+d)/A.dotVec3(a,p);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i,a,r,l)=>{const o=A.subVec3(r,i,e),c=A.subVec3(a,i,t),u=A.subVec3(n,i,s),h=A.dotVec3(o,o),p=A.dotVec3(o,c),d=A.dotVec3(o,u),f=A.dotVec3(c,c),I=A.dotVec3(c,u),y=h*f-p*p;if(0===y)return null;const m=1/y,v=(f*d-p*I)*m,w=(h*I-p*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=A.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3);return(r,l,o)=>{let c,u;const h=new Array(r.length/3);let p,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3),r=new o(3);return(l,o,c)=>{const u=new Float32Array(l.length);for(let h=0;h>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,h;const p=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new o(4),t=new o(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,A.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],A.transformVec3(s,e,t),A.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new o(16),t=new o(16),s=new o(4),n=new o(4),i=new o(4),a=new o(4);return(r,l,o,c,u,h)=>{const p=A.mulMat4(o,l,e),d=A.inverseMat4(p,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,A.transformVec4(d,s,n),A.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,A.transformVec4(d,i,a),A.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],A.subVec3(a,n,h),A.normalizeVec3(h)}})(),canvasPosToLocalRay:(()=>{const e=new o(3),t=new o(3);return(s,n,i,a,r,l,o)=>{A.canvasPosToWorldRay(s,n,i,r,e,t),A.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new o(16),t=new o(4),s=new o(4);return(n,i,a,r,l)=>{const o=A.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],A.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const r=new o(6),l={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:r};let c,u;for(r[0]=r[1]=r[2]=Number.POSITIVE_INFINITY,r[3]=r[4]=r[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cr[3]&&(r[3]=i[t]),i[t+1]r[4]&&(r[4]=i[t+1]),i[t+2]r[5]&&(r[5]=i[t+2])}}if(s.length<20||a>10)return l.triangles=s,l.leaf=!0,l;e[0]=r[3]-r[0],e[1]=r[4]-r[1],e[2]=r[5]-r[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),l.splitDim=p;const A=(r[p]+r[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};A.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),A.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i{this._needsRebuild=!0})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this._needsRebuild=!0}))}get root(){return this._needsRebuild&&this._rebuild(),this._root}_rebuild(){const e=this.viewer.scene;this._root={aabb:e.getAABB()};for(let t in e.objects){const s=e.objects[t];this._insertEntity(this._root,s,1)}this._needsRebuild=!1}_insertEntity(e,t,s){const n=t.aabb;if(s>=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&A.containsAABB3(e.left.aabb,n))return void this._insertEntity(e.left,t,s+1);if(e.right&&A.containsAABB3(e.right.aabb,n))return void this._insertEntity(e.right,t,s+1);const i=e.aabb;d[0]=i[3]-i[0],d[1]=i[4]-i[1],d[2]=i[5]-i[2];let a=0;if(d[1]>d[a]&&(a=1),d[2]>d[a]&&(a=2),!e.left){const r=i.slice();if(r[a+3]=(i[a]+i[a+3])/2,e.left={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.left,t,s+1)}if(!e.right){const r=i.slice();if(r[a]=(i[a]+i[a+3])/2,e.right={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.right,t,s+1)}e.entities=e.entities||[],e.entities.push(t)}destroy(){const e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}class I{constructor(){this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}get length(){return this._length}shift(){if(this._index>=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const y={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var m=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{T.removeItem(e.id),delete B.scenes[e.id],delete E[e.id],y.components.scenes--}))},this.clear=function(){let e;for(const t in B.scenes)B.scenes.hasOwnProperty(t)&&(e=B.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete B.scenes[e.id]))},this.scheduleTask=function(e,t){b.push(e),b.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;b.length>0&&(e<0||n0&&R>0){var t=1e3/R;_+=t,P.push(t),P.length>=30&&(_-=P.shift()),y.frame.fps=Math.round(_/P.length)}!function(e){const t=B.runTasks(e+10),s=B.getNumTasks();y.frame.tasksRun=t,y.frame.tasksScheduled=s,y.frame.tasksBudget=10}(e),function(e){for(var t in D.time=e,B.scenes)if(B.scenes.hasOwnProperty(t)){var s=B.scenes[t];D.sceneId=t,D.startTime=s.startTime,D.deltaTime=null!=D.prevTime?D.time-D.prevTime:0,s.fire("tick",D,!0)}D.prevTime=e}(e),function(){const e=B.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=E[r],n||(n=E[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),C=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O);class S{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof S))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+g.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(g.isNumeric(s)||g.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+g.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+g.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+g.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():B.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class F{constructor(){this.planes=[new M,new M,new M,new M,new M,new M]}}function H(e,t,s){const n=A.mulMat4(s,t,L),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],h=n[7],p=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,h-o,I-p,w-y),e.planes[1].set(l+i,h+o,I+p,w+y),e.planes[2].set(l-a,h-c,I-d,w-m),e.planes[3].set(l+a,h+c,I+d,w+m),e.planes[4].set(l-r,h-u,I-f,w-v),e.planes[5].set(l+r,h+u,I+f,w+v)}function U(e,t){let s=F.INSIDE;const n=N,i=x;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return F.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=F.INTERSECT)}return s}F.INSIDE=0,F.INTERSECT=1,F.OUTSIDE=2;class G extends S{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=A.vec2(),this._canvasMarqueeCorner2=A.vec2(),this._canvasMarquee=A.AABB2(),this._marqueeFrustum=new F,this._marqueeFrustumProjMat=A.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==G.PICK_MODE_INSIDE&&e!==G.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===G.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=F.INTERSECT)=>{if(n===F.INTERSECT&&(n=U(this._marqueeFrustum,s.aabb)),n!==F.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,h=-(this._canvasMarquee[1]-i)*r+1,p=this.viewer.scene.camera.frustum.near*(17*l);A.frustumMat4(o,c,u*l,h*l,p,1e4,this._marqueeFrustumProjMat),H(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}G.PICK_MODE_INTERSECTS=0,G.PICK_MODE_INSIDE=1;class j extends S{constructor(e){super(e.marqueePicker,e);const t=e.marqueePicker,s=t.viewer.scene.canvas.canvas;let n,i,a,r,l,o,c,u=!1,h=!1,p=!1;s.addEventListener("mousedown",(e=>{this.getActive()&&0===e.button&&(c=setTimeout((function(){const a=t.viewer.scene.input;a.keyDown[a.KEY_CTRL]||t.clear(),n=e.pageX,i=e.pageY,l=e.offsetX,t.setMarqueeCorner1([n,i]),u=!0,t.viewer.cameraControl.pointerEnabled=!1,t.setMarqueeVisible(!0),s.style.cursor="crosshair"}),400),h=!0)})),s.addEventListener("mouseup",(e=>{if(!this.getActive())return;if(!u&&!p)return;if(0!==e.button)return;clearTimeout(c),a=e.pageX,r=e.pageY;const s=Math.abs(a-n),l=Math.abs(r-i);u=!1,t.viewer.cameraControl.pointerEnabled=!0,p&&(p=!1),(s>3||l>3)&&t.pick()})),document.addEventListener("mouseup",(e=>{this.getActive()&&0===e.button&&(clearTimeout(c),u&&(t.setMarqueeVisible(!1),u=!1,h=!1,p=!0,t.viewer.cameraControl.pointerEnabled=!0))}),!0),s.addEventListener("mousemove",(e=>{this.getActive()&&0===e.button&&h&&(clearTimeout(c),u&&(a=e.pageX,r=e.pageY,o=e.offsetX,t.setMarqueeVisible(!0),t.setMarqueeCorner2([a,r]),t.setPickMode(l0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const k=A.vec3(),Q=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(n,t,s),A.setMat4Translation(n,s,a),a.slice()}}();function W(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function z(e,t,s,n=1e3){const i=A.getPositionsCenter(e,k),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(A.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){le.set(this._viewPos),le[3]=1,A.transformPoint4(this.scene.camera.projMatrix,le,oe);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+oe[0]/oe[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-oe[1]/oe[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof re?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),W(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ue{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class he{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class pe{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var Ae=A.vec3(),de=A.vec3();class fe extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._cornerMarker=new ce(s,t.corner),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._cornerWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ue(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ue(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new pe(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const p=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>p||f>p||I>p)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,h=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class me extends V{constructor(e,t={}){super("AngleMeasurements",e),this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,angleMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get control(){return this._defaultControl||(this._defaultControl=new ye(this,{})),this._defaultControl}get measurements(){return this._measurements}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.corner,n=e.target,i=new fe(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},corner:{entity:s.entity,worldPos:s.worldPos},target:{entity:n.entity,worldPos:n.worldPos},visible:e.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(()=>{delete this._measurements[i.id]})),this.fire("measurementCreated",i),i}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

";g.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._marker=t.firstChild,this._container.appendChild(this._marker),this._marker.style.visibility=this._markerShown?"visible":"hidden",this._marker.addEventListener("click",(()=>{this.plugin.fire("markerClicked",this)})),this._marker.addEventListener("mouseenter",(()=>{this.plugin.fire("markerMouseEnter",this)})),this._marker.addEventListener("mouseleave",(()=>{this.plugin.fire("markerMouseLeave",this)})),this._marker.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}if(!this._labelExternal){this._label&&(this._container.removeChild(this._label),this._label=null);let e=this._labelHTML||"

";g.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const we=A.vec3(),ge=A.vec3(),Ee=A.vec3();class Te extends V{constructor(e,t){super("Annotations",e),this._labelHTML=t.labelHTML||"
",this._markerHTML=t.markerHTML||"
",this._container=t.container||document.body,this._values=t.values||{},this.annotations={},this.surfaceOffset=t.surfaceOffset}getContainerElement(){return this._container}send(e,t){if("clearAnnotations"===e)this.clear()}set surfaceOffset(e){null==e&&(e=.3),this._surfaceOffset=e}get surfaceOffset(){return this._surfaceOffset}createAnnotation(e){var t,s;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){const n=e.pickResult;if(n.worldPos&&n.worldNormal){const e=A.normalizeVec3(n.worldNormal,we),i=A.mulVec3Scalar(e,this._surfaceOffset,ge);t=A.addVec3(n.worldPos,i,Ee),s=n.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,s=e.entity;var n=null;e.markerElementId&&((n=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var i=null;e.labelElementId&&((i=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));const a=new ve(this.viewer.scene,{id:e.id,plugin:this,entity:s,worldPos:t,container:this._container,markerElement:n,labelElement:i,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:g.apply(e.values,g.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[a.id]=a,a.on("destroyed",(()=>{delete this.annotations[a.id],this.fire("annotationDestroyed",a.id)})),this.fire("annotationCreated",a.id),a}destroyAnnotation(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}clear(){const e=Object.keys(this.annotations);for(var t=0,s=e.length;t
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const De=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class Pe extends S{constructor(e,t={}){super(e,t),this._backgroundColor=A.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new be(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+A.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?Ce.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?Ce.FS_MAX_FLOAT_PRECISION="mediump":Ce.FS_MAX_FLOAT_PRECISION="lowp":Ce.FS_MAX_FLOAT_PRECISION="mediump",Ce.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),Ce.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),Ce.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),Ce.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),Ce.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ce.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),Ce.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),Ce.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),Ce.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),Ce.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){Ce.SUPPORTED_EXTENSIONS[e]=!0})))}class Be{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class Oe{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function Me(e){console.error(e.join("\n"))}class Fe{constructor(e,t){this.id=xe.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new Oe(e,e.VERTEX_SHADER,Le(this.source.vertex)),this._fragmentShader=new Oe(e,e.FRAGMENT_SHADER,Le(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Me(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Me(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Me(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Ue{constructor(e,t){this.scene=e,this.aabb=A.AABB3(),this.origin=A.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Ue(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Ue(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Fe(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,h=this._getInverseProjectMat(),p=Math.random(),d="perspective"===n.camera.projection;ke[0]=a,ke[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,h),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,ke),t.uniform1f(this._uRandomSeed,p);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Fe(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new He(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new He(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const We=new Float32Array(Je(17,[0,1])),ze=new Float32Array(Je(17,[1,0])),Ke=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(qe(n,t));return s}(17,4)),Ye=new Float32Array(2);class Xe{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Fe(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new He(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new He(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),Ye[0]=r,Ye[1]=l,n.uniform2fv(this._uViewport,Ye),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,ze):n.uniform2fv(this._uSampleOffsets,We),n.uniform1fv(this._uSampleWeights,Ke);const h=e.getDepthTexture(),p=t.getTexture();i.bindTexture(this._uDepthTexture,h,0),i.bindTexture(this._uOcclusionTexture,p,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function qe(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Je(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class Ze{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class $e{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function et(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const tt=function(t,s){s=s||{};const n=new Re(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},h=!0,p=!0,d=!0,f=!0,I=!0,m=!0,v=!0,w=!0;const g=new $e(t);let E=!1;const T=new Qe(t),b=new Xe(t);function D(){h&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),h=!1,p=!0),p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),p=!1,d=!0),d&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=p.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=A.normalizeVec3([t[0]/A.MAX_INT,t[1]/A.MAX_INT,t[2]/A.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Ve(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const nt=new e({});class it{constructor(e){this.id=nt.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){nt.removeItem(this.id)}}class at extends S{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new it({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class rt extends S{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),A.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class lt extends S{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),A.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class ot extends S{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){A.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class ct extends S{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const ut=A.vec3(),ht=A.vec3(),pt=A.vec3(),At=A.vec3(),dt=A.vec3(),ft=A.vec3(),It=A.vec4(),yt=A.vec4(),mt=A.vec4(),vt=A.mat4(),wt=A.mat4(),gt=A.vec3(),Et=A.vec3(),Tt=A.vec3(),bt=A.vec3();class Dt extends S{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new it({deviceMatrix:A.mat4(),hasDeviceMatrix:!1,matrix:A.mat4(),normalMatrix:A.mat4(),inverseMatrix:A.mat4()}),this._perspective=new rt(this),this._ortho=new lt(this),this._frustum=new ot(this),this._customProjection=new ct(this),this._project=this._perspective,this._eye=A.vec3([0,0,10]),this._look=A.vec3([0,0,0]),this._up=A.vec3([0,1,0]),this._worldUp=A.vec3([0,1,0]),this._worldRight=A.vec3([1,0,0]),this._worldForward=A.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(A.subVec3(this._eye,this._look,gt),A.normalizeVec3(gt,Et),A.mulVec3Scalar(Et,1e3,Tt),A.addVec3(this._look,Tt,bt),t=bt):t=this._eye,e.hasDeviceMatrix?(A.lookAtMat4v(t,this._look,this._up,wt),A.mulMat4(e.deviceMatrix,wt,e.matrix)):A.lookAtMat4v(t,this._look,this._up,e.matrix),A.inverseMat4(this._state.matrix,this._state.inverseMatrix),A.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=A.subVec3(this._eye,this._look,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.eye=A.addVec3(this._look,t,pt),this.up=A.transformPoint3(vt,this._up,At)}orbitPitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._eye,this._look,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),t=A.transformPoint3(vt,t,At),this.up=A.transformPoint3(vt,this._up,dt),this.eye=A.addVec3(t,this._look,ft)}yaw(e){let t=A.subVec3(this._look,this._eye,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.look=A.addVec3(t,this._eye,pt),this._gimbalLock&&(this.up=A.transformPoint3(vt,this._up,At))}pitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._look,this._eye,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),this.up=A.transformPoint3(vt,this._up,ft),t=A.transformPoint3(vt,t,At),this.look=A.addVec3(t,this._eye,dt)}pan(e){const t=A.subVec3(this._eye,this._look,ut),s=[0,0,0];let n;if(0!==e[0]){const i=A.cross3Vec3(A.normalizeVec3(t,[]),A.normalizeVec3(this._up,ht));n=A.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=A.mulVec3Scalar(A.normalizeVec3(this._up,pt),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=A.mulVec3Scalar(A.normalizeVec3(t,At),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=A.addVec3(this._eye,s,dt),this.look=A.addVec3(this._look,s,ft)}zoom(e){const t=A.subVec3(this._eye,this._look,ut),s=Math.abs(A.lenVec3(t,ht)),n=Math.abs(s+e);if(n<.5)return;const i=A.normalizeVec3(t,pt);this.eye=A.addVec3(this._look,A.mulVec3Scalar(i,n),At)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=A.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return A.lenVec3(A.subVec3(this._look,this._eye,ut))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=It,s=yt,n=mt;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,A.mulMat4v4(this.viewMatrix,t,s),A.mulMat4v4(this.projMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class Pt extends S{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class Rt extends Pt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"dir",dir:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=A.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];A.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=A.identityMat4()),A.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class Ct extends Pt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:A.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class _t extends S{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),y.memory.meshes++}destroy(){super.destroy(),y.memory.meshes--}}var Bt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const Ot=function(){const e=A.mat4(),t=A.mat4();return function(s,n){n=n||A.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return A.identityMat4(e),A.translationMat4v(s,e),A.identityMat4(t),A.scalingMat4v([l/u,o/u,c/u],t),A.mulMat4(e,t,n),n}}();var St=function(){const e=A.mat4(),t=A.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Lt(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function Mt(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Ft={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=xt(e,l,"floor","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),s=xt(e,l,"ceil","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ht=y.memory,Ut=A.AABB3();class Gt extends _t{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Ft.getPositionsBounds(t.positions),n=Ft.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Ft.getUVBounds(t.uv),n=Ft.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Ft.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ht.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ht.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new He(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ht.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new He(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ht.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new He(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ht.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new He(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ht.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Bt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ht.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=A.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ht.positions+=this._pickTrianglePositionsBuf.numItems,Ht.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Ft.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Ft.getPositionsBounds(e),n=Ft.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Ft.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Ft.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=A.AABB3()),A.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=A.OBB3()),A.positions3ToAABB3(this._state.positions,Ut,this._state.positionsDecodeMatrix),A.AABB3ToOBB3(Ut,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ht.meshes--}}function jt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Vt extends S{get type(){return"Material"}constructor(e,t={}){super(e,t),y.memory.materials++}destroy(){super.destroy(),y.memory.materials--}}const kt={opaque:0,mask:1,blend:2},Qt=["opaque","mask","blend"];class Wt extends Vt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new it({type:"PhongMaterial",ambient:A.vec3([1,1,1]),diffuse:A.vec3([1,1,1]),specular:A.vec3([1,1,1]),emissive:A.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=kt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Qt[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const zt={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Kt extends Vt{get type(){return"EmphasisMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new it({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Xt extends Vt{get type(){return"EdgeMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new it({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const qt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Jt extends S{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=A.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return qt}set units(e){e||(e="meters");qt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=A.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=A.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Zt extends S{constructor(e,t={}){super(e,t),this._supported=Ce.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const $t={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class es extends Vt{get type(){return"PointsMaterial"}get presets(){return $t}constructor(e,t={}){super(e,t),this._state=new it({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=$t[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys($t).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const ts={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class ss extends Vt{get type(){return"LinesMaterial"}get presets(){return ts}constructor(e,t={}){super(e,t),this._state=new it({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=ts[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(ts).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function ns(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new tt(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=A.vec4([0,0,0,0]),t=A.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+g.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=A.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],g.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&B.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=ns(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=ns(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=A.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){g.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const as=1e3,rs=1001,ls=1002,os=1003,cs=1004,us=1004,hs=1005,ps=1005,As=1006,ds=1007,fs=1007,Is=1008,ys=1008,ms=1009,vs=1010,ws=1011,gs=1012,Es=1013,Ts=1014,bs=1015,Ds=1016,Ps=1017,Rs=1018,Cs=1020,_s=1021,Bs=1022,Os=1023,Ss=1024,Ns=1025,xs=1026,Ls=1027,Ms=1028,Fs=1029,Hs=1030,Us=1031,Gs=1033,js=33776,Vs=33777,ks=33778,Qs=33779,Ws=35840,zs=35841,Ks=35842,Ys=35843,Xs=36196,qs=37492,Js=37496,Zs=37808,$s=37809,en=37810,tn=37811,sn=37812,nn=37813,an=37814,rn=37815,ln=37816,on=37817,cn=37818,un=37819,hn=37820,pn=37821,An=36492,dn=3e3,fn=3001,In=1e4,yn=10001,mn=10002,vn=10003,wn=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=Tn(e),p=n.getNumAllocatedSectionPlanes()>0,A=En(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=Tn(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=En(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+gn[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+gn[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+gn[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+gn[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+gn[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+gn[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class Cn{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const _n=new e({}),Bn=A.vec3(),On=function(e,t){this.id=_n.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Cn(t),this._allocate(t)},Sn={};On.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Sn[t];return s||(s=new On(t,e),Sn[t]=s,y.memory.programs++),s._useCount++,s},On.prototype.put=function(){0==--this._useCount&&(_n.removeItem(this.id),this._program&&this._program.destroy(),delete Sn[this._hash],y.memory.programs--)},On.prototype.webglContextRestored=function(){this._program=null},On.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const xn=new e({}),Ln=A.vec3(),Mn=function(e,t){this.id=xn.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Nn(t),this._allocate(t)},Fn={};Mn.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Fn[t];return s||(s=new Mn(t,e),Fn[t]=s,y.memory.programs++),s._useCount++,s},Mn.prototype.put=function(){0==--this._useCount&&(xn.removeItem(this.id),this._program&&this._program.destroy(),delete Fn[this._hash],y.memory.programs--)},Mn.prototype.webglContextRestored=function(){this._program=null},Mn.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const Un=A.vec3(),Gn=function(e,t){this._hash=e,this._shaderSource=new Hn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},jn={};Gn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=jn[t];if(!s){if(s=new Gn(t,e),s.errors)return console.log(s.errors.join("\n")),null;jn[t]=s,y.memory.programs++}return s._useCount++,s},Gn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete jn[this._hash],y.memory.programs--)},Gn.prototype.webglContextRestored=function(){this._program=null},Gn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},Gn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const kn=A.vec3(),Qn=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Vn(t),this._allocate(t)},Wn={};Qn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Wn[t];if(!s){if(s=new Qn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Wn[t]=s,y.memory.programs++}return s._useCount++,s},Qn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Wn[this._hash],y.memory.programs--)},Qn.prototype.webglContextRestored=function(){this._program=null},Qn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Kn=A.vec3(),Yn=function(e,t){this._hash=e,this._shaderSource=new zn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Xn={};Yn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Xn[t];if(!s){if(s=new Yn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Xn[t]=s,y.memory.programs++}return s._useCount++,s},Yn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Xn[this._hash],y.memory.programs--)},Yn.prototype.webglContextRestored=function(){this._program=null},Yn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const Jn=function(e,t){this._hash=e,this._shaderSource=new qn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Zn={};Jn.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Zn[s];if(!n){if(n=new Jn(s,e),n.errors)return console.log(n.errors.join("\n")),null;Zn[s]=n,y.memory.programs++}return n._useCount++,n},Jn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Zn[this._hash],y.memory.programs--)},Jn.prototype.webglContextRestored=function(){this._program=null},Jn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Jn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const hi=function(){const e=A.vec3(),t=A.vec3(),s=A.vec3(),n=A.vec3(),i=A.vec3(),a=A.vec3(),r=A.vec4(),l=A.vec3(),o=A.vec3(),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3(),y=A.vec4(),m=A.vec4(),v=A.vec4(),w=A.vec3(),g=A.vec3(),E=A.vec3(),T=A.vec3(),b=A.vec3(),D=A.vec3(),P=A.vec3(),R=A.vec3(),C=A.vec3(),_=A.vec3(),B=A.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,G=O.scene,j=G.camera,V=G.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const G=L,k=U.indices,W=U.positions;let z,K,Y;if(k){var M=k[G+0],F=k[G+1],H=k[G+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*G,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Ft.decompressPosition(s,e,s),Ft.decompressPosition(n,e,n),Ft.decompressPosition(i,e,i))}x.canvasPos?A.canvasPosToLocalRay(V.canvas,O.origin?Q(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&A.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),A.normalizeVec3(t),A.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,A.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,A.transformVec4(j.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,A.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Ft.decompressNormal(X.subarray(e,e+2),u),Ft.decompressNormal(X.subarray(t,t+2),h),Ft.decompressNormal(X.subarray(s,s+2),p)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],h[0]=X[K],h[1]=X[K+1],h[2]=X[K+2],p[0]=X[Y],p[1]=X[Y+1],p[2]=X[Y+2];const e=A.addVec3(A.addVec3(A.mulVec3Scalar(u,c[0],w),A.mulVec3Scalar(h,c[1],g),E),A.mulVec3Scalar(p,c[2],T),b);x.worldNormal=A.normalizeVec3(A.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Ft.decompressUV(d,e,d),Ft.decompressUV(f,e,f),Ft.decompressUV(I,e,I))}x.uv=A.addVec3(A.addVec3(A.mulVec2Scalar(d,c[0],P),A.mulVec2Scalar(f,c[1],R),C),A.mulVec2Scalar(I,c[2],_),B)}}}}}();function pi(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],m=[],v=[];let w,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(w=0;w<=a;w++)for(D=t-w*f,P=h-w*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),m.push(E*d),m.push(1*w/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(w=0;w0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),m.push(B),m.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),m.push(B),m.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function fi(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;g.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,m=(o||"").split("\n"),v=0,w=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=Li(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=Li(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=Li(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Ui(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Ui(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Li(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Li(s,this.magFilter)));const l=Li(s,this.format,this.encoding),o=Li(s,this.type),c=Hi(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class ki extends S{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new it({texture:new Fi({gl:this.scene.canvas.gl}),matrix:A.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=A.vec2([0,0]),this._scale=A.vec2([1,1]),this._rotate=A.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),y.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new Fi({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=A.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=A.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?A.mulMat4(t,s):s),0!==this._rotate&&(s=A.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?A.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=Gi(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=Gi(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),y.memory.textures--}}class Qi extends S{get type(){return"Fresnel"}constructor(e,t={}){super(e,t),this._state=new it({edgeColor:A.vec3([0,0,0]),centerColor:A.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),this.edgeColor=t.edgeColor,this.centerColor=t.centerColor,this.edgeBias=t.edgeBias,this.centerBias=t.centerBias,this.power=t.power}set edgeColor(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set centerColor(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}get centerColor(){return this._state.centerColor}set edgeBias(e){this._state.edgeBias=e||0,this.glRedraw()}get edgeBias(){return this._state.edgeBias}set centerBias(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}get centerBias(){return this._state.centerBias}set power(e){this._state.power=null!=e?e:1,this.glRedraw()}get power(){return this._state.power}destroy(){super.destroy(),this._state.destroy()}}const Wi=y.memory,zi=A.AABB3();class Ki extends _t{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=A.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Ft.getPositionsBounds(t.positions),a=Ft.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new He(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),Wi.positions+=s.positionsBuf.numItems,A.positions3ToAABB3(t.positions,this._aabb),A.positions3ToAABB3(i,zi,s.positionsDecodeMatrix),A.AABB3ToOBB3(zi,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),Wi.colors+=s.colorsBuf.numItems}if(t.uv){const e=Ft.getUVBounds(t.uv),i=Ft.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new He(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),Wi.uvs+=s.uvBuf.numItems}if(t.normals){const e=Ft.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),Wi.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),Wi.indices+=s.indicesBuf.numItems;const a=Bt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),Wi.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Wi.meshes--}}var Yi={};function Xi(e,t={}){return new Promise((function(s,n){t.src||(console.error("load3DSGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,n());var a=Yi.parse.from3DS(e).edit.objects[0].mesh,r=a.vertices,l=a.uvt,o=a.indices;i.processes--,s(g.apply(t,{primitive:"triangles",positions:r,normals:null,uv:l,indices:o}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,n()}))}))}function qi(e,t={}){return new Promise((function(s,n){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,n());for(var a=Yi.parse.fromOBJ(e),r=Yi.edit.unwrap(a.i_verts,a.c_verts,3),l=Yi.edit.unwrap(a.i_norms,a.c_norms,3),o=Yi.edit.unwrap(a.i_uvt,a.c_uvt,2),c=new Int32Array(a.i_verts.length),u=0;u0?l:null,autoNormals:0===l.length,uv:o,indices:c}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,n()}))}))}function Ji(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{primitive:"lines",positions:[o,c,u,o,c,A,o,p,u,o,p,A,h,c,u,h,c,A,h,p,u,h,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Zi(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return g.apply(e,{primitive:"lines",positions:a,indices:r})}function $i(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),m=new Float32Array(A*d*3),v=new Float32Array(A*d*2);let w,E,T,b,D,P,R,C=0,_=0;for(w=0;w65535?Uint32Array:Uint16Array)(h*p*6);for(w=0;w360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],h=[],p=[],d=[];let f,I,y,m,v,w,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),m=(t+s*Math.cos(I))*Math.sin(f),v=s*Math.sin(I),u.push(y+l),u.push(m+o),u.push(v+c),p.push(1-E/n),p.push(T/i),w=A.normalizeVec3(A.subVec3([y,m,v],[l,o,c],[]),[]),h.push(w[0]),h.push(w[1]),h.push(w[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return g.apply(e,{positions:u,normals:h,uv:p,indices:d})}Yi.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Yi.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Yi.parse._buffToStr(e));window.location.href=s},Yi.clone=function(e){return JSON.parse(JSON.stringify(e))},Yi.bin={},Yi.bin.f=new Float32Array(1),Yi.bin.fb=new Uint8Array(Yi.bin.f.buffer),Yi.bin.rf=function(e,t){for(var s=Yi.bin.f,n=Yi.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Yi.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Yi.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Yi.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Yi.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Yi.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Yi.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Yi.parse={},Yi.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class ta extends S{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=A.vec3(t.pos||[0,0,0]),this._up=A.vec3(t.up||[0,1,0]),this._normal=A.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=A.vec3(),this._rtcPos=A.vec3(),this._imageSize=A.vec2(),this._texture=new ki(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new Ri(this,{matrix:A.inverseMat4(A.lookAtMat4v(this._pos,A.subVec3(this._pos,this._normal,A.mat4()),this._up,A.mat4())),children:[this._bitmapMesh=new ui(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class sa extends S{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=A.vec3(),i=z(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;ed.has(e.id)||I.has(e.id)||f.has(e.id))).reduce(((e,s)=>{let n,i=function(e){let t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0"),t}(s.colorize);s.xrayed?(n=0===t.xrayMaterial.fillAlpha&&0!==t.xrayMaterial.edgeAlpha?.1:t.xrayMaterial.fillAlpha,n=Math.round(255*n).toString(16).padStart(2,"0"),i=n+i):d.has(s.id)&&(n=Math.round(255*s.opacity).toString(16).padStart(2,"0"),i=n+i),e[i]||(e[i]=[]);const a=s.id,r=s.originalSystemId,l={ifc_guid:r,originating_system:this.originatingSystem};return r!==a&&(l.authoring_tool_id=a),e[i].push(l),e}),{}),m=Object.entries(y).map((([e,t])=>({color:e,components:t})));a.components.coloring=m;const v=t.objectIds,w=t.visibleObjects,g=t.visibleObjectIds,E=v.filter((e=>!w[e])),T=t.selectedObjectIds;return e.defaultInvisible||g.length0&&e.clipping_planes.forEach((function(e){let t=ca(e.location,na),s=ca(e.direction,na);c&&A.negateVec3(s),A.subVec3(t,o),i.yUp&&(t=ha(t),s=ha(s)),new yi(n,{pos:t,dir:s})})),n.clearLines(),e.lines&&e.lines.length>0){const t=[],s=[];let i=0;e.lines.forEach((e=>{e.start_point&&e.end_point&&(t.push(e.start_point.x),t.push(e.start_point.y),t.push(e.start_point.z),t.push(e.end_point.x),t.push(e.end_point.y),t.push(e.end_point.z),s.push(i++),s.push(i++))})),new sa(n,{positions:t,indices:s,clippable:!1,collidable:!0})}if(n.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){const t=e.bitmap_type||"jpg",s=e.bitmap_data;let a=ca(e.location,ia),r=ca(e.normal,aa),l=ca(e.up,ra),o=e.height||1;t&&s&&a&&r&&l&&(i.yUp&&(a=ha(a),r=ha(r),l=ha(l)),new ta(n,{src:s,type:t,pos:a,normal:r,up:l,clippable:!1,collidable:!0,height:o}))})),l&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),n.setObjectsHighlighted(n.highlightedObjectIds,!1),n.setObjectsSelected(n.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(n.setObjectsVisible(n.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!1))))):(n.setObjectsVisible(n.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!0)))));const i=e.components.visibility.view_setup_hints;i&&(!1===i.spaces_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==i.spaces_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcSpace"),!0),i.space_boundaries_visible,!1===i.openings_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcOpening"),!0),i.space_boundaries_translucent,void 0!==i.openings_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(n.setObjectsSelected(n.selectedObjectIds,!1),e.components.selection.forEach((e=>this._withBCFComponent(t,e,(e=>e.selected=!0))))),e.components.translucency&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),e.components.translucency.forEach((e=>this._withBCFComponent(t,e,(e=>e.xrayed=!0))))),e.components.coloring&&e.components.coloring.forEach((e=>{let s=e.color,n=0,i=!1;8===s.length&&(n=parseInt(s.substring(0,2),16)/256,n<=1&&n>=.95&&(n=1),s=s.substring(2),i=!0);const a=[parseInt(s.substring(0,2),16)/256,parseInt(s.substring(2,4),16)/256,parseInt(s.substring(4,6),16)/256];e.components.map((e=>this._withBCFComponent(t,e,(e=>{e.colorize=a,i&&(e.opacity=n)}))))}))}if(e.perspective_camera||e.orthogonal_camera){let l,c,u,h;if(e.perspective_camera?(l=ca(e.perspective_camera.camera_view_point,na),c=ca(e.perspective_camera.camera_direction,na),u=ca(e.perspective_camera.camera_up_vector,na),i.perspective.fov=e.perspective_camera.field_of_view,h="perspective"):(l=ca(e.orthogonal_camera.camera_view_point,na),c=ca(e.orthogonal_camera.camera_direction,na),u=ca(e.orthogonal_camera.camera_up_vector,na),i.ortho.scale=e.orthogonal_camera.view_to_world_scale,h="ortho"),A.subVec3(l,o),i.yUp&&(l=ha(l),c=ha(c),u=ha(u)),a){const e=n.pick({pickSurface:!0,origin:l,direction:c});c=e?e.worldPos:A.addVec3(l,c,na)}else c=A.addVec3(l,c,na);r?(i.eye=l,i.look=c,i.up=u,i.projection=h):s.cameraFlight.flyTo({eye:l,look:c,up:u,duration:t.duration,projection:h})}}_withBCFComponent(e,t,s){const n=this.viewer,i=n.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){const a=t.authoring_tool_id,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}}if(t.ifc_guid){const a=t.ifc_guid,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}Object.keys(i.models).forEach((t=>{const r=A.globalizeObjectId(t,a),l=i.objects[r];if(l)s(l);else if(e.updateCompositeObjects){n.metaScene.metaObjects[r]&&i.withObjects(n.metaScene.getObjectIDsInSubtree(r),s)}}))}}destroy(){super.destroy()}}function oa(e){return{x:e[0],y:e[1],z:e[2]}}function ca(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function ua(e){return new Float64Array([e[0],-e[2],e[1]])}function ha(e){return new Float64Array([e[0],e[2],-e[1]])}const pa=A.vec3(),Aa=(e,t,s,n)=>{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class da extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ue(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ue(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ue(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ue(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new pe(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new pe(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new pe(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new pe(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],h=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var p=0,d=n.length;p{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red")):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class ya extends V{constructor(e,t={}){super("DistanceMeasurements",e),this._pointerLens=t.pointerLens,this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.labelMinAxisLength=t.labelMinAxisLength,this.defaultVisible=!1!==t.defaultVisible,this.defaultOriginVisible=!1!==t.defaultOriginVisible,this.defaultTargetVisible=!1!==t.defaultTargetVisible,this.defaultWireVisible=!1!==t.defaultWireVisible,this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.defaultAxisVisible=!1!==t.defaultAxisVisible,this.defaultXAxisVisible=!1!==t.defaultXAxisVisible,this.defaultYAxisVisible=!1!==t.defaultYAxisVisible,this.defaultZAxisVisible=!1!==t.defaultZAxisVisible,this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,distanceMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get pointerLens(){return this._pointerLens}get control(){return this._defaultControl||(this._defaultControl=new Ia(this,{})),this._defaultControl}get measurements(){return this._measurements}set labelMinAxisLength(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}get labelMinAxisLength(){return this._labelMinAxisLength}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.target,n=new da(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},target:{entity:s.entity,worldPos:s.worldPos},visible:e.visible,wireVisible:e.wireVisible,axisVisible:!1!==e.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==e.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==e.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==e.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==e.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:e.originVisible,targetVisible:e.targetVisible,color:e.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[n.id]=n,n.on("destroyed",(()=>{delete this._measurements[n.id]})),this.fire("measurementCreated",n),n}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}setAxisVisible(e){for(const[t,s]of Object.entries(this.measurements))s.axisVisible=e;this.defaultAxisVisible=e}getAxisVisible(){return this.defaultAxisVisible}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{s=1e3*this._delayBeforeRestoreSeconds,n||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,n=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",i),this._onCameraMatrix=e.scene.camera.on("matrix",i),this._onSceneTick=e.scene.on("tick",(t=>{n&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),n=!1))}));let a=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{a=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{a=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{a&&i()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}class va{constructor(){}getMetaModel(e,t,s){g.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class wa{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=ga(e,s);return n?t?Ea(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=ga(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Ea(i,[t]),s&&(i=Ea(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function ga(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=A.subVec3(a,i,[]);return A.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=A.lenVec3(A.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class ba extends Ta{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=A.vec3();return c[0]=A.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=A.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=A.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const Da=A.vec3();class Pa extends S{get type(){return"CameraPath"}constructor(e,t={}){super(e,t),this._frames=[],this._eyeCurve=new ba(this),this._lookCurve=new ba(this),this._upCurve=new ba(this),t.frames&&(this.addFrames(t.frames),this.smoothFrameTimes(1))}get frames(){return this._frames}get eyeCurve(){return this._eyeCurve}get lookCurve(){return this._lookCurve}get upCurve(){return this._upCurve}saveFrame(e){const t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}addFrame(e,t,s,n){const i={t:e,eye:t.slice(0),look:s.slice(0),up:n.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}addFrames(e){let t;for(let s=0,n=e.length;s1?1:e,t.eye=this._eyeCurve.getPoint(e,Da),t.look=this._lookCurve.getPoint(e,Da),t.up=this._upCurve.getPoint(e,Da)}sampleFrame(e,t,s,n){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,s),this._upCurve.getPoint(e,n)}smoothFrameTimes(e){if(0===this._frames.length)return;const t=A.vec3();var s=0;this._frames[0].t=0;const n=[];for(let e=1,a=this._frames.length;e=1;e>1&&(e=1);const s=this.easing?Sa._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(A.subVec3(n.eye,n.look,Oa),n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.subVec3(_a,Oa,Ca)):this._flyingLook&&(n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)):this._flyingEyeLookUp&&(n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)),this._projection2){const t="ortho"===this._projection2?Sa._easeOutExpo(e,0,1,1):Sa._easeInCubic(e,0,1,1);n.customProjection.matrix=A.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();B.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class Na extends S{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new Sa(this),this._t=0,this.state=Na.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case Na.SCRUBBING:return;case Na.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=Na.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case Na.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=Na.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=Na.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=Na.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=Na.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=Na.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=Na.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=Na.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}Na.STOPPED=0,Na.SCRUBBING=1,Na.PLAYING=2,Na.PLAYING_TO=3;const xa=A.vec3(),La=A.vec3();A.vec3();const Ma=A.vec3([0,-1,0]),Fa=A.vec4([0,0,0,1]);class Ha extends S{constructor(e,t={}){super(e,t),this._src=null,this._image=null,this._pos=A.vec3(),this._origin=A.vec3(),this._rtcPos=A.vec3(),this._dir=A.vec3(),this._size=1,this._imageSize=A.vec2(),this._texture=new ki(this),this._plane=new ui(this,{geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0}),clippable:t.clippable}),this._grid=new ui(this,{geometry:new Gt(this,Zi({size:1,divisions:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:t.clippable}),this._node=new Ri(this,{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[this._plane,this._grid]}),this._gridVisible=!1,this.visible=!0,this.gridVisible=t.gridVisible,this.position=t.position,this.rotation=t.rotation,this.dir=t.dir,this.size=t.size,this.collidable=t.collidable,this.clippable=t.clippable,this.pickable=t.pickable,this.opacity=t.opacity,t.image?this.image=t.image:this.src=t.src}set visible(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}get visible(){return this._plane.visible}set gridVisible(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}get gridVisible(){return this._gridVisible}set image(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}get image(){return this._image}set src(e){if(this._src=e,this._src){this._image=null;const e=new Image;e.onload=()=>{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set position(e){this._pos.set(e||[0,0,0]),W(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}get position(){return this._pos}set rotation(e){this._node.rotation=e}get rotation(){return this._node.rotation}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set dir(e){if(this._dir.set(e||[0,0,-1]),e){const t=this.scene.center,s=[-this._dir[0],-this._dir[1],-this._dir[2]];A.subVec3(t,this.position,xa);const n=-A.dotVec3(s,xa);A.normalizeVec3(s),A.mulVec3Scalar(s,n,La),A.vec3PairToQuaternion(Ma,e,Fa),this._node.quaternion=Fa}}get dir(){return this._dir}set collidable(e){this._node.collidable=!1!==e}get collidable(){return this._node.collidable}set clippable(e){this._node.clippable=!1!==e}get clippable(){return this._node.clippable}set pickable(e){this._node.pickable=!1!==e}get pickable(){return this._node.pickable}set opacity(e){this._node.opacity=e}get opacity(){return this._node.opacity}destroy(){super.destroy()}_updatePlaneSizeFromImage(){const e=this._size,t=this._imageSize[0],s=this._imageSize[1];if(t>s){const n=s/t;this._node.scale=[e,1,e*n]}else{const n=t/s;this._node.scale=[e*n,1,e]}}}class Ua extends Pt{get type(){return"PointLight"}constructor(e,t={}){super(e,t);const s=this;this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const n=this.scene.camera,i=this.scene.canvas;this._onCameraViewMatrix=n.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=n.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=i.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"point",pos:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(s._shadowViewMatrixDirty){s._shadowViewMatrix||(s._shadowViewMatrix=A.identityMat4());const e=s._state.pos,t=n.look,i=n.up;A.lookAtMat4v(e,t,i,s._shadowViewMatrix),s._shadowViewMatrixDirty=!1}return s._shadowViewMatrix},getShadowProjMatrix:()=>{if(s._shadowProjMatrixDirty){s._shadowProjMatrix||(s._shadowProjMatrix=A.identityMat4());const e=s.scene.canvas.canvas;A.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,s._shadowProjMatrix),s._shadowProjMatrixDirty=!1}return s._shadowProjMatrix},getShadowRenderBuf:()=>(s._shadowRenderBuf||(s._shadowRenderBuf=new Ze(s.scene.canvas.canvas,s.scene.canvas.gl,{size:[1024,1024]})),s._shadowRenderBuf)}),this.pos=t.pos,this.color=t.color,this.intensity=t.intensity,this.constantAttenuation=t.constantAttenuation,this.linearAttenuation=t.linearAttenuation,this.quadraticAttenuation=t.quadraticAttenuation,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set pos(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get pos(){return this._state.pos}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set constantAttenuation(e){this._state.attenuation[0]=e||0,this.glRedraw()}get constantAttenuation(){return this._state.attenuation[0]}set linearAttenuation(e){this._state.attenuation[1]=e||0,this.glRedraw()}get linearAttenuation(){return this._state.attenuation[1]}set quadraticAttenuation(e){this._state.attenuation[2]=e||0,this.glRedraw()}get quadraticAttenuation(){return this._state.attenuation[2]}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}function Ga(e){if(!ja(e.width)||!ja(e.height)){const t=document.createElement("canvas");t.width=Va(e.width),t.height=Va(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ja(e){return 0==(e&e-1)}function Va(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class ka extends S{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new it({texture:new Fi({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),y.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set collidable(e){this._mesh.collidable=!1!==e}get collidable(){return this._mesh.collidable}set clippable(e){this._mesh.clippable=!1!==e}get clippable(){return this._mesh.clippable}set pickable(e){this._mesh.pickable=!1!==e}get pickable(){return this._mesh.pickable}set opacity(e){this._mesh.opacity=e}get opacity(){return this._mesh.opacity}_updatePlaneSizeFromImage(){const e=.5*this._size,t=this._imageSize[0],s=this._imageSize[1],n=s/t;this._geometry.positions=t>s?[e,e*n,0,-e,e*n,0,-e,-e*n,0,e,-e*n,0]:[e/n,e,0,-e/n,e,0,-e/n,-e,0,e/n,-e,0]}}class Ka{constructor(e){this._eye=A.vec3(),this._look=A.vec3(),this._up=A.vec3(),this._projection={},e&&this.saveCamera(e)}saveCamera(e){const t=e.camera,s=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:s.fov,fovAxis:s.fovAxis,near:s.near,far:s.far};break;case"ortho":this._projection={projection:"ortho",scale:s.scale,near:s.near,far:s.far};break;case"frustum":this._projection={projection:"frustum",left:s.left,right:s.right,top:s.top,bottom:s.bottom,near:s.near,far:s.far};break;case"custom":this._projection={projection:"custom",matrix:s.matrix.slice()}}}restoreCamera(e,t){const s=e.camera,n=this._projection;function i(){switch(n.type){case"perspective":s.perspective.fov=n.fov,s.perspective.fovAxis=n.fovAxis,s.perspective.near=n.near,s.perspective.far=n.far;break;case"ortho":s.ortho.scale=n.scale,s.ortho.near=n.near,s.ortho.far=n.far;break;case"frustum":s.frustum.left=n.left,s.frustum.right=n.right,s.frustum.top=n.top,s.frustum.bottom=n.bottom,s.frustum.near=n.near,s.frustum.far=n.far;break;case"custom":s.customProjection.matrix=n.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:n.scale,projection:n.projection},(()=>{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ya=A.vec3();class Xa{constructor(e){if(this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,e){const t=e.metaScene.scene;this.saveObjects(t,e)}}saveObjects(e,t,s){this.numObjects=0,this._mask=s?g.apply(s,{}):null;const n=!s||s.visible,i=!s||s.edges,a=!s||s.xrayed,r=!s||s.highlighted,l=!s||s.selected,o=!s||s.clippable,c=!s||s.pickable,u=!s||s.colorize,h=!s||s.opacity,p=t.metaObjects,A=e.objects;for(let e=0,t=p.length;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=A.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=A.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}class $a extends Ta{constructor(e,t={}){super(e,t),this._cachedLengths=[],this._dirty=!0,this._curves=[],this._t=0,this._dirtySubs=[],this._destroyedSubs=[],this.curves=t.curves||[],this.t=t.t}addCurve(e){this._curves.push(e),this._dirty=!0}set curves(e){var t,s,n;for(e=e||[],s=0,n=this._curves.length;s1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}get length(){var e=this._getCurveLengths();return e[e.length-1]}getPoint(e){for(var t,s=e*this.length,n=this._getCurveLengths(),i=0;i=s){var a=1-(n[i]-s)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}_getCurveLengths(){if(!this._dirty)return this._cachedLengths;var e,t=[],s=0,n=this._curves.length;for(e=0;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=A.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=A.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}const tr=A.OBB3(),sr=A.OBB3(),nr=A.OBB3();class ir{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=A.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(A.AABB3ToOBB3(this._aabbLocal,tr),this.transform?(A.transformOBB3(this.transform.worldMatrix,tr,sr),A.transformOBB3(this.model.worldMatrix,sr,nr),A.OBB3ToAABB3(nr,this._aabbWorld)):(A.transformOBB3(this.model.worldMatrix,tr,sr),A.OBB3ToAABB3(sr,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const ar=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let rr=0;const lr={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},or=new Float32Array([1,1,1,1]),cr=new Float32Array([0,0,0,1]),ur=A.vec4(),hr=A.vec3(),pr=A.vec3(),Ar=A.mat4();class dr{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;ur[0]=s,ur[1]=n,ur[2]=t.blendCutoff,ur[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,ur),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?cr:or)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,y.memory.programs--}}class fr extends dr{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Ir extends fr{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class yr extends dr{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class mr extends yr{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class vr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class wr extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class gr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Er extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Tr extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class br extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class Pr extends Ir{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Rr extends Ir{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Cr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class _r extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Br extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Or extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Sr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Nr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class xr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class Lr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Fr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const jr=A.mat4(),Vr=A.mat4();function kr(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,h=65525,p=h/o,d=h/c,f=h/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function zr(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const Kr=A.vec3(),Yr=A.vec3(),Xr=A.vec3(),qr=A.vec3(),Jr=A.mat4();class Zr extends dr{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Kr;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=Yr;if(o){const e=Xr;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,Jr),y=qr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const $r=A.vec3(),el=A.vec3(),tl=A.vec3(),sl=A.vec3(),nl=A.mat4();class il extends dr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=$r;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=el;if(o){const e=tl;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,nl),y=sl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class al{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const rl={};const ll=A.mat4(),ol=A.mat4(),cl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();const ul=A.vec3(),hl=A.vec3(),pl=A.vec3(),Al=A.vec3(),dl=A.vec3(),fl=A.vec3(),Il=A.vec3();class yl{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Ur[t];return s||(s=new Hr(e),Ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ur[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=rl[t];return s||(s=new al(e),rl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete rl[t],s._destroy()}))),s}(e.model.scene),this._buffer=new Gr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({origin:A.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=A.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=A.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=A.collapseAABB3(),this.solid=!!e.solid}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)for(let e=0,t=a.length;e0){const e=ll;y?A.inverseMat4(A.transposeMat4(y,ol),e):A.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,h,p=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(h=0;hu&&(o=r,u=c),r=Wr(d,"floor","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),r=Wr(d,"ceil","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),n[i+h+0]=o[0],n[i+h+1]=o[1],n[i+h+2]=0}(e,i,i.length,w.normals,w.normals.length)}if(o)for(let e=0,t=o.length;e0)for(let e=0,t=r.length;e0)for(let e=0,t=l.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):kr(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=A.mat4());if(e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new He(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new He(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Ft.getUVBounds(s.uv),i=Ft.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=A.mat3(i.decodeMatrix),e.uvBuf=new He(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new He(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&A.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class ml extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class vl extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class gl extends mr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class El extends mr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Tl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class bl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Dl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Pl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Rl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class Cl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class _l extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Bl={3e3:"linearToLinear",3001:"sRGBToLinear"};class Ol extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Bl[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Bl[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Nl extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vl=A.vec3(),kl=A.vec3(),Ql=A.vec3(),Wl=A.vec3(),zl=A.mat4();class Kl extends dr{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Vl;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=kl;if(o){const e=A.transformPoint3(u,o,Ql);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,zl),y=Wl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Yl{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const Xl={};const ql=new Uint8Array(4),Jl=new Float32Array(1),Zl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const $l=new Float32Array(3),eo=A.vec3(),to=A.vec3(),so=A.vec3(),no=A.vec3(),io=A.vec3(),ao=A.vec3(),ro=A.vec3(),lo=new Float32Array(4);class oo{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=Ll[t];return s||(s=new xl(e),Ll[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ll[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=Xl[t];return s||(s=new Yl(e),Xl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Xl[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({numInstances:0,obb:A.OBB3(),origin:A.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new He(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new He(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=A.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new He(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ql[0]=t[0],ql[1]=t[1],ql[2]=t[2],ql[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(ql,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?1:0)<<16,Jl[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(Jl,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?($l[0]=t[0],$l[1]=t[1],$l[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData($l,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],h=Zl,p=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&A.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(A.transformVec3(l.normalMatrix,i,i),A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class co extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class uo extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class ho{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new co(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new uo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const po={};class Ao{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class fo{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=po[t];return s||(s=new ho(e),po[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete po[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Ao(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class yo extends Er{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class mo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Io(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new yo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const vo={};const wo=new Uint8Array(4),go=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Eo=new Float32Array(3),To=new Float32Array(4);class bo{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=vo[t];return s||(s=new mo(e),vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,e.origin&&(this._state.origin=A.vec3(e.origin)),this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;this._state.colorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";wo[0]=t[0],wo[1]=t[1],wo[2]=t[2],wo[3]=t[3],this._state.colorsBuf.setData(wo,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,go[0]=A,this._state.flagsBuf.setData(go,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Eo[0]=t[0],Eo[1]=t[1],Eo[2]=t[2],this._state.offsetsBuf.setData(Eo,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;To[0]=t[0],To[1]=t[4],To[2]=t[8],To[3]=t[12],this._state.modelMatrixCol0Buf.setData(To,s),To[0]=t[1],To[1]=t[5],To[2]=t[9],To[3]=t[13],this._state.modelMatrixCol1Buf.setData(To,s),To[0]=t[2],To[1]=t[6],To[2]=t[10],To[3]=t[14],this._state.modelMatrixCol2Buf.setData(To,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Do extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Po extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class Ro extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Co extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class _o extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Bo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Do(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Po(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Ro(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Co(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new _o(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Oo={};class So{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}A.vec4(),A.vec4(),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class No{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Oo[t];return s||(s=new Bo(e),Oo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Oo[t],s._destroy()}))),s}(e.model.scene),this._buffer=new So(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Lo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Mo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Fo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ho extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Uo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Go extends wr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class jo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new xo(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Lo(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new Uo(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Mo(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Fo(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Ho(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new Go(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const Vo={};const ko=new Uint8Array(4),Qo=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Wo=new Float32Array(3),zo=new Float32Array(4);class Ko{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=Vo[t];return s||(s=new jo(e),Vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:e.origin?A.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let n=!1;s.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new He(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=A.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new He(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ko[0]=t[0],ko[1]=t[1],ko[2]=t[2],this._state.colorsBuf.setData(ko,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,Qo[0]=A,this._state.flagsBuf.setData(Qo,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Wo[0]=t[0],Wo[1]=t[1],Wo[2]=t[2],this._state.offsetsBuf.setData(Wo,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;zo[0]=t[0],zo[1]=t[4],zo[2]=t[8],zo[3]=t[12],this._state.modelMatrixCol0Buf.setData(zo,s),zo[0]=t[1],zo[1]=t[5],zo[2]=t[9],zo[3]=t[13],this._state.modelMatrixCol1Buf.setData(zo,s),zo[0]=t[2],zo[1]=t[6],zo[2]=t[10],zo[3]=t[14],this._state.modelMatrixCol2Buf.setData(zo,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,lr.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,lr.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class Yo{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class Xo{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const qo={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class Jo{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==ec[e])return void ec[e].push({onLoad:t,onProgress:s,onError:n});ec[e]=[],ec[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=ec[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{qo.add(e,t);const s=ec[e];delete ec[e];for(let e=0,n=s.length;e{const s=ec[e];if(void 0===s)throw this.manager.itemError(e),t;delete ec[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class sc{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let nc=0;class ic{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new sc,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new tc;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new tc;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ic.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ic.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ic.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ic.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),nc>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),nc++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),nc--}}ic.BasisFormat={ETC1S:0,UASTC_4x4:1},ic.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ic.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ic.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete ac[t],s.destroy()}))),s} +class e{constructor(e,t){this.items=e||[],this._lastUniqueId=(t||0)+1}addItem(){let e;if(2===arguments.length){const t=arguments[0];if(e=arguments[1],this.items[t])throw"ID clash: '"+t+"'";return this.items[t]=e,t}for(e=arguments[0]||{};;){const t=this._lastUniqueId++;if(!this.items[t])return this.items[t]=e,t}}removeItem(e){const t=this.items[e];return delete this.items[e],t}}const t=new e;class s{constructor(e){this.id=e,this.parentItem=null,this.groups=[],this.menuElement=null,this.shown=!1,this.mouseOver=0}}class n{constructor(){this.items=[]}}class i{constructor(e,t,s,n,i){this.id=e,this.getTitle=t,this.doAction=s,this.getEnabled=n,this.getShown=i,this.itemElement=null,this.subMenu=null,this.enabled=!0}}class a{constructor(e={}){this._id=t.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==e.hideOnMouseDown&&(document.addEventListener("mousedown",(e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=e=>{e.target.classList.contains("xeokit-context-menu-item")||this.hide()})),e.items&&(this.items=e.items),this._hideOnAction=!1!==e.hideOnAction,this.context=e.context,this.enabled=!1!==e.enabled,this.hide()}on(e,t){let s=this._eventSubs[e];s||(s=[],this._eventSubs[e]=s),s.push(t)}fire(e,t){const s=this._eventSubs[e];if(s)for(let e=0,n=s.length;e{const a=this._getNextId(),r=new s(a);for(let s=0,a=e.length;s0,c=this._getNextId(),u=s.getTitle||(()=>s.title||""),h=s.doAction||s.callback||(()=>{}),p=s.getEnabled||(()=>!0),A=s.getShown||(()=>!0),d=new i(c,u,h,p,A);if(d.parentMenu=r,l.items.push(d),o){const e=t(n);d.subMenu=e,e.parentItem=d}this._itemList.push(d),this._itemMap[d.id]=d}}return this._menuList.push(r),this._menuMap[r.id]=r,r};this._rootMenu=t(e)}_getNextId(){return"ContextMenu_"+this._id+"_"+this._nextId++}_createUI(){const e=t=>{this._createMenuUI(t);const s=t.groups;for(let t=0,n=s.length;t'),s.push("
    "),t)for(let e=0,n=t.length;e'+o+" [MORE]"):s.push('
  • '+o+"
  • ")}}s.push("
"),s.push("");const n=s.join("");document.body.insertAdjacentHTML("beforeend",n);const i=document.querySelector("."+e.id);e.menuElement=i,i.style["border-radius"]="4px",i.style.display="none",i.style["z-index"]=3e5,i.style.background="white",i.style.border="1px solid black",i.style["box-shadow"]="0 4px 5px 0 gray",i.oncontextmenu=e=>{e.preventDefault()};const a=this;let r=null;if(t)for(let e=0,s=t.length;e{e.preventDefault();const s=t.subMenu;if(!s)return void(r&&(a._hideMenu(r.id),r=null));if(r&&r.id!==s.id&&(a._hideMenu(r.id),r=null),!1===t.enabled)return;const n=t.itemElement,i=s.menuElement,l=n.getBoundingClientRect();i.getBoundingClientRect();l.right+200>window.innerWidth?a._showMenu(s.id,l.left-200,l.top-1):a._showMenu(s.id,l.right-5,l.top-1),r=s})),n||(t.itemElement.addEventListener("click",(e=>{e.preventDefault(),a._context&&!1!==t.enabled&&(t.doAction&&t.doAction(a._context),this._hideOnAction?a.hide():(a._updateItemsTitles(),a._updateItemsEnabledStatus()))})),t.itemElement.addEventListener("mouseenter",(e=>{e.preventDefault(),!1!==t.enabled&&t.doHover&&t.doHover(a._context)})))):console.error("ContextMenu item element not found: "+t.id)}}}_updateItemsTitles(){if(this._context)for(let e=0,t=this._itemList.length;ewindow.innerHeight&&(s=window.innerHeight-n),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=s+"px"}_hideMenuElement(e){e.style.display="none"}}class r{constructor(e,t={}){this.viewer=e,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=t.zoomLevel||2,this._active=!1!==t.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(()=>{this._active&&this._visible&&this.update()}))}update(){if(!this._active||!this._visible)return;if(!this._canvasPos)return;const e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),s=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",s&&(this._lensPosToggle?this._lensContainer.style.marginTop=t.bottom-t.top-this._lensCanvas.height-85+"px":this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);const n=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-n/2,this._canvasPos[1]-n/2,n,n,0,0,this._lensCanvas.width,this._lensCanvas.height);const i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){const e=this._snappedCanvasPos[0]-this._canvasPos[0],t=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft=i[0]+e*this._zoomLevel-10+"px",this._lensCursorDiv.style.marginTop=i[1]+t*this._zoomLevel-10+"px"}else this._lensCursorDiv.style.marginLeft=i[0]-10+"px",this._lensCursorDiv.style.marginTop=i[1]-10+"px"}set zoomFactor(e){this._zoomFactor=e,this.update()}get zoomFactor(){return this._zoomFactor}set canvasPos(e){this._canvasPos=e,this.update()}get canvasPos(){return this._canvasPos}set snappedCanvasPos(e){this._snappedCanvasPos=e,this.update()}get snappedCanvasPos(){return this._snappedCanvasPos}set snapped(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}get snapped(){return this._snapped}set active(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get active(){return this._active}set visible(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}get visible(){return this._visible}destroy(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}let l=!0,o=l?Float64Array:Float32Array;const c=new o(3),u=new o(16),h=new o(16),p=new o(4),A={setDoublePrecisionEnabled(e){l=e,o=l?Float64Array:Float32Array},getDoublePrecisionEnabled:()=>l,MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId(e,t){const s=t.indexOf("#");return s===e.length&&t.startsWith(e)?t.substring(s+1):t},globalizeObjectId:(e,t)=>e+"#"+t,safeInv(e){const t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:e=>new o(e||2),vec3:e=>new o(e||3),vec4:e=>new o(e||4),mat3:e=>new o(e||9),mat3ToMat4:(e,t=new o(16))=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t),mat4:e=>new o(e||16),mat4ToMat3(e,t){},doublesToFloats(e,t,s){const n=new o(2);for(let i=0,a=e.length;i{const e=[];for(let t=0;t<256;t++)e[t]=(t<16?"0":"")+t.toString(16);return()=>{const t=4294967295*Math.random()|0,s=4294967295*Math.random()|0,n=4294967295*Math.random()|0,i=4294967295*Math.random()|0;return`${e[255&t]+e[t>>8&255]+e[t>>16&255]+e[t>>24&255]}-${e[255&s]}${e[s>>8&255]}-${e[s>>16&15|64]}${e[s>>24&255]}-${e[63&n|128]}${e[n>>8&255]}-${e[n>>16&255]}${e[n>>24&255]}${e[255&i]}${e[i>>8&255]}${e[i>>16&255]}${e[i>>24&255]}`}})(),clamp:(e,t,s)=>Math.max(t,Math.min(s,e)),fmod(e,t){if(ee[0]===t[0]&&e[1]===t[1]&&e[2]===t[2],negateVec3:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t),negateVec4:(e,t)=>(t||(t=e),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t),addVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s),addVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s),addVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s),addVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s),subVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s),subVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s),subVec2:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s),geometricMeanVec2(...e){const t=new o(e[0]);for(let s=1;s(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s),subScalarVec4:(e,t,s)=>(s||(s=e),s[0]=t-e[0],s[1]=t-e[1],s[2]=t-e[2],s[3]=t-e[3],s),mulVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]*t[0],s[1]=e[1]*t[1],s[2]=e[2]*t[2],s[3]=e[3]*t[3],s),mulVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s),mulVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s),mulVec2Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s),divVec3:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s),divVec4:(e,t,s)=>(s||(s=e),s[0]=e[0]/t[0],s[1]=e[1]/t[1],s[2]=e[2]/t[2],s[3]=e[3]/t[3],s),divScalarVec3:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s),divVec3Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s),divVec4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]/t,s[1]=e[1]/t,s[2]=e[2]/t,s[3]=e[3]/t,s),divScalarVec4:(e,t,s)=>(s||(s=t),s[0]=e/t[0],s[1]=e/t[1],s[2]=e/t[2],s[3]=e/t[3],s),dotVec4:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3],cross3Vec4(e,t){const s=e[0],n=e[1],i=e[2],a=t[0],r=t[1],l=t[2];return[n*l-i*r,i*a-s*l,s*r-n*a,0]},cross3Vec3(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=t[0],l=t[1],o=t[2];return s[0]=i*o-a*l,s[1]=a*r-n*o,s[2]=n*l-i*r,s},sqLenVec4:e=>A.dotVec4(e,e),lenVec4:e=>Math.sqrt(A.sqLenVec4(e)),dotVec3:(e,t)=>e[0]*t[0]+e[1]*t[1]+e[2]*t[2],dotVec2:(e,t)=>e[0]*t[0]+e[1]*t[1],sqLenVec3:e=>A.dotVec3(e,e),sqLenVec2:e=>A.dotVec2(e,e),lenVec3:e=>Math.sqrt(A.sqLenVec3(e)),distVec3:(()=>{const e=new o(3);return(t,s)=>A.lenVec3(A.subVec3(t,s,e))})(),lenVec2:e=>Math.sqrt(A.sqLenVec2(e)),distVec2:(()=>{const e=new o(2);return(t,s)=>A.lenVec2(A.subVec2(t,s,e))})(),rcpVec3:(e,t)=>A.divScalarVec3(1,e,t),normalizeVec4(e,t){const s=1/A.lenVec4(e);return A.mulVec4Scalar(e,s,t)},normalizeVec3(e,t){const s=1/A.lenVec3(e);return A.mulVec3Scalar(e,s,t)},normalizeVec2(e,t){const s=1/A.lenVec2(e);return A.mulVec2Scalar(e,s,t)},angleVec3(e,t){let s=A.dotVec3(e,t)/Math.sqrt(A.sqLenVec3(e)*A.sqLenVec3(t));return s=s<-1?-1:s>1?1:s,Math.acos(s)},vec3FromMat4Scale:(()=>{const e=new o(3);return(t,s)=>(e[0]=t[0],e[1]=t[1],e[2]=t[2],s[0]=A.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],s[1]=A.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],s[2]=A.lenVec3(e),s)})(),vecToArray:(()=>{function e(e){return Math.round(1e5*e)/1e5}return t=>{for(let s=0,n=(t=Array.prototype.slice.call(t)).length;s({x:e[0],y:e[1],z:e[2]}),xyzObjectToArray:(e,t)=>((t=t||A.vec3())[0]=e.x,t[1]=e.y,t[2]=e.z,t),dupMat4:e=>e.slice(0,16),mat4To3:e=>[e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]],m4s:e=>[e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e],setMat4ToZeroes:()=>A.m4s(0),setMat4ToOnes:()=>A.m4s(1),diagonalMat4v:e=>new o([e[0],0,0,0,0,e[1],0,0,0,0,e[2],0,0,0,0,e[3]]),diagonalMat4c:(e,t,s,n)=>A.diagonalMat4v([e,t,s,n]),diagonalMat4s:e=>A.diagonalMat4c(e,e,e,e),identityMat4:(e=new o(16))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e),identityMat3:(e=new o(9))=>(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e),isIdentityMat4:e=>1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15],negateMat4:(e,t)=>(t||(t=e),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),addMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]+t[0],s[1]=e[1]+t[1],s[2]=e[2]+t[2],s[3]=e[3]+t[3],s[4]=e[4]+t[4],s[5]=e[5]+t[5],s[6]=e[6]+t[6],s[7]=e[7]+t[7],s[8]=e[8]+t[8],s[9]=e[9]+t[9],s[10]=e[10]+t[10],s[11]=e[11]+t[11],s[12]=e[12]+t[12],s[13]=e[13]+t[13],s[14]=e[14]+t[14],s[15]=e[15]+t[15],s),addMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]+t,s[1]=e[1]+t,s[2]=e[2]+t,s[3]=e[3]+t,s[4]=e[4]+t,s[5]=e[5]+t,s[6]=e[6]+t,s[7]=e[7]+t,s[8]=e[8]+t,s[9]=e[9]+t,s[10]=e[10]+t,s[11]=e[11]+t,s[12]=e[12]+t,s[13]=e[13]+t,s[14]=e[14]+t,s[15]=e[15]+t,s),addScalarMat4:(e,t,s)=>A.addMat4Scalar(t,e,s),subMat4:(e,t,s)=>(s||(s=e),s[0]=e[0]-t[0],s[1]=e[1]-t[1],s[2]=e[2]-t[2],s[3]=e[3]-t[3],s[4]=e[4]-t[4],s[5]=e[5]-t[5],s[6]=e[6]-t[6],s[7]=e[7]-t[7],s[8]=e[8]-t[8],s[9]=e[9]-t[9],s[10]=e[10]-t[10],s[11]=e[11]-t[11],s[12]=e[12]-t[12],s[13]=e[13]-t[13],s[14]=e[14]-t[14],s[15]=e[15]-t[15],s),subMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]-t,s[1]=e[1]-t,s[2]=e[2]-t,s[3]=e[3]-t,s[4]=e[4]-t,s[5]=e[5]-t,s[6]=e[6]-t,s[7]=e[7]-t,s[8]=e[8]-t,s[9]=e[9]-t,s[10]=e[10]-t,s[11]=e[11]-t,s[12]=e[12]-t,s[13]=e[13]-t,s[14]=e[14]-t,s[15]=e[15]-t,s),subScalarMat4:(e,t,s)=>(s||(s=t),s[0]=e-t[0],s[1]=e-t[1],s[2]=e-t[2],s[3]=e-t[3],s[4]=e-t[4],s[5]=e-t[5],s[6]=e-t[6],s[7]=e-t[7],s[8]=e-t[8],s[9]=e-t[9],s[10]=e-t[10],s[11]=e-t[11],s[12]=e-t[12],s[13]=e-t[13],s[14]=e-t[14],s[15]=e-t[15],s),mulMat4(e,t,s){s||(s=e);const n=e[0],i=e[1],a=e[2],r=e[3],l=e[4],o=e[5],c=e[6],u=e[7],h=e[8],p=e[9],A=e[10],d=e[11],f=e[12],I=e[13],y=e[14],m=e[15],v=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],x=t[15];return s[0]=v*n+w*l+g*h+E*f,s[1]=v*i+w*o+g*p+E*I,s[2]=v*a+w*c+g*A+E*y,s[3]=v*r+w*u+g*d+E*m,s[4]=T*n+b*l+D*h+P*f,s[5]=T*i+b*o+D*p+P*I,s[6]=T*a+b*c+D*A+P*y,s[7]=T*r+b*u+D*d+P*m,s[8]=R*n+C*l+_*h+B*f,s[9]=R*i+C*o+_*p+B*I,s[10]=R*a+C*c+_*A+B*y,s[11]=R*r+C*u+_*d+B*m,s[12]=O*n+S*l+N*h+x*f,s[13]=O*i+S*o+N*p+x*I,s[14]=O*a+S*c+N*A+x*y,s[15]=O*r+S*u+N*d+x*m,s},mulMat3(e,t,s){s||(s=new o(9));const n=e[0],i=e[3],a=e[6],r=e[1],l=e[4],c=e[7],u=e[2],h=e[5],p=e[8],A=t[0],d=t[3],f=t[6],I=t[1],y=t[4],m=t[7],v=t[2],w=t[5],g=t[8];return s[0]=n*A+i*I+a*v,s[3]=n*d+i*y+a*w,s[6]=n*f+i*m+a*g,s[1]=r*A+l*I+c*v,s[4]=r*d+l*y+c*w,s[7]=r*f+l*m+c*g,s[2]=u*A+h*I+p*v,s[5]=u*d+h*y+p*w,s[8]=u*f+h*m+p*g,s},mulMat4Scalar:(e,t,s)=>(s||(s=e),s[0]=e[0]*t,s[1]=e[1]*t,s[2]=e[2]*t,s[3]=e[3]*t,s[4]=e[4]*t,s[5]=e[5]*t,s[6]=e[6]*t,s[7]=e[7]*t,s[8]=e[8]*t,s[9]=e[9]*t,s[10]=e[10]*t,s[11]=e[11]*t,s[12]=e[12]*t,s[13]=e[13]*t,s[14]=e[14]*t,s[15]=e[15]*t,s),mulMat4v4(e,t,s=A.vec4()){const n=t[0],i=t[1],a=t[2],r=t[3];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12]*r,s[1]=e[1]*n+e[5]*i+e[9]*a+e[13]*r,s[2]=e[2]*n+e[6]*i+e[10]*a+e[14]*r,s[3]=e[3]*n+e[7]*i+e[11]*a+e[15]*r,s},transposeMat4(e,t){const s=e[4],n=e[14],i=e[8],a=e[13],r=e[12],l=e[9];if(!t||e===t){const t=e[1],o=e[2],c=e[3],u=e[6],h=e[7],p=e[11];return e[1]=s,e[2]=i,e[3]=r,e[4]=t,e[6]=l,e[7]=a,e[8]=o,e[9]=u,e[11]=n,e[12]=c,e[13]=h,e[14]=p,e}return t[0]=e[0],t[1]=s,t[2]=i,t[3]=r,t[4]=e[1],t[5]=e[5],t[6]=l,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=n,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3(e,t){if(t===e){const s=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=s,t[5]=e[7],t[6]=n,t[7]=i}else 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];return t},determinantMat4(e){const t=e[0],s=e[1],n=e[2],i=e[3],a=e[4],r=e[5],l=e[6],o=e[7],c=e[8],u=e[9],h=e[10],p=e[11],A=e[12],d=e[13],f=e[14],I=e[15];return A*u*l*i-c*d*l*i-A*r*h*i+a*d*h*i+c*r*f*i-a*u*f*i-A*u*n*o+c*d*n*o+A*s*h*o-t*d*h*o-c*s*f*o+t*u*f*o+A*r*n*p-a*d*n*p-A*s*l*p+t*d*l*p+a*s*f*p-t*r*f*p-c*r*n*I+a*u*n*I+c*s*l*I-t*u*l*I-a*s*h*I+t*r*h*I},inverseMat4(e,t){t||(t=e);const s=e[0],n=e[1],i=e[2],a=e[3],r=e[4],l=e[5],o=e[6],c=e[7],u=e[8],h=e[9],p=e[10],A=e[11],d=e[12],f=e[13],I=e[14],y=e[15],m=s*l-n*r,v=s*o-i*r,w=s*c-a*r,g=n*o-i*l,E=n*c-a*l,T=i*c-a*o,b=u*f-h*d,D=u*I-p*d,P=u*y-A*d,R=h*I-p*f,C=h*y-A*f,_=p*y-A*I,B=1/(m*_-v*C+w*R+g*P-E*D+T*b);return t[0]=(l*_-o*C+c*R)*B,t[1]=(-n*_+i*C-a*R)*B,t[2]=(f*T-I*E+y*g)*B,t[3]=(-h*T+p*E-A*g)*B,t[4]=(-r*_+o*P-c*D)*B,t[5]=(s*_-i*P+a*D)*B,t[6]=(-d*T+I*w-y*v)*B,t[7]=(u*T-p*w+A*v)*B,t[8]=(r*C-l*P+c*b)*B,t[9]=(-s*C+n*P-a*b)*B,t[10]=(d*E-f*w+y*m)*B,t[11]=(-u*E+h*w-A*m)*B,t[12]=(-r*R+l*D-o*b)*B,t[13]=(s*R-n*D+i*b)*B,t[14]=(-d*g+f*v-I*m)*B,t[15]=(u*g-h*v+p*m)*B,t},traceMat4:e=>e[0]+e[5]+e[10]+e[15],translationMat4v(e,t){const s=t||A.identityMat4();return s[12]=e[0],s[13]=e[1],s[14]=e[2],s},translationMat3v(e,t){const s=t||A.identityMat3();return s[6]=e[0],s[7]=e[1],s},translationMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.translationMat4v(e,i))})(),translationMat4s:(e,t)=>A.translationMat4c(e,e,e,t),translateMat4v:(e,t)=>A.translateMat4c(e[0],e[1],e[2],t),translateMat4c(e,t,s,n){const i=n[3];n[0]+=i*e,n[1]+=i*t,n[2]+=i*s;const a=n[7];n[4]+=a*e,n[5]+=a*t,n[6]+=a*s;const r=n[11];n[8]+=r*e,n[9]+=r*t,n[10]+=r*s;const l=n[15];return n[12]+=l*e,n[13]+=l*t,n[14]+=l*s,n},setMat4Translation:(e,t,s)=>(s[0]=e[0],s[1]=e[1],s[2]=e[2],s[3]=e[3],s[4]=e[4],s[5]=e[5],s[6]=e[6],s[7]=e[7],s[8]=e[8],s[9]=e[9],s[10]=e[10],s[11]=e[11],s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=e[15],s),rotationMat4v(e,t,s){const n=A.normalizeVec4([t[0],t[1],t[2],0],[]),i=Math.sin(e),a=Math.cos(e),r=1-a,l=n[0],o=n[1],c=n[2];let u,h,p,d,f,I;return u=l*o,h=o*c,p=c*l,d=l*i,f=o*i,I=c*i,(s=s||A.mat4())[0]=r*l*l+a,s[1]=r*u+I,s[2]=r*p-f,s[3]=0,s[4]=r*u-I,s[5]=r*o*o+a,s[6]=r*h+d,s[7]=0,s[8]=r*p+f,s[9]=r*h-d,s[10]=r*c*c+a,s[11]=0,s[12]=0,s[13]=0,s[14]=0,s[15]=1,s},rotationMat4c:(e,t,s,n,i)=>A.rotationMat4v(e,[t,s,n],i),scalingMat4v:(e,t=A.identityMat4())=>(t[0]=e[0],t[5]=e[1],t[10]=e[2],t),scalingMat3v:(e,t=A.identityMat3())=>(t[0]=e[0],t[4]=e[1],t),scalingMat4c:(()=>{const e=new o(3);return(t,s,n,i)=>(e[0]=t,e[1]=s,e[2]=n,A.scalingMat4v(e,i))})(),scaleMat4c:(e,t,s,n)=>(n[0]*=e,n[4]*=t,n[8]*=s,n[1]*=e,n[5]*=t,n[9]*=s,n[2]*=e,n[6]*=t,n[10]*=s,n[3]*=e,n[7]*=t,n[11]*=s,n),scaleMat4v(e,t){const s=e[0],n=e[1],i=e[2];return t[0]*=s,t[4]*=n,t[8]*=i,t[1]*=s,t[5]*=n,t[9]*=i,t[2]*=s,t[6]*=n,t[10]*=i,t[3]*=s,t[7]*=n,t[11]*=i,t},scalingMat4s:e=>A.scalingMat4c(e,e,e),rotationTranslationMat4(e,t,s=A.mat4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=n+n,o=i+i,c=a+a,u=n*l,h=n*o,p=n*c,d=i*o,f=i*c,I=a*c,y=r*l,m=r*o,v=r*c;return s[0]=1-(d+I),s[1]=h+v,s[2]=p-m,s[3]=0,s[4]=h-v,s[5]=1-(u+I),s[6]=f+y,s[7]=0,s[8]=p+m,s[9]=f-y,s[10]=1-(u+d),s[11]=0,s[12]=t[0],s[13]=t[1],s[14]=t[2],s[15]=1,s},mat4ToEuler(e,t,s=A.vec4()){const n=A.clamp,i=e[0],a=e[4],r=e[8],l=e[1],o=e[5],c=e[9],u=e[2],h=e[6],p=e[10];return"XYZ"===t?(s[1]=Math.asin(n(r,-1,1)),Math.abs(r)<.99999?(s[0]=Math.atan2(-c,p),s[2]=Math.atan2(-a,i)):(s[0]=Math.atan2(h,o),s[2]=0)):"YXZ"===t?(s[0]=Math.asin(-n(c,-1,1)),Math.abs(c)<.99999?(s[1]=Math.atan2(r,p),s[2]=Math.atan2(l,o)):(s[1]=Math.atan2(-u,i),s[2]=0)):"ZXY"===t?(s[0]=Math.asin(n(h,-1,1)),Math.abs(h)<.99999?(s[1]=Math.atan2(-u,p),s[2]=Math.atan2(-a,o)):(s[1]=0,s[2]=Math.atan2(l,i))):"ZYX"===t?(s[1]=Math.asin(-n(u,-1,1)),Math.abs(u)<.99999?(s[0]=Math.atan2(h,p),s[2]=Math.atan2(l,i)):(s[0]=0,s[2]=Math.atan2(-a,o))):"YZX"===t?(s[2]=Math.asin(n(l,-1,1)),Math.abs(l)<.99999?(s[0]=Math.atan2(-c,o),s[1]=Math.atan2(-u,i)):(s[0]=0,s[1]=Math.atan2(r,p))):"XZY"===t&&(s[2]=Math.asin(-n(a,-1,1)),Math.abs(a)<.99999?(s[0]=Math.atan2(h,o),s[1]=Math.atan2(r,i)):(s[0]=Math.atan2(-c,p),s[1]=0)),s},composeMat4:(e,t,s,n=A.mat4())=>(A.quaternionToRotationMat4(t,n),A.scaleMat4v(s,n),A.translateMat4v(e,n),n),decomposeMat4:(()=>{const e=new o(3),t=new o(16);return function(s,n,i,a){e[0]=s[0],e[1]=s[1],e[2]=s[2];let r=A.lenVec3(e);e[0]=s[4],e[1]=s[5],e[2]=s[6];const l=A.lenVec3(e);e[8]=s[8],e[9]=s[9],e[10]=s[10];const o=A.lenVec3(e);A.determinantMat4(s)<0&&(r=-r),n[0]=s[12],n[1]=s[13],n[2]=s[14],t.set(s);const c=1/r,u=1/l,h=1/o;return t[0]*=c,t[1]*=c,t[2]*=c,t[4]*=u,t[5]*=u,t[6]*=u,t[8]*=h,t[9]*=h,t[10]*=h,A.mat4ToQuaternion(t,i),a[0]=r,a[1]=l,a[2]=o,this}})(),getColMat4(e,t){const s=4*t;return[e[s],e[s+1],e[s+2],e[s+3]]},setRowMat4(e,t,s){e[t]=s[0],e[t+4]=s[1],e[t+8]=s[2],e[t+12]=s[3]},lookAtMat4v(e,t,s,n){n||(n=A.mat4());const i=e[0],a=e[1],r=e[2],l=s[0],o=s[1],c=s[2],u=t[0],h=t[1],p=t[2];if(i===u&&a===h&&r===p)return A.identityMat4();let d,f,I,y,m,v,w,g,E,T;return d=i-u,f=a-h,I=r-p,T=1/Math.sqrt(d*d+f*f+I*I),d*=T,f*=T,I*=T,y=o*I-c*f,m=c*d-l*I,v=l*f-o*d,T=Math.sqrt(y*y+m*m+v*v),T?(T=1/T,y*=T,m*=T,v*=T):(y=0,m=0,v=0),w=f*v-I*m,g=I*y-d*v,E=d*m-f*y,T=Math.sqrt(w*w+g*g+E*E),T?(T=1/T,w*=T,g*=T,E*=T):(w=0,g=0,E=0),n[0]=y,n[1]=w,n[2]=d,n[3]=0,n[4]=m,n[5]=g,n[6]=f,n[7]=0,n[8]=v,n[9]=E,n[10]=I,n[11]=0,n[12]=-(y*i+m*a+v*r),n[13]=-(w*i+g*a+E*r),n[14]=-(d*i+f*a+I*r),n[15]=1,n},lookAtMat4c:(e,t,s,n,i,a,r,l,o)=>A.lookAtMat4v([e,t,s],[n,i,a],[r,l,o],[]),orthoMat4c(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2/o,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=-2/c,r[11]=0,r[12]=-(e+t)/l,r[13]=-(n+s)/o,r[14]=-(a+i)/c,r[15]=1,r},frustumMat4v(e,t,s){s||(s=A.mat4());const n=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];A.addVec4(i,n,u),A.subVec4(i,n,h);const a=2*n[2],r=h[0],l=h[1],o=h[2];return s[0]=a/r,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=a/l,s[6]=0,s[7]=0,s[8]=u[0]/r,s[9]=u[1]/l,s[10]=-u[2]/o,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i[2]/o,s[15]=0,s},frustumMat4(e,t,s,n,i,a,r){r||(r=A.mat4());const l=t-e,o=n-s,c=a-i;return r[0]=2*i/l,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=2*i/o,r[6]=0,r[7]=0,r[8]=(t+e)/l,r[9]=(n+s)/o,r[10]=-(a+i)/c,r[11]=-1,r[12]=0,r[13]=0,r[14]=-a*i*2/c,r[15]=0,r},perspectiveMat4(e,t,s,n,i){const a=[],r=[];return a[2]=s,r[2]=n,r[1]=a[2]*Math.tan(e/2),a[1]=-r[1],r[0]=r[1]*t,a[0]=-r[0],A.frustumMat4v(a,r,i)},compareMat4:(e,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]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15],transformPoint3(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2];return s[0]=e[0]*n+e[4]*i+e[8]*a+e[12],s[1]=e[1]*n+e[5]*i+e[9]*a+e[13],s[2]=e[2]*n+e[6]*i+e[10]*a+e[14],s},transformPoint4:(e,t,s=A.vec4())=>(s[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],s[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],s[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],s[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],s),transformPoints3(e,t,s){const n=s||[],i=t.length;let a,r,l,o;const c=e[0],u=e[1],h=e[2],p=e[3],A=e[4],d=e[5],f=e[6],I=e[7],y=e[8],m=e[9],v=e[10],w=e[11],g=e[12],E=e[13],T=e[14],b=e[15];let D;for(let e=0;e{const e=new o(16),t=new o(16),s=new o(16);return function(n,i,a,r){return this.transformVec3(this.mulMat4(this.inverseMat4(i,e),this.inverseMat4(a,t),s),n,r)}})(),lerpVec3(e,t,s,n,i,a){const r=a||A.vec3(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r},lerpMat4(e,t,s,n,i,a){const r=a||A.mat4(),l=(e-t)/(s-t);return r[0]=n[0]+l*(i[0]-n[0]),r[1]=n[1]+l*(i[1]-n[1]),r[2]=n[2]+l*(i[2]-n[2]),r[3]=n[3]+l*(i[3]-n[3]),r[4]=n[4]+l*(i[4]-n[4]),r[5]=n[5]+l*(i[5]-n[5]),r[6]=n[6]+l*(i[6]-n[6]),r[7]=n[7]+l*(i[7]-n[7]),r[8]=n[8]+l*(i[8]-n[8]),r[9]=n[9]+l*(i[9]-n[9]),r[10]=n[10]+l*(i[10]-n[10]),r[11]=n[11]+l*(i[11]-n[11]),r[12]=n[12]+l*(i[12]-n[12]),r[13]=n[13]+l*(i[13]-n[13]),r[14]=n[14]+l*(i[14]-n[14]),r[15]=n[15]+l*(i[15]-n[15]),r},flatten(e){const t=[];let s,n,i,a,r;for(s=0,n=e.length;s(e[0]=0,e[1]=0,e[2]=0,e[3]=1,e),eulerToQuaternion(e,t,s=A.vec4()){const n=e[0]*A.DEGTORAD/2,i=e[1]*A.DEGTORAD/2,a=e[2]*A.DEGTORAD/2,r=Math.cos(n),l=Math.cos(i),o=Math.cos(a),c=Math.sin(n),u=Math.sin(i),h=Math.sin(a);return"XYZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"YXZ"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"ZXY"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o-c*u*h):"ZYX"===t?(s[0]=c*l*o-r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o+c*u*h):"YZX"===t?(s[0]=c*l*o+r*u*h,s[1]=r*u*o+c*l*h,s[2]=r*l*h-c*u*o,s[3]=r*l*o-c*u*h):"XZY"===t&&(s[0]=c*l*o-r*u*h,s[1]=r*u*o-c*l*h,s[2]=r*l*h+c*u*o,s[3]=r*l*o+c*u*h),s},mat4ToQuaternion(e,t=A.vec4()){const s=e[0],n=e[4],i=e[8],a=e[1],r=e[5],l=e[9],o=e[2],c=e[6],u=e[10];let h;const p=s+r+u;return p>0?(h=.5/Math.sqrt(p+1),t[3]=.25/h,t[0]=(c-l)*h,t[1]=(i-o)*h,t[2]=(a-n)*h):s>r&&s>u?(h=2*Math.sqrt(1+s-r-u),t[3]=(c-l)/h,t[0]=.25*h,t[1]=(n+a)/h,t[2]=(i+o)/h):r>u?(h=2*Math.sqrt(1+r-s-u),t[3]=(i-o)/h,t[0]=(n+a)/h,t[1]=.25*h,t[2]=(l+c)/h):(h=2*Math.sqrt(1+u-s-r),t[3]=(a-n)/h,t[0]=(i+o)/h,t[1]=(l+c)/h,t[2]=.25*h),t},vec3PairToQuaternion(e,t,s=A.vec4()){const n=Math.sqrt(A.dotVec3(e,e)*A.dotVec3(t,t));let i=n+A.dotVec3(e,t);return i<1e-8*n?(i=0,Math.abs(e[0])>Math.abs(e[2])?(s[0]=-e[1],s[1]=e[0],s[2]=0):(s[0]=0,s[1]=-e[2],s[2]=e[1])):A.cross3Vec3(e,t,s),s[3]=i,A.normalizeQuaternion(s)},angleAxisToQuaternion(e,t=A.vec4()){const s=e[3]/2,n=Math.sin(s);return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=Math.cos(s),t},quaternionToEuler:(()=>{const e=new o(16);return(t,s,n)=>(n=n||A.vec3(),A.quaternionToRotationMat4(t,e),A.mat4ToEuler(e,s,n),n)})(),mulQuaternions(e,t,s=A.vec4()){const n=e[0],i=e[1],a=e[2],r=e[3],l=t[0],o=t[1],c=t[2],u=t[3];return s[0]=r*l+n*u+i*c-a*o,s[1]=r*o+i*u+a*l-n*c,s[2]=r*c+a*u+n*o-i*l,s[3]=r*u-n*l-i*o-a*c,s},vec3ApplyQuaternion(e,t,s=A.vec3()){const n=t[0],i=t[1],a=t[2],r=e[0],l=e[1],o=e[2],c=e[3],u=c*n+l*a-o*i,h=c*i+o*n-r*a,p=c*a+r*i-l*n,d=-r*n-l*i-o*a;return s[0]=u*c+d*-r+h*-o-p*-l,s[1]=h*c+d*-l+p*-r-u*-o,s[2]=p*c+d*-o+u*-l-h*-r,s},quaternionToMat4(e,t){t=A.identityMat4(t);const s=e[0],n=e[1],i=e[2],a=e[3],r=2*s,l=2*n,o=2*i,c=r*a,u=l*a,h=o*a,p=r*s,d=l*s,f=o*s,I=l*n,y=o*n,m=o*i;return t[0]=1-(I+m),t[1]=d+h,t[2]=f-u,t[4]=d-h,t[5]=1-(p+m),t[6]=y+c,t[8]=f+u,t[9]=y-c,t[10]=1-(p+I),t},quaternionToRotationMat4(e,t){const s=e[0],n=e[1],i=e[2],a=e[3],r=s+s,l=n+n,o=i+i,c=s*r,u=s*l,h=s*o,p=n*l,A=n*o,d=i*o,f=a*r,I=a*l,y=a*o;return t[0]=1-(p+d),t[4]=u-y,t[8]=h+I,t[1]=u+y,t[5]=1-(c+d),t[9]=A-f,t[2]=h-I,t[6]=A+f,t[10]=1-(c+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion(e,t=e){const s=A.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s,t[3]=e[3]/s,t},conjugateQuaternion:(e,t=e)=>(t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t),inverseQuaternion:(e,t)=>A.normalizeQuaternion(A.conjugateQuaternion(e,t)),quaternionToAngleAxis(e,t=A.vec4()){const s=(e=A.normalizeQuaternion(e,p))[3],n=2*Math.acos(s),i=Math.sqrt(1-s*s);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=n,t},AABB3:e=>new o(e||6),AABB2:e=>new o(e||4),OBB3:e=>new o(e||32),OBB2:e=>new o(e||16),Sphere3:(e,t,s,n)=>new o([e,t,s,n]),transformOBB3(e,t,s=t){let n;const i=t.length;let a,r,l;const o=e[0],c=e[1],u=e[2],h=e[3],p=e[4],A=e[5],d=e[6],f=e[7],I=e[8],y=e[9],m=e[10],v=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n{const e=new o(3),t=new o(3),s=new o(3);return n=>(e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5],A.subVec3(t,e,s),Math.abs(A.lenVec3(s)))})(),getAABB3DiagPoint:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],t[0]=n[3],t[1]=n[4],t[2]=n[5];const a=A.subVec3(t,e,s),r=i[0]-n[0],l=n[3]-i[0],o=i[1]-n[1],c=n[4]-i[1],u=i[2]-n[2],h=n[5]-i[2];return a[0]+=r>l?r:l,a[1]+=o>c?o:c,a[2]+=u>h?u:h,Math.abs(A.lenVec3(a))}})(),getAABB3Area:e=>(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2]),getAABB3Center(e,t){const s=t||A.vec3();return s[0]=(e[0]+e[3])/2,s[1]=(e[1]+e[4])/2,s[2]=(e[2]+e[5])/2,s},getAABB2Center(e,t){const s=t||A.vec2();return s[0]=(e[2]+e[0])/2,s[1]=(e[3]+e[1])/2,s},collapseAABB3:(e=A.AABB3())=>(e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MAX_DOUBLE,e[3]=A.MIN_DOUBLE,e[4]=A.MIN_DOUBLE,e[5]=A.MIN_DOUBLE,e),AABB3ToOBB3:(e,t=A.OBB3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t),positions3ToAABB3:(()=>{const e=new o(3);return(t,s,n)=>{s=s||A.AABB3();let i,a,r,l=A.MAX_DOUBLE,o=A.MAX_DOUBLE,c=A.MAX_DOUBLE,u=A.MIN_DOUBLE,h=A.MIN_DOUBLE,p=A.MIN_DOUBLE;for(let s=0,d=t.length;su&&(u=i),a>h&&(h=a),r>p&&(p=r);return s[0]=l,s[1]=o,s[2]=c,s[3]=u,s[4]=h,s[5]=p,s}})(),OBB3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToAABB3(e,t=A.AABB3()){let s,n,i,a=A.MAX_DOUBLE,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE,u=A.MIN_DOUBLE;for(let t=0,h=e.length;to&&(o=s),n>c&&(c=n),i>u&&(u=i);return t[0]=a,t[1]=r,t[2]=l,t[3]=o,t[4]=c,t[5]=u,t},points3ToSphere3:(()=>{const e=new o(3);return(t,s)=>{s=s||A.vec4();let n,i=0,a=0,r=0;const l=t.length;for(n=0;nc&&(c=o);return s[3]=c,s}})(),positions3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length;let c=0;for(i=0;ic&&(c=h);return n[3]=c,n}})(),OBB3ToSphere3:(()=>{const e=new o(3),t=new o(3);return(s,n)=>{n=n||A.vec4();let i,a=0,r=0,l=0;const o=s.length,c=o/4;for(i=0;ih&&(h=u);return n[3]=h,n}})(),getSphere3Center:(e,t=A.vec3())=>(t[0]=e[0],t[1]=e[1],t[2]=e[2],t),getPositionsCenter(e,t=A.vec3()){let s=0,n=0,i=0;for(var a=0,r=e.length;a(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]s&&(e[0]=s),e[1]>n&&(e[1]=n),e[2]>i&&(e[2]=i),e[3](e[0]=A.MAX_DOUBLE,e[1]=A.MAX_DOUBLE,e[2]=A.MIN_DOUBLE,e[3]=A.MIN_DOUBLE,e),point3AABB3Intersect:(e,t)=>e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(n=e[0]*s[0],i=e[0]*s[3]):(n=e[0]*s[3],i=e[0]*s[0]),e[1]>0?(n+=e[1]*s[1],i+=e[1]*s[4]):(n+=e[1]*s[4],i+=e[1]*s[1]),e[2]>0?(n+=e[2]*s[2],i+=e[2]*s[5]):(n+=e[2]*s[5],i+=e[2]*s[2]);if(n<=-t&&i<=-t)return-1;return n>=-t&&i>=-t?1:0},OBB3ToAABB2(e,t=A.AABB2()){let s,n,i,a,r=A.MAX_DOUBLE,l=A.MAX_DOUBLE,o=A.MIN_DOUBLE,c=A.MIN_DOUBLE;for(let t=0,u=e.length;to&&(o=s),n>c&&(c=n);return t[0]=r,t[1]=l,t[2]=o,t[3]=c,t},expandAABB2:(e,t)=>(e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2](e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]2*(1-e)*(s-t)+2*e*(n-s),tangentQuadraticBezier3:(e,t,s,n,i)=>-3*t*(1-e)*(1-e)+3*s*(1-e)*(1-e)-6*e*s*(1-e)+6*e*n*(1-e)-3*e*e*n+3*e*e*i,tangentSpline:e=>6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e),catmullRomInterpolate(e,t,s,n,i){const a=.5*(s-e),r=.5*(n-t),l=i*i;return(2*t-2*s+a+r)*(i*l)+(-3*t+3*s-2*a-r)*l+a*i+t},b2p0(e,t){const s=1-e;return s*s*t},b2p1:(e,t)=>2*(1-e)*e*t,b2p2:(e,t)=>e*e*t,b2(e,t,s,n){return this.b2p0(e,t)+this.b2p1(e,s)+this.b2p2(e,n)},b3p0(e,t){const s=1-e;return s*s*s*t},b3p1(e,t){const s=1-e;return 3*s*s*e*t},b3p2:(e,t)=>3*(1-e)*e*e*t,b3p3:(e,t)=>e*e*e*t,b3(e,t,s,n,i){return this.b3p0(e,t)+this.b3p1(e,s)+this.b3p2(e,n)+this.b3p3(e,i)},triangleNormal(e,t,s,n=A.vec3()){const i=t[0]-e[0],a=t[1]-e[1],r=t[2]-e[2],l=s[0]-e[0],o=s[1]-e[1],c=s[2]-e[2],u=a*c-r*o,h=r*l-i*c,p=i*o-a*l,d=Math.sqrt(u*u+h*h+p*p);return 0===d?(n[0]=0,n[1]=0,n[2]=0):(n[0]=u/d,n[1]=h/d,n[2]=p/d),n},rayTriangleIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3);return(a,r,l,o,c,u)=>{u=u||A.vec3();const h=A.subVec3(o,l,e),p=A.subVec3(c,l,t),d=A.cross3Vec3(r,p,s),f=A.dotVec3(h,d);if(f<1e-6)return null;const I=A.subVec3(a,l,n),y=A.dotVec3(I,d);if(y<0||y>f)return null;const m=A.cross3Vec3(I,h,i),v=A.dotVec3(r,m);if(v<0||y+v>f)return null;const w=A.dotVec3(p,m)/f;return u[0]=a[0]+w*r[0],u[1]=a[1]+w*r[1],u[2]=a[2]+w*r[2],u}})(),rayPlaneIntersect:(()=>{const e=new o(3),t=new o(3),s=new o(3),n=new o(3);return(i,a,r,l,o,c)=>{c=c||A.vec3(),a=A.normalizeVec3(a,e);const u=A.subVec3(l,r,t),h=A.subVec3(o,r,s),p=A.cross3Vec3(u,h,n);A.normalizeVec3(p,p);const d=-A.dotVec3(r,p),f=-(A.dotVec3(i,p)+d)/A.dotVec3(a,p);return c[0]=i[0]+f*a[0],c[1]=i[1]+f*a[1],c[2]=i[2]+f*a[2],c}})(),cartesianToBarycentric:(()=>{const e=new o(3),t=new o(3),s=new o(3);return(n,i,a,r,l)=>{const o=A.subVec3(r,i,e),c=A.subVec3(a,i,t),u=A.subVec3(n,i,s),h=A.dotVec3(o,o),p=A.dotVec3(o,c),d=A.dotVec3(o,u),f=A.dotVec3(c,c),I=A.dotVec3(c,u),y=h*f-p*p;if(0===y)return null;const m=1/y,v=(f*d-p*I)*m,w=(h*I-p*d)*m;return l[0]=1-v-w,l[1]=w,l[2]=v,l}})(),barycentricInsideTriangle(e){const t=e[1],s=e[2];return s>=0&&t>=0&&s+t<1},barycentricToCartesian(e,t,s,n,i=A.vec3()){const a=e[0],r=e[1],l=e[2];return i[0]=t[0]*a+s[0]*r+n[0]*l,i[1]=t[1]*a+s[1]*r+n[1]*l,i[2]=t[2]*a+s[2]*r+n[2]*l,i},mergeVertices(e,t,s,n){const i={},a=[],r=[],l=t?[]:null,o=s?[]:null,c=[];let u,h,p,A;const d=1e4;let f,I,y=0;for(f=0,I=e.length;f{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3);return(r,l,o)=>{let c,u;const h=new Array(r.length/3);let p,d,f,I,y,m,v;for(c=0,u=l.length;c{const e=new o(3),t=new o(3),s=new o(3),n=new o(3),i=new o(3),a=new o(3),r=new o(3);return(l,o,c)=>{const u=new Float32Array(l.length);for(let h=0;h>24&255,u=p>>16&255,c=p>>8&255,o=255&p,l=t[s],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+1],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,l=t[s+2],r=3*l,i[A++]=e[r],i[A++]=e[r+1],i[A++]=e[r+2],a[d++]=o,a[d++]=c,a[d++]=u,a[d++]=h,p++;return{positions:i,colors:a}},faceToVertexNormals(e,t,s={}){const n=s.smoothNormalsAngleThreshold||20,i={},a=[],r={};let l,o,c,u,h;const p=1e4;let d,f,I,y,m,v;for(f=0,y=e.length;f{const e=new o(4),t=new o(4);return(s,n,i,a,r)=>{e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=1,A.transformVec4(s,e,t),a[0]=t[0],a[1]=t[1],a[2]=t[2],e[0]=i[0],e[1]=i[1],e[2]=i[2],A.transformVec3(s,e,t),A.normalizeVec3(t),r[0]=t[0],r[1]=t[1],r[2]=t[2]}})(),canvasPosToWorldRay:(()=>{const e=new o(16),t=new o(16),s=new o(4),n=new o(4),i=new o(4),a=new o(4);return(r,l,o,c,u,h)=>{const p=A.mulMat4(o,l,e),d=A.inverseMat4(p,t),f=r.width,I=r.height,y=(c[0]-f/2)/(f/2),m=-(c[1]-I/2)/(I/2);s[0]=y,s[1]=m,s[2]=-1,s[3]=1,A.transformVec4(d,s,n),A.mulVec4Scalar(n,1/n[3]),i[0]=y,i[1]=m,i[2]=1,i[3]=1,A.transformVec4(d,i,a),A.mulVec4Scalar(a,1/a[3]),u[0]=a[0],u[1]=a[1],u[2]=a[2],A.subVec3(a,n,h),A.normalizeVec3(h)}})(),canvasPosToLocalRay:(()=>{const e=new o(3),t=new o(3);return(s,n,i,a,r,l,o)=>{A.canvasPosToWorldRay(s,n,i,r,e,t),A.worldRayToLocalRay(a,e,t,l,o)}})(),worldRayToLocalRay:(()=>{const e=new o(16),t=new o(4),s=new o(4);return(n,i,a,r,l)=>{const o=A.inverseMat4(n,e);t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(o,t,s),r[0]=s[0],r[1]=s[1],r[2]=s[2],A.transformVec3(o,a,l)}})(),buildKDTree:(()=>{const e=new Float32Array;function t(s,n,i,a){const r=new o(6),l={triangles:null,left:null,right:null,leaf:!1,splitDim:0,aabb:r};let c,u;for(r[0]=r[1]=r[2]=Number.POSITIVE_INFINITY,r[3]=r[4]=r[5]=Number.NEGATIVE_INFINITY,c=0,u=s.length;cr[3]&&(r[3]=i[t]),i[t+1]r[4]&&(r[4]=i[t+1]),i[t+2]r[5]&&(r[5]=i[t+2])}}if(s.length<20||a>10)return l.triangles=s,l.leaf=!0,l;e[0]=r[3]-r[0],e[1]=r[4]-r[1],e[2]=r[5]-r[2];let p=0;e[1]>e[p]&&(p=1),e[2]>e[p]&&(p=2),l.splitDim=p;const A=(r[p]+r[p+3])/2,d=new Array(s.length);let f=0;const I=new Array(s.length);let y=0;for(c=0,u=s.length;c{const n=e.length/3,i=new Array(n);for(let e=0;e=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t},octDecodeVec2s(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t}};A.buildEdgeIndices=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}(),A.planeClipsPositions3=function(e,t,s,n=3){for(let i=0,a=s.length;i{this._needsRebuild=!0})),this._onModelUnloaded=this.viewer.scene.on("modelUnloaded",(e=>{this._needsRebuild=!0}))}get root(){return this._needsRebuild&&this._rebuild(),this._root}_rebuild(){const e=this.viewer.scene;this._root={aabb:e.getAABB()};for(let t in e.objects){const s=e.objects[t];this._insertEntity(this._root,s,1)}this._needsRebuild=!1}_insertEntity(e,t,s){const n=t.aabb;if(s>=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&A.containsAABB3(e.left.aabb,n))return void this._insertEntity(e.left,t,s+1);if(e.right&&A.containsAABB3(e.right.aabb,n))return void this._insertEntity(e.right,t,s+1);const i=e.aabb;d[0]=i[3]-i[0],d[1]=i[4]-i[1],d[2]=i[5]-i[2];let a=0;if(d[1]>d[a]&&(a=1),d[2]>d[a]&&(a=2),!e.left){const r=i.slice();if(r[a+3]=(i[a]+i[a+3])/2,e.left={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.left,t,s+1)}if(!e.right){const r=i.slice();if(r[a]=(i[a]+i[a+3])/2,e.right={aabb:r},A.containsAABB3(r,n))return void this._insertEntity(e.right,t,s+1)}e.entities=e.entities||[],e.entities.push(t)}destroy(){const e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}class I{constructor(){this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}get length(){return this._length}shift(){if(this._index>=this._headLength){const e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}const e=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,e}push(e){return this._length++,this._tail.push(e),this}unshift(e){return this._head[--this._index]=e,this._length++,this}}const y={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var m=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],s=e[0].charCodeAt(0),n=s+e[1],i=s;i{};t=t||n,s=s||n;var i=new XMLHttpRequest;i.overrideMimeType("application/json"),i.open("GET",e,!0),i.addEventListener("load",(function(e){var n=e.target.response;if(200===this.status){var i;try{i=JSON.parse(n)}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}t(i)}else if(0===this.status){console.warn("loadFile: HTTP Status 0 received.");try{t(JSON.parse(n))}catch(e){s(`utils.loadJSON(): Failed to parse JSON response - ${e}`)}}else s(e)}),!1),i.addEventListener("error",(function(e){s(e)}),!1),i.send(null)},loadArraybuffer:function(e,t,s){var n=e=>{};t=t||n,s=s||n;const i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){const e=!!i[2];var a=i[3];a=window.decodeURIComponent(a),e&&(a=window.atob(a));try{const e=new ArrayBuffer(a.length),s=new Uint8Array(e);for(var r=0;r{T.removeItem(e.id),delete B.scenes[e.id],delete E[e.id],y.components.scenes--}))},this.clear=function(){let e;for(const t in B.scenes)B.scenes.hasOwnProperty(t)&&(e=B.scenes[t],"default.scene"===t?e.clear():(e.destroy(),delete B.scenes[e.id]))},this.scheduleTask=function(e,t){b.push(e),b.push(t)},this.runTasks=function(e=-1){let t,s,n=(new Date).getTime(),i=0;for(;b.length>0&&(e<0||n0&&R>0){var t=1e3/R;_+=t,P.push(t),P.length>=30&&(_-=P.shift()),y.frame.fps=Math.round(_/P.length)}!function(e){const t=B.runTasks(e+10),s=B.getNumTasks();y.frame.tasksRun=t,y.frame.tasksScheduled=s,y.frame.tasksBudget=10}(e),function(e){for(var t in D.time=e,B.scenes)if(B.scenes.hasOwnProperty(t)){var s=B.scenes[t];D.sceneId=t,D.startTime=s.startTime,D.deltaTime=null!=D.prevTime?D.time-D.prevTime:0,s.fire("tick",D,!0)}D.prevTime=e}(e),function(){const e=B.scenes,t=!1;let s,n,i,a,r;for(r in e)e.hasOwnProperty(r)&&(s=e[r],n=E[r],n||(n=E[r]={}),i=s.ticksPerOcclusionTest,n.ticksPerOcclusionTest!==i&&(n.ticksPerOcclusionTest=i,n.renderCountdown=i),--s.occlusionTestCountdown<=0&&(s.doOcclusionTest(),s.occlusionTestCountdown=i),a=s.ticksPerRender,n.ticksPerRender!==a&&(n.ticksPerRender=a,n.renderCountdown=a),0==--n.renderCountdown&&(s.render(t),n.renderCountdown=a))}(),C=e,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(O):requestAnimationFrame(O);class S{get type(){return"Component"}get isComponent(){return!0}constructor(e=null,t={}){if(this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=t.viewer;else{if("Scene"===e.type)this.scene=e;else{if(!(e instanceof S))throw"Invalid param: owner must be a Component";this.scene=e.scene}this._owner=e}this._dontClear=!!t.dontClear,this._renderer=this.scene._renderer,this.meta=t.meta||{},this.id=t.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,e&&e._own(this)}glRedraw(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}glResort(){this._renderer&&this._renderer.needStateSort()}get owner(){return this._owner}isType(e){return this.type===e}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];let i;if(n)for(const s in n)n.hasOwnProperty(s)&&(i=n[s],this._eventCallDepth++,this._eventCallDepth<300?i.callback.call(i.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}on(t,s,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new e),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});let i=this._eventSubs[t];i?this._eventSubsNum[t]++:(i={},this._eventSubs[t]=i,this._eventSubsNum[t]=1);const a=this._subIdMap.addItem();i[a]={callback:s,scope:n||this},this._subIdEvents[a]=t;const r=this._events[t];return void 0!==r&&s.call(n||this,r),a}off(e){if(null==e)return;if(!this._subIdEvents)return;const t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];const s=this._eventSubs[t];s&&(delete s[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}once(e,t,s){const n=this,i=this.on(e,(function(e){n.off(i),t.call(s||this,e)}),s)}hasSubs(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}log(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}_message(e){return" ["+this.type+" "+g.inQuotes(this.id)+"]: "+e}warn(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}error(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}_attach(e){const t=e.name;if(!t)return void this.error("Component 'name' expected");let s=e.component;const n=e.sceneDefault,i=e.sceneSingleton,a=e.type,r=e.on,l=!1!==e.recompiles;if(s&&(g.isNumeric(s)||g.isString(s))){const e=s;if(s=this.scene.components[e],!s)return void this.error("Component not found: "+g.inQuotes(e))}if(!s)if(!0===i){const e=this.scene.types[a];for(const t in e)if(e.hasOwnProperty){s=e[t];break}if(!s)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===n&&(s=this.scene[t],!s))return this.error("Scene has no default component for '"+t+"'"),null;if(s){if(s.scene.id!==this.scene.id)return void this.error("Not in same scene: "+s.type+" "+g.inQuotes(s.id));if(a&&!s.isType(a))return void this.error("Expected a "+a+" type or subtype: "+s.type+" "+g.inQuotes(s.id))}this._attachments||(this._attachments={});const o=this._attached[t];let c,u,h;if(o){if(s&&o.id===s.id)return;const e=this._attachments[o.id];for(c=e.subs,u=0,h=c.length;u{delete this._ownedComponents[e.id]}),this)}_needUpdate(e){this._updateScheduled||(this._updateScheduled=!0,0===e?this._doUpdate():B.scheduleTask(this._doUpdate,this))}_doUpdate(){this._updateScheduled&&(this._updateScheduled=!1,this._update&&this._update())}_update(){}clear(){if(this._ownedComponents)for(var e in this._ownedComponents)if(this._ownedComponents.hasOwnProperty(e)){this._ownedComponents[e].destroy(),delete this._ownedComponents[e]}}destroy(){if(this.destroyed)return;let e,t,s,n,i,a;if(this.fire("destroyed",this.destroyed=!0),this._attachments)for(e in this._attachments)if(this._attachments.hasOwnProperty(e)){for(t=this._attachments[e],s=t.component,n=t.subs,i=0,a=n.length;i=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}class F{constructor(){this.planes=[new M,new M,new M,new M,new M,new M]}}function H(e,t,s){const n=A.mulMat4(s,t,L),i=n[0],a=n[1],r=n[2],l=n[3],o=n[4],c=n[5],u=n[6],h=n[7],p=n[8],d=n[9],f=n[10],I=n[11],y=n[12],m=n[13],v=n[14],w=n[15];e.planes[0].set(l-i,h-o,I-p,w-y),e.planes[1].set(l+i,h+o,I+p,w+y),e.planes[2].set(l-a,h-c,I-d,w-m),e.planes[3].set(l+a,h+c,I+d,w+m),e.planes[4].set(l-r,h-u,I-f,w-v),e.planes[5].set(l+r,h+u,I+f,w+v)}function U(e,t){let s=F.INSIDE;const n=N,i=x;n[0]=t[0],n[1]=t[1],n[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];const a=[n,i];for(let t=0;t<6;++t){const n=e.planes[t];if(n.normal[0]*a[n.testVertex[0]][0]+n.normal[1]*a[n.testVertex[1]][1]+n.normal[2]*a[n.testVertex[2]][2]+n.offset<0)return F.OUTSIDE;n.normal[0]*a[1-n.testVertex[0]][0]+n.normal[1]*a[1-n.testVertex[1]][1]+n.normal[2]*a[1-n.testVertex[2]][2]+n.offset<0&&(s=F.INTERSECT)}return s}F.INSIDE=0,F.INTERSECT=1,F.OUTSIDE=2;class G extends S{constructor(e={}){if(!e.viewer)throw"[MarqueePicker] Missing config: viewer";if(!e.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";super(e.viewer.scene,e),this.viewer=e.viewer,this._objectsKdTree3=e.objectsKdTree3,this._canvasMarqueeCorner1=A.vec2(),this._canvasMarqueeCorner2=A.vec2(),this._canvasMarquee=A.AABB2(),this._marqueeFrustum=new F,this._marqueeFrustumProjMat=A.mat4(),this._pickMode=!1,this._marqueeElement=document.createElement("div"),document.body.appendChild(this._marqueeElement),this._marqueeElement.style.position="absolute",this._marqueeElement.style["z-index"]="40000005",this._marqueeElement.style.width="8px",this._marqueeElement.style.height="8px",this._marqueeElement.style.visibility="hidden",this._marqueeElement.style.top="0px",this._marqueeElement.style.left="0px",this._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",this._marqueeElement.style.opacity=1,this._marqueeElement.style["pointer-events"]="none"}setMarqueeCorner1(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarqueeCorner2(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}setMarquee(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}setMarqueeVisible(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}getMarqueeVisible(){return this._marqueVisible}setPickMode(e){if(e!==G.PICK_MODE_INSIDE&&e!==G.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===G.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}getPickMode(){return this._pickMode}clear(){this.fire("clear",{})}pick(){this._updateMarquee(),this._buildMarqueeFrustum();const e=[],t=(s,n=F.INTERSECT)=>{if(n===F.INTERSECT&&(n=U(this._marqueeFrustum,s.aabb)),n!==F.OUTSIDE){if(s.entities){const t=s.entities;for(let s=0,n=t.length;s3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&t(this._objectsKdTree3.root),this.fire("picked",e),e}_updateMarquee(){this._canvasMarquee[0]=Math.min(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[1]=Math.min(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._canvasMarquee[2]=Math.max(this._canvasMarqueeCorner1[0],this._canvasMarqueeCorner2[0]),this._canvasMarquee[3]=Math.max(this._canvasMarqueeCorner1[1],this._canvasMarqueeCorner2[1]),this._marqueeElement.style.width=this._canvasMarquee[2]-this._canvasMarquee[0]+"px",this._marqueeElement.style.height=this._canvasMarquee[3]-this._canvasMarquee[1]+"px",this._marqueeElement.style.left=`${this._canvasMarquee[0]}px`,this._marqueeElement.style.top=`${this._canvasMarquee[1]}px`}_buildMarqueeFrustum(){const e=this.viewer.scene.canvas.canvas,t=e.clientWidth,s=e.clientHeight,n=e.clientLeft,i=e.clientTop,a=2/t,r=2/s,l=e.clientHeight/e.clientWidth,o=(this._canvasMarquee[0]-n)*a-1,c=(this._canvasMarquee[2]-n)*a-1,u=-(this._canvasMarquee[3]-i)*r+1,h=-(this._canvasMarquee[1]-i)*r+1,p=this.viewer.scene.camera.frustum.near*(17*l);A.frustumMat4(o,c,u*l,h*l,p,1e4,this._marqueeFrustumProjMat),H(this._marqueeFrustum,this.viewer.scene.camera.viewMatrix,this._marqueeFrustumProjMat)}destroy(){super.destroy(),this._marqueeElement.parentElement&&(this._marqueeElement.parentElement.removeChild(this._marqueeElement),this._marqueeElement=null,this._objectsKdTree3=null)}}G.PICK_MODE_INTERSECTS=0,G.PICK_MODE_INSIDE=1;class j extends S{constructor(e){super(e.marqueePicker,e);const t=e.marqueePicker,s=t.viewer.scene.canvas.canvas;let n,i,a,r,l,o,c,u=!1,h=!1,p=!1;s.addEventListener("mousedown",(e=>{this.getActive()&&0===e.button&&(c=setTimeout((function(){const a=t.viewer.scene.input;a.keyDown[a.KEY_CTRL]||t.clear(),n=e.pageX,i=e.pageY,l=e.offsetX,t.setMarqueeCorner1([n,i]),u=!0,t.viewer.cameraControl.pointerEnabled=!1,t.setMarqueeVisible(!0),s.style.cursor="crosshair"}),400),h=!0)})),s.addEventListener("mouseup",(e=>{if(!this.getActive())return;if(!u&&!p)return;if(0!==e.button)return;clearTimeout(c),a=e.pageX,r=e.pageY;const s=Math.abs(a-n),l=Math.abs(r-i);u=!1,t.viewer.cameraControl.pointerEnabled=!0,p&&(p=!1),(s>3||l>3)&&t.pick()})),document.addEventListener("mouseup",(e=>{this.getActive()&&0===e.button&&(clearTimeout(c),u&&(t.setMarqueeVisible(!1),u=!1,h=!1,p=!0,t.viewer.cameraControl.pointerEnabled=!0))}),!0),s.addEventListener("mousemove",(e=>{this.getActive()&&0===e.button&&h&&(clearTimeout(c),u&&(a=e.pageX,r=e.pageY,o=e.offsetX,t.setMarqueeVisible(!0),t.setMarqueeCorner2([a,r]),t.setPickMode(l0}log(e){console.log(`[xeokit plugin ${this.id}]: ${e}`)}warn(e){console.warn(`[xeokit plugin ${this.id}]: ${e}`)}error(e){console.error(`[xeokit plugin ${this.id}]: ${e}`)}send(e,t){}destroy(){this.viewer.removePlugin(this)}}const k=A.vec3(),Q=function(){const e=new Float64Array(16),t=new Float64Array(4),s=new Float64Array(4);return function(n,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,A.transformVec4(n,t,s),A.setMat4Translation(n,s,a),a.slice()}}();function W(e,t,s){const n=Float32Array.from([e[0]])[0],i=e[0]-n,a=Float32Array.from([e[1]])[0],r=e[1]-a,l=Float32Array.from([e[2]])[0],o=e[2]-l;t[0]=n,t[1]=a,t[2]=l,s[0]=i,s[1]=r,s[2]=o}function z(e,t,s,n=1e3){const i=A.getPositionsCenter(e,k),a=Math.round(i[0]/n)*n,r=Math.round(i[1]/n)*n,l=Math.round(i[2]/n)*n;s[0]=a,s[1]=r,s[2]=l;const o=0!==s[0]||0!==s[1]||0!==s[2];if(o)for(let s=0,n=e.length;s0?this.meshes[0]._colorize[3]/255:1}set opacity(e){if(0===this.meshes.length)return;const t=null!=e,s=this.meshes[0]._colorize[3];let n=255;if(t){if(e<0?e=0:e>1&&(e=1),n=Math.floor(255*e),s===n)return}else if(n=255,s===n)return;for(let e=0,t=this.meshes.length;e{this._viewPosDirty=!0,this._needUpdate()})),this._onCameraProjMatrix=this.scene.camera.on("projMatrix",(()=>{this._canvasPosDirty=!0,this._needUpdate()})),this._onEntityDestroyed=null,this._onEntityModelDestroyed=null,this._renderer.addMarker(this),this.entity=t.entity,this.worldPos=t.worldPos,this.occludable=t.occludable}_update(){if(this._viewPosDirty&&(A.transformPoint3(this.scene.camera.viewMatrix,this._worldPos,this._viewPos),this._viewPosDirty=!1,this._canvasPosDirty=!0,this.fire("viewPos",this._viewPos)),this._canvasPosDirty){le.set(this._viewPos),le[3]=1,A.transformPoint4(this.scene.camera.projMatrix,le,oe);const e=this.scene.canvas.boundary;this._canvasPos[0]=Math.floor((1+oe[0]/oe[3])*e[2]/2),this._canvasPos[1]=Math.floor((1-oe[1]/oe[3])*e[3]/2),this._canvasPosDirty=!1,this.fire("canvasPos",this._canvasPos)}}_setVisible(e){this._visible,this._visible=e,this.fire("visible",this._visible)}set entity(e){if(this._entity){if(this._entity===e)return;null!==this._onEntityDestroyed&&(this._entity.off(this._onEntityDestroyed),this._onEntityDestroyed=null),null!==this._onEntityModelDestroyed&&(this._entity.model.off(this._onEntityModelDestroyed),this._onEntityModelDestroyed=null)}this._entity=e,this._entity&&(this._entity instanceof re?this._onEntityModelDestroyed=this._entity.model.on("destroyed",(()=>{this._entity=null,this._onEntityModelDestroyed=null})):this._onEntityDestroyed=this._entity.on("destroyed",(()=>{this._entity=null,this._onEntityDestroyed=null}))),this.fire("entity",this._entity,!0)}get entity(){return this._entity}set occludable(e){(e=!!e)!==this._occludable&&(this._occludable=e)}get occludable(){return this._occludable}set worldPos(e){this._worldPos.set(e||[0,0,0]),W(this._worldPos,this._origin,this._rtcPos),this._occludable&&this._renderer.markerWorldPosUpdated(this),this._viewPosDirty=!0,this.fire("worldPos",this._worldPos),this._needUpdate()}get worldPos(){return this._worldPos}get origin(){return this._origin}get rtcPos(){return this._rtcPos}get viewPos(){return this._update(),this._viewPos}get canvasPos(){return this._update(),this._canvasPos}get visible(){return!!this._visible}destroy(){this.fire("destroyed",!0),this.scene.camera.off(this._onCameraViewMatrix),this.scene.camera.off(this._onCameraProjMatrix),this._entity&&(null!==this._onEntityDestroyed&&this._entity.off(this._onEntityDestroyed),null!==this._onEntityModelDestroyed&&this._entity.model.off(this._onEntityModelDestroyed)),this._renderer.removeMarker(this),super.destroy()}}class ue{constructor(e,t={}){this._color=t.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=t.thickness||1,this._thicknessClickable=t.thicknessClickable||6,this._visible=!0,this._culled=!1;var s=this._wire,n=s.style;n.border="solid "+this._thickness+"px "+this._color,n.position="absolute",n["z-index"]=void 0===t.zIndex?"2000001":t.zIndex,n.width="0px",n.height="0px",n.visibility="visible",n.top="0px",n.left="0px",n["-webkit-transform-origin"]="0 0",n["-moz-transform-origin"]="0 0",n["-ms-transform-origin"]="0 0",n["-o-transform-origin"]="0 0",n["transform-origin"]="0 0",n["-webkit-transform"]="rotate(0deg)",n["-moz-transform"]="rotate(0deg)",n["-ms-transform"]="rotate(0deg)",n["-o-transform"]="rotate(0deg)",n.transform="rotate(0deg)",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._wireClickable,a=i.style;a.border="solid "+this._thicknessClickable+"px "+this._color,a.position="absolute",a["z-index"]=void 0===t.zIndex?"2000002":t.zIndex+1,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}get visible(){return"visible"===this._wire.style.visibility}_update(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,s=this._wire.style;s.width=Math.round(e)+"px",s.left=Math.round(this._x1)+"px",s.top=Math.round(this._y1)+"px",s["-webkit-transform"]="rotate("+t+"deg)",s["-moz-transform"]="rotate("+t+"deg)",s["-ms-transform"]="rotate("+t+"deg)",s["-o-transform"]="rotate("+t+"deg)",s.transform="rotate("+t+"deg)";var n=this._wireClickable.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)"}setStartAndEnd(e,t,s,n){this._x1=e,this._y1=t,this._x2=s,this._y2=n,this._update()}setColor(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}setOpacity(e){this._wire.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}destroy(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}class he{constructor(e,t={}){this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var s=this._dot,n=s.style;n["border-radius"]="25px",n.border="solid 2px white",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"40000005":t.zIndex,n.width="8px",n.height="8px",n.visibility=!1!==t.visible?"visible":"hidden",n.top="0px",n.left="0px",n["box-shadow"]="0 2px 5px 0 #182A3D;",n.opacity=1,n["pointer-events"]="none",t.onContextMenu,e.appendChild(s);var i=this._dotClickable,a=i.style;a["border-radius"]="35px",a.border="solid 10px white",a.position="absolute",a["z-index"]=void 0===t.zIndex?"40000007":t.zIndex+1,a.width="8px",a.height="8px",a.visibility="visible",a.top="0px",a.left="0px",a.opacity=0,a["pointer-events"]="none",t.onContextMenu,e.appendChild(i),t.onMouseOver&&i.addEventListener("mouseover",(e=>{t.onMouseOver(e,this)})),t.onMouseLeave&&i.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this)})),t.onMouseWheel&&i.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&i.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()})),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.borderColor)}setPos(e,t){this._x=e,this._y=t;var s=this._dot.style;s.left=Math.round(e)-4+"px",s.top=Math.round(t)-4+"px";var n=this._dotClickable.style;n.left=Math.round(e)-9+"px",n.top=Math.round(t)-9+"px"}setFillColor(e){this._dot.style.background=e||"lightgreen"}setBorderColor(e){this._dot.style.border="solid 2px"+(e||"black")}setOpacity(e){this._dot.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setClickable(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}destroy(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}class pe{constructor(e,t={}){this._highlightClass="viewer-ruler-label-highlighted",this._prefix=t.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var s=this._label,n=s.style;n["border-radius"]="5px",n.color="white",n.padding="4px",n.border="solid 1px",n.background="lightgreen",n.position="absolute",n["z-index"]=void 0===t.zIndex?"5000005":t.zIndex,n.width="auto",n.height="auto",n.visibility="visible",n.top="0px",n.left="0px",n["pointer-events"]="all",n.opacity=1,t.onContextMenu,s.innerText="",e.appendChild(s),this.setPos(t.x||0,t.y||0),this.setFillColor(t.fillColor),this.setBorderColor(t.fillColor),this.setText(t.text),t.onMouseOver&&s.addEventListener("mouseover",(e=>{t.onMouseOver(e,this),e.preventDefault()})),t.onMouseLeave&&s.addEventListener("mouseleave",(e=>{t.onMouseLeave(e,this),e.preventDefault()})),t.onMouseWheel&&s.addEventListener("wheel",(e=>{t.onMouseWheel(e,this)})),t.onContextMenu&&s.addEventListener("contextmenu",(e=>{t.onContextMenu(e,this),e.preventDefault()}))}setPos(e,t){this._x=e,this._y=t;var s=this._label.style;s.left=Math.round(e)-20+"px",s.top=Math.round(t)-12+"px"}setPosOnWire(e,t,s,n){var i=e+.5*(s-e),a=t+.5*(n-t),r=this._label.style;r.left=Math.round(i)-20+"px",r.top=Math.round(a)-12+"px"}setPosBetweenWires(e,t,s,n,i,a){var r=(e+s+i)/3,l=(t+n+a)/3,o=this._label.style;o.left=Math.round(r)-20+"px",o.top=Math.round(l)-12+"px"}setText(e){this._label.innerHTML=this._prefix+(e||"")}setFillColor(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}setBorderColor(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}setOpacity(e){this._label.style.opacity=e}setVisible(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setCulled(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}setHighlighted(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}setClickable(e){this._label.style["pointer-events"]=e?"all":"none"}destroy(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}var Ae=A.vec3(),de=A.vec3();class fe extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._color=t.color||e.defaultColor;var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._cornerMarker=new ce(s,t.corner),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._cornerWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(12),this._vp=new Float64Array(12),this._pp=new Float64Array(12),this._cp=new Int16Array(6);const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._cornerDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._originWire=new ue(this._container,{color:this._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetWire=new ue(this._container,{color:this._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._angleLabel=new pe(this._container,{fillColor:this._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._visible=!1,this._originVisible=!1,this._cornerVisible=!1,this._targetVisible=!1,this._originWireVisible=!1,this._targetWireVisible=!1,this._angleVisible=!1,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._cornerMarker.on("worldPos",(e=>{this._cornerWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.cornerVisible=t.cornerVisible,this.targetVisible=t.targetVisible,this.originWireVisible=t.originWireVisible,this.targetWireVisible=t.targetWireVisible,this.angleVisible=t.angleVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){const p=-.3,d=this._originMarker.viewPos[2],f=this._cornerMarker.viewPos[2],I=this._targetMarker.viewPos[2];if(d>p||f>p||I>p)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var t=this._pp,s=this._cp,n=e.canvas.canvas.getBoundingClientRect();const y=this._container.getBoundingClientRect();for(var i=n.top-y.top,a=n.left-y.left,r=e.canvas.boundary,l=r[2],o=r[3],c=0,u=0,h=t.length;u{e.snappedToVertex||e.snappedToEdge?(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!0),this.markerDiv.style.background="greenyellow",this.markerDiv.style.border="2px solid green"):(n&&(n.visible=!0,n.canvasPos=e.canvasPos,n.snappedCanvasPos=e.canvasPos,n.snapped=!1),this.markerDiv.style.background="pink",this.markerDiv.style.border="2px solid red");const s=e.snappedCanvasPos||e.canvasPos;switch(i=!0,a=e.entity,o.set(e.worldPos),c.set(s),this._mouseState){case 0:this.markerDiv.style.marginLeft=s[0]-5+"px",this.markerDiv.style.marginTop=s[1]-5+"px";break;case 1:this._currentAngleMeasurement&&(this._currentAngleMeasurement.originWireVisible=!0,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.cornerVisible=!0,this._currentAngleMeasurement.angleVisible=!1,this._currentAngleMeasurement.corner.worldPos=e.worldPos,this._currentAngleMeasurement.corner.entity=e.entity),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer";break;case 2:this._currentAngleMeasurement&&(this._currentAngleMeasurement.targetWireVisible=!0,this._currentAngleMeasurement.targetVisible=!0,this._currentAngleMeasurement.angleVisible=!0,this._currentAngleMeasurement.target.worldPos=e.worldPos,this._currentAngleMeasurement.target.entity=e.entity),this.markerDiv.style.marginLeft="-10000px",this.markerDiv.style.marginTop="-10000px",t.style.cursor="pointer"}})),t.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(r=e.clientX,l=e.clientY)}),t.addEventListener("mouseup",this._onMouseUp=e=>{if(1===e.which&&!(e.clientX>r+20||e.clientXl+20||e.clientY{if(i=!1,n&&(n.visible=!0,n.pointerPos=e.canvasPos,n.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,n.snapped=!1),this.markerDiv.style.marginLeft="-100px",this.markerDiv.style.marginTop="-100px",this._currentAngleMeasurement){switch(this._mouseState){case 0:this._currentAngleMeasurement.originVisible=!1;break;case 1:this._currentAngleMeasurement.cornerVisible=!1,this._currentAngleMeasurement.originWireVisible=!1,this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1;break;case 2:this._currentAngleMeasurement.targetVisible=!1,this._currentAngleMeasurement.targetWireVisible=!1,this._currentAngleMeasurement.angleVisible=!1}t.style.cursor="default"}})),this._active=!0}deactivate(){if(!this._active)return;this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.angleMeasurementsPlugin.viewer.cameraControl;t.off(this._onMouseHoverSurface),t.off(this._onPickedSurface),t.off(this._onHoverNothing),t.off(this._onPickedNothing),this._currentAngleMeasurement=null,this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentAngleMeasurement&&(this._currentAngleMeasurement.destroy(),this._currentAngleMeasurement=null),this._mouseState=0)}destroy(){this.deactivate(),super.destroy()}}class me extends V{constructor(e,t={}){super("AngleMeasurements",e),this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,angleMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,angleMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get control(){return this._defaultControl||(this._defaultControl=new ye(this,{})),this._defaultControl}get measurements(){return this._measurements}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.corner,n=e.target,i=new fe(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},corner:{entity:s.entity,worldPos:s.worldPos},target:{entity:n.entity,worldPos:n.worldPos},visible:e.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(()=>{delete this._measurements[i.id]})),this.fire("measurementCreated",i),i}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{this.plugin.fire("markerClicked",this)}),this._marker.addEventListener("mouseenter",this._onMouseEnterExternalMarker=()=>{this.plugin.fire("markerMouseEnter",this)}),this._marker.addEventListener("mouseleave",this._onMouseLeaveExternalMarker=()=>{this.plugin.fire("markerMouseLeave",this)}),this._markerExternal=!0):(this._markerHTML=t.markerHTML,this._htmlDirty=!0,this._markerExternal=!1),t.labelElement?(this._label=t.labelElement,this._labelExternal=!0):(this._labelHTML=t.labelHTML,this._htmlDirty=!0,this._labelExternal=!1),this._markerShown=!!t.markerShown,this._labelShown=!!t.labelShown,this._values=t.values||{},this._layoutDirty=!0,this._visibilityDirty=!0,this._buildHTML(),this._onTick=this.scene.on("tick",(()=>{this._htmlDirty&&(this._buildHTML(),this._htmlDirty=!1,this._layoutDirty=!0,this._visibilityDirty=!0),(this._layoutDirty||this._visibilityDirty)&&(this._markerShown||this._labelShown)&&(this._updatePosition(),this._layoutDirty=!1),this._visibilityDirty&&(this._marker.style.visibility=this.visible&&this._markerShown?"visible":"hidden",this._label.style.visibility=this.visible&&this._markerShown&&this._labelShown?"visible":"hidden",this._visibilityDirty=!1)})),this.on("canvasPos",(()=>{this._layoutDirty=!0})),this.on("visible",(()=>{this._visibilityDirty=!0})),this.setMarkerShown(!1!==t.markerShown),this.setLabelShown(t.labelShown),this.eye=t.eye?t.eye.slice():null,this.look=t.look?t.look.slice():null,this.up=t.up?t.up.slice():null,this.projection=t.projection}_buildHTML(){if(!this._markerExternal){this._marker&&(this._container.removeChild(this._marker),this._marker=null);let e=this._markerHTML||"

";g.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._marker=t.firstChild,this._container.appendChild(this._marker),this._marker.style.visibility=this._markerShown?"visible":"hidden",this._marker.addEventListener("click",(()=>{this.plugin.fire("markerClicked",this)})),this._marker.addEventListener("mouseenter",(()=>{this.plugin.fire("markerMouseEnter",this)})),this._marker.addEventListener("mouseleave",(()=>{this.plugin.fire("markerMouseLeave",this)})),this._marker.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}if(!this._labelExternal){this._label&&(this._container.removeChild(this._label),this._label=null);let e=this._labelHTML||"

";g.isArray(e)&&(e=e.join("")),e=this._renderTemplate(e);const t=document.createRange().createContextualFragment(e);this._label=t.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))}))}}_updatePosition(){const e=this.scene.canvas.boundary,t=e[0],s=e[1],n=this.canvasPos;this._marker.style.left=Math.floor(t+n[0])-12+"px",this._marker.style.top=Math.floor(s+n[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+n[0]+20)+"px",this._label.style.top=Math.floor(s+n[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}_renderTemplate(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){const s=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),s)}return e}setMarkerShown(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}getMarkerShown(){return this._markerShown}setLabelShown(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}getLabelShown(){return this._labelShown}setField(e,t){this._values[e]=t||"",this._htmlDirty=!0}getField(e){return this._values[e]}setValues(e){for(var t in e)if(e.hasOwnProperty(t)){const s=e[t];this.setField(t,s)}}getValues(){return this._values}destroy(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),super.destroy()}}const we=A.vec3(),ge=A.vec3(),Ee=A.vec3();class Te extends V{constructor(e,t){super("Annotations",e),this._labelHTML=t.labelHTML||"
",this._markerHTML=t.markerHTML||"
",this._container=t.container||document.body,this._values=t.values||{},this.annotations={},this.surfaceOffset=t.surfaceOffset}getContainerElement(){return this._container}send(e,t){if("clearAnnotations"===e)this.clear()}set surfaceOffset(e){null==e&&(e=.3),this._surfaceOffset=e}get surfaceOffset(){return this._surfaceOffset}createAnnotation(e){var t,s;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){const n=e.pickResult;if(n.worldPos&&n.worldNormal){const e=A.normalizeVec3(n.worldNormal,we),i=A.mulVec3Scalar(e,this._surfaceOffset,ge);t=A.addVec3(n.worldPos,i,Ee),s=n.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,s=e.entity;var n=null;e.markerElementId&&((n=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var i=null;e.labelElementId&&((i=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));const a=new ve(this.viewer.scene,{id:e.id,plugin:this,entity:s,worldPos:t,container:this._container,markerElement:n,labelElement:i,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:g.apply(e.values,g.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[a.id]=a,a.on("destroyed",(()=>{delete this.annotations[a.id],this.fire("annotationDestroyed",a.id)})),this.fire("annotationCreated",a.id),a}destroyAnnotation(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}clear(){const e=Object.keys(this.annotations);for(var t=0,s=e.length;t
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}_injectDefaultCSS(){const e="xeokit-spinner-css";if(document.getElementById(e))return;const t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}_adjustPosition(){if(this._isCustom)return;const e=this._canvas,t=this._element,s=t.style;s.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",s.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}set processes(e){if(e=e||0,this._processes===e)return;if(e<0)return;const t=this._processes;this._processes=e;const s=this._element;s&&(s.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}get processes(){return this._processes}_destroy(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);const e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}const De=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"];class Pe extends S{constructor(e,t={}){super(e,t),this._backgroundColor=A.vec3([t.backgroundColor?t.backgroundColor[0]:1,t.backgroundColor?t.backgroundColor[1]:1,t.backgroundColor?t.backgroundColor[2]:1]),this._backgroundColorFromAmbientLight=!!t.backgroundColorFromAmbientLight,this.canvas=t.canvas,this.gl=null,this.webgl2=!1,this.transparent=!!t.transparent,this.contextAttr=t.contextAttr||{},this.contextAttr.alpha=this.transparent,this.contextAttr.preserveDrawingBuffer=!!this.contextAttr.preserveDrawingBuffer,this.contextAttr.stencil=!1,this.contextAttr.premultipliedAlpha=!!this.contextAttr.premultipliedAlpha,this.contextAttr.antialias=!1!==this.contextAttr.antialias,this.resolutionScale=t.resolutionScale,this.canvas.width=Math.round(this.canvas.clientWidth*this._resolutionScale),this.canvas.height=Math.round(this.canvas.clientHeight*this._resolutionScale),this.boundary=[this.canvas.offsetLeft,this.canvas.offsetTop,this.canvas.clientWidth,this.canvas.clientHeight],this._initWebGL(t);const s=this;this.canvas.addEventListener("webglcontextlost",this._webglcontextlostListener=function(e){console.time("webglcontextrestored"),s.scene._webglContextLost(),s.fire("webglcontextlost"),e.preventDefault()},!1),this.canvas.addEventListener("webglcontextrestored",this._webglcontextrestoredListener=function(e){s._initWebGL(),s.gl&&(s.scene._webglContextRestored(s.gl),s.fire("webglcontextrestored",s.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);let n=!0;new ResizeObserver((e=>{for(const t of e)t.contentBoxSize&&(n=!0)})).observe(this.canvas),this._tick=this.scene.on("tick",(()=>{n&&(n=!1,s.canvas.width=Math.round(s.canvas.clientWidth*s._resolutionScale),s.canvas.height=Math.round(s.canvas.clientHeight*s._resolutionScale),s.boundary[0]=s.canvas.offsetLeft,s.boundary[1]=s.canvas.offsetTop,s.boundary[2]=s.canvas.clientWidth,s.boundary[3]=s.canvas.clientHeight,s.fire("boundary",s.boundary))})),this._spinner=new be(this.scene,{canvas:this.canvas,elementId:t.spinnerElementId})}get type(){return"Canvas"}get backgroundColorFromAmbientLight(){return this._backgroundColorFromAmbientLight}set backgroundColorFromAmbientLight(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}get resolutionScale(){return this._resolutionScale}set resolutionScale(e){if((e=e||1)===this._resolutionScale)return;this._resolutionScale=e;const t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}get spinner(){return this._spinner}_createCanvas(){const e="xeokit-canvas-"+A.createUUID(),t=document.getElementsByTagName("body")[0],s=document.createElement("div"),n=s.style;n.height="100%",n.width="100%",n.padding="0",n.margin="0",n.background="rgba(0,0,0,0);",n.float="left",n.left="0",n.top="0",n.position="absolute",n.opacity="1.0",n["z-index"]="-10000",s.innerHTML+='',t.appendChild(s),this.canvas=document.getElementById(e)}_getElementXY(e){let t=0,s=0;for(;e;)t+=e.offsetLeft-e.scrollLeft,s+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:s}}_initWebGL(){if(!this.gl)for(let e=0;!this.gl&&e0?Ce.FS_MAX_FLOAT_PRECISION="highp":e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT).precision>0?Ce.FS_MAX_FLOAT_PRECISION="mediump":Ce.FS_MAX_FLOAT_PRECISION="lowp":Ce.FS_MAX_FLOAT_PRECISION="mediump",Ce.DEPTH_BUFFER_BITS=e.getParameter(e.DEPTH_BITS),Ce.MAX_TEXTURE_SIZE=e.getParameter(e.MAX_TEXTURE_SIZE),Ce.MAX_CUBE_MAP_SIZE=e.getParameter(e.MAX_CUBE_MAP_TEXTURE_SIZE),Ce.MAX_RENDERBUFFER_SIZE=e.getParameter(e.MAX_RENDERBUFFER_SIZE),Ce.MAX_TEXTURE_UNITS=e.getParameter(e.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ce.MAX_TEXTURE_IMAGE_UNITS=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS),Ce.MAX_VERTEX_ATTRIBS=e.getParameter(e.MAX_VERTEX_ATTRIBS),Ce.MAX_VERTEX_UNIFORM_VECTORS=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),Ce.MAX_FRAGMENT_UNIFORM_VECTORS=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS),Ce.MAX_VARYING_VECTORS=e.getParameter(e.MAX_VARYING_VECTORS),e.getSupportedExtensions().forEach((function(e){Ce.SUPPORTED_EXTENSIONS[e]=!0})))}class Be{constructor(){this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}get canvasPos(){return this._gotCanvasPos?this._canvasPos:null}set canvasPos(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}get origin(){return this._gotOrigin?this._origin:null}set origin(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}get direction(){return this._gotDirection?this._direction:null}set direction(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}get indices(){return this.entity&&this._gotIndices?this._indices:null}set indices(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}get localPos(){return this.entity&&this._gotLocalPos?this._localPos:null}set localPos(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}get snappedCanvasPos(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null}set snappedCanvasPos(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}get worldPos(){return this._gotWorldPos?this._worldPos:null}set worldPos(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}get viewPos(){return this.entity&&this._gotViewPos?this._viewPos:null}set viewPos(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}get bary(){return this.entity&&this._gotBary?this._bary:null}set bary(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}get worldNormal(){return this.entity&&this._gotWorldNormal?this._worldNormal:null}set worldNormal(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}get uv(){return this.entity&&this._gotUV?this._uv:null}set uv(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}reset(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}class Oe{constructor(e,t,s){if(this.allocated=!1,this.compiled=!1,this.handle=e.createShader(t),this.handle){if(this.allocated=!0,e.shaderSource(this.handle,s),e.compileShader(this.handle),this.compiled=e.getShaderParameter(this.handle,e.COMPILE_STATUS),!this.compiled&&!e.isContextLost()){const t=s.split("\n"),n=[];for(let e=0;e0&&"/"===s.charAt(n+1)&&(s=s.substring(0,n)),t.push(s);return t.join("\n")}function Me(e){console.error(e.join("\n"))}class Fe{constructor(e,t){this.id=xe.addItem({}),this.source=t,this.init(e)}init(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new Oe(e,e.VERTEX_SHADER,Le(this.source.vertex)),this._fragmentShader=new Oe(e,e.FRAGMENT_SHADER,Le(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Me(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Me(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Me(this.errors);let t,s,n,i,a;if(this.compiled=!0,this.handle=e.createProgram(),!this.handle)return void(this.errors=["Failed to allocate program"]);if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Me(this.errors);const r=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(s=0;sthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}setData(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}bind(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}unbind(){this.allocated&&this._gl.bindBuffer(this.type,null)}destroy(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}class Ue{constructor(e,t){this.scene=e,this.aabb=A.AABB3(),this.origin=A.vec3(t),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}addMarker(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}markerWorldPosUpdated(e){if(!this.markers[e.id])return;const t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}removeMarker(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}update(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}_buildMarkerList(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}_buildPositions(){let e=0;for(let t=0;t-t){s._setVisible(!1);continue}const r=s.canvasPos,l=r[0],o=r[1];l+10<0||o+10<0||l-10>n||o-10>i?s._setVisible(!1):!s.entity||s.entity.visible?s.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=s,this.pixels[a++]=l,this.pixels[a++]=o):s._setVisible(!0):s._setVisible(!1)}}_updateActiveSectionPlanes(){const e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(let s=0;s{this._occlusionTestListDirty=!0})),this._onCameraProjMatrix=e.camera.on("projMatrix",(()=>{this._occlusionTestListDirty=!0})),this._onCanvasBoundary=e.canvas.on("boundary",(()=>{this._occlusionTestListDirty=!0}))}addMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s||(s=new Ue(this._scene,e.origin),this._occlusionLayers[s.originHash]=s,this._occlusionLayersListDirty=!0),s.addMarker(e),this._markersToOcclusionLayersMap[e.id]=s,this._occlusionTestListDirty=!0}markerWorldPosUpdated(e){const t=this._markersToOcclusionLayersMap[e.id];if(!t)return void e.error("Marker has not been added to OcclusionTester");const s=e.origin.join();if(s!==t.originHash){1===t.numMarkers?(t.destroy(),delete this._occlusionLayers[t.originHash],this._occlusionLayersListDirty=!0):t.removeMarker(e);let n=this._occlusionLayers[s];n||(n=new Ue(this._scene,e.origin),this._occlusionLayers[s]=t,this._occlusionLayersListDirty=!0),n.addMarker(e),this._markersToOcclusionLayersMap[e.id]=n}else t.markerWorldPosUpdated(e)}removeMarker(e){const t=e.origin.join();let s=this._occlusionLayers[t];s&&(1===s.numMarkers?(s.destroy(),delete this._occlusionLayers[s.originHash],this._occlusionLayersListDirty=!0):s.removeMarker(e),delete this._markersToOcclusionLayersMap[e.id])}get needOcclusionTest(){return this._occlusionTestListDirty}bindRenderBuf(){const e=[this._scene.canvas.canvas.id,this._scene._sectionPlanesState.getHash()].join(";");if(e!==this._shaderSourceHash&&(this._shaderSourceHash=e,this._shaderSourceDirty=!0),this._shaderSourceDirty&&(this._buildShaderSource(),this._shaderSourceDirty=!1,this._programDirty=!0),this._programDirty&&(this._buildProgram(),this._programDirty=!1,this._occlusionTestListDirty=!0),this._occlusionLayersListDirty&&(this._buildOcclusionLayersList(),this._occlusionLayersListDirty=!1),this._occlusionTestListDirty){for(let e=0,t=this._occlusionLayersList.length;e0,s=[];return s.push("#version 300 es"),s.push("// OcclusionTester vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("vec4 worldPosition = vec4(position, 1.0); "),s.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&s.push(" vWorldPosition = worldPosition;"),s.push(" vec4 clipPos = projMatrix * viewPosition;"),s.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?s.push("vFragDepth = 1.0 + clipPos.w;"):s.push("clipPos.z += -0.001;"),s.push(" gl_Position = clipPos;"),s.push("}"),s}_buildFragmentShaderSource(){const e=this._scene,t=e._sectionPlanesState,s=t.sectionPlanes.length>0,n=[];if(n.push("#version 300 es"),n.push("// OcclusionTester fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),n.push("}"),n}_buildProgram(){this._program&&this._program.destroy();const e=this._scene,t=e.canvas.gl,s=e._sectionPlanesState;if(this._program=new Fe(t,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,t=s.sectionPlanes.length;e0){const e=n.sectionPlanes;for(let n=0;n{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(n.camera.projMatrix,t),t)})());const t=this._scene.canvas.gl,s=this._program,n=this._scene,i=n.sao,a=t.drawingBufferWidth,r=t.drawingBufferHeight,l=n.camera.project._state,o=l.near,c=l.far,u=l.matrix,h=this._getInverseProjectMat(),p=Math.random(),d="perspective"===n.camera.projection;ke[0]=a,ke[1]=r,t.viewport(0,0,a,r),t.clearColor(0,0,0,1),t.disable(t.DEPTH_TEST),t.disable(t.BLEND),t.frontFace(t.CCW),t.clear(t.COLOR_BUFFER_BIT),s.bind(),t.uniform1f(this._uCameraNear,o),t.uniform1f(this._uCameraFar,c),t.uniformMatrix4fv(this._uCameraProjectionMatrix,!1,u),t.uniformMatrix4fv(this._uCameraInverseProjectionMatrix,!1,h),t.uniform1i(this._uPerspective,d),t.uniform1f(this._uScale,i.scale*(c/5)),t.uniform1f(this._uIntensity,i.intensity),t.uniform1f(this._uBias,i.bias),t.uniform1f(this._uKernelRadius,i.kernelRadius),t.uniform1f(this._uMinResolution,i.minResolution),t.uniform2fv(this._uViewport,ke),t.uniform1f(this._uRandomSeed,p);const f=e.getDepthTexture();s.bindTexture(this._uDepthTexture,f,0),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),t.drawElements(t.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}_build(){let e=!1;const t=this._scene.sao;if(t.numSamples!==this._numSamples&&(this._numSamples=Math.floor(t.numSamples),e=!0),!e)return;const s=this._scene.canvas.gl;if(this._program&&(this._program.destroy(),this._program=null),this._program=new Fe(s,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV; \n \n out vec2 vUV;\n \n void main () {\n gl_Position = vec4(aPosition, 1.0);\n vUV = aUV;\n }"],fragment:[`#version 300 es \n precision highp float;\n precision highp int; \n \n #define NORMAL_TEXTURE 0\n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n #define NUM_SAMPLES ${this._numSamples}\n #define NUM_RINGS 4 \n \n in vec2 vUV;\n \n uniform sampler2D uDepthTexture;\n \n uniform float uCameraNear;\n uniform float uCameraFar;\n uniform mat4 uProjectMatrix;\n uniform mat4 uInverseProjectMatrix;\n \n uniform bool uPerspective;\n\n uniform float uScale;\n uniform float uIntensity;\n uniform float uBias;\n uniform float uKernelRadius;\n uniform float uMinResolution;\n uniform vec2 uViewport;\n uniform float uRandomSeed;\n\n float pow2( const in float x ) { return x*x; }\n \n highp float rand( const in vec2 uv ) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n return fract(sin(sn) * c);\n }\n\n vec3 packNormalToRGB( const in vec3 normal ) {\n return normalize( normal ) * 0.5 + 0.5;\n }\n\n vec3 unpackRGBToNormal( const in vec3 rgb ) {\n return 2.0 * rgb.xyz - 1.0;\n }\n\n const float packUpscale = 256. / 255.;\n const float unpackDownScale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. ); \n\n const float shiftRights = 1. / 256.;\n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float unpackRGBAToFloat( const in vec4 v ) { \n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unPackFactors );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n return ( near * far ) / ( ( far - near ) * invClipZ - far );\n }\n\n float orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n return linearClipZ * ( near - far ) - near;\n }\n \n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n if (uPerspective) {\n return perspectiveDepthToViewZ( depth, uCameraNear, uCameraFar );\n } else {\n return orthographicDepthToViewZ( depth, uCameraNear, uCameraFar );\n }\n }\n\n vec3 getViewPos( const in vec2 screenPos, const in float depth, const in float viewZ ) {\n \tfloat clipW = uProjectMatrix[2][3] * viewZ + uProjectMatrix[3][3];\n \tvec4 clipPosition = vec4( ( vec3( screenPos, depth ) - 0.5 ) * 2.0, 1.0 );\n \tclipPosition *= clipW; \n \treturn ( uInverseProjectMatrix * clipPosition ).xyz;\n }\n\n vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPos ) { \n return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );\n }\n\n float scaleDividedByCameraFar;\n float minResolutionMultipliedByCameraFar;\n\n float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {\n \tvec3 viewDelta = sampleViewPosition - centerViewPosition;\n \tfloat viewDistance = length( viewDelta );\n \tfloat scaledScreenDistance = scaleDividedByCameraFar * viewDistance;\n \treturn max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - uBias) / (1.0 + pow2( scaledScreenDistance ) );\n }\n\n const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );\n const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );\n\n float getAmbientOcclusion( const in vec3 centerViewPosition ) {\n \n \tscaleDividedByCameraFar = uScale / uCameraFar;\n \tminResolutionMultipliedByCameraFar = uMinResolution * uCameraFar;\n \tvec3 centerViewNormal = getViewNormal( centerViewPosition, vUV );\n\n \tfloat angle = rand( vUV + uRandomSeed ) * PI2;\n \tvec2 radius = vec2( uKernelRadius * INV_NUM_SAMPLES ) / uViewport;\n \tvec2 radiusStep = radius;\n\n \tfloat occlusionSum = 0.0;\n \tfloat weightSum = 0.0;\n\n \tfor( int i = 0; i < NUM_SAMPLES; i ++ ) {\n \t\tvec2 sampleUv = vUV + vec2( cos( angle ), sin( angle ) ) * radius;\n \t\tradius += radiusStep;\n \t\tangle += ANGLE_STEP;\n\n \t\tfloat sampleDepth = getDepth( sampleUv );\n \t\tif( sampleDepth >= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }`]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const n=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(s,s.ARRAY_BUFFER,i,i.length,3,s.STATIC_DRAW),this._uvBuf=new He(s,s.ARRAY_BUFFER,n,n.length,2,s.STATIC_DRAW),this._indicesBuf=new He(s,s.ELEMENT_ARRAY_BUFFER,a,a.length,1,s.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}destroy(){this._program&&(this._program.destroy(),this._program=null)}}const We=new Float32Array(Je(17,[0,1])),ze=new Float32Array(Je(17,[1,0])),Ke=new Float32Array(function(e,t){const s=[];for(let n=0;n<=e;n++)s.push(qe(n,t));return s}(17,4)),Ye=new Float32Array(2);class Xe{constructor(e){this._scene=e,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}init(){const e=this._scene.canvas.gl;if(this._program=new Fe(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS 16\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }"]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);const t=new Float32Array([1,1,0,1,0,0,1,0]),s=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),n=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new He(e,e.ARRAY_BUFFER,s,s.length,3,e.STATIC_DRAW),this._uvBuf=new He(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new He(e,e.ELEMENT_ARRAY_BUFFER,n,n.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}render(e,t,s){if(this._programError)return;this._getInverseProjectMat||(this._getInverseProjectMat=(()=>{let e=!0;this._scene.camera.on("projMatrix",(function(){e=!0}));const t=A.mat4();return()=>(e&&A.inverseMat4(a.camera.projMatrix,t),t)})());const n=this._scene.canvas.gl,i=this._program,a=this._scene,r=n.drawingBufferWidth,l=n.drawingBufferHeight,o=a.camera.project._state,c=o.near,u=o.far;n.viewport(0,0,r,l),n.clearColor(0,0,0,1),n.enable(n.DEPTH_TEST),n.disable(n.BLEND),n.frontFace(n.CCW),n.clear(n.COLOR_BUFFER_BIT|n.DEPTH_BUFFER_BIT),i.bind(),Ye[0]=r,Ye[1]=l,n.uniform2fv(this._uViewport,Ye),n.uniform1f(this._uCameraNear,c),n.uniform1f(this._uCameraFar,u),n.uniform1f(this._uDepthCutoff,.01),0===s?n.uniform2fv(this._uSampleOffsets,ze):n.uniform2fv(this._uSampleOffsets,We),n.uniform1fv(this._uSampleWeights,Ke);const h=e.getDepthTexture(),p=t.getTexture();i.bindTexture(this._uDepthTexture,h,0),i.bindTexture(this._uOcclusionTexture,p,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),n.drawElements(n.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}destroy(){this._program.destroy()}}function qe(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Je(e,t){const s=[];for(let n=0;n<=e;n++)s.push(t[0]*n),s.push(t[1]*n);return s}class Ze{constructor(e,t,s){s=s||{},this.gl=t,this.allocated=!1,this.canvas=e,this.buffer=null,this.bound=!1,this.size=s.size,this._hasDepthTexture=!!s.depthTexture}setSize(e){this.size=e}webglContextRestored(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}bind(...e){if(this._touch(...e),this.bound)return;const t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}createTexture(e,t,s=null){const n=this.gl,i=n.createTexture();return n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),s?n.texStorage2D(n.TEXTURE_2D,1,s,e,t):n.texImage2D(n.TEXTURE_2D,0,n.RGBA,e,t,0,n.RGBA,n.UNSIGNED_BYTE,null),i}_touch(...e){let t,s;const n=this.gl;if(this.size?(t=this.size[0],s=this.size[1]):(t=n.drawingBufferWidth,s=n.drawingBufferHeight),this.buffer){if(this.buffer.width===t&&this.buffer.height===s)return;this.buffer.textures.forEach((e=>n.deleteTexture(e))),n.deleteFramebuffer(this.buffer.framebuf),n.deleteRenderbuffer(this.buffer.renderbuf)}const i=[];let a;e.length>0?i.push(...e.map((e=>this.createTexture(t,s,e)))):i.push(this.createTexture(t,s)),this._hasDepthTexture&&(a=n.createTexture(),n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.NEAREST),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texImage2D(n.TEXTURE_2D,0,n.DEPTH_COMPONENT32F,t,s,0,n.DEPTH_COMPONENT,n.FLOAT,null));const r=n.createRenderbuffer();n.bindRenderbuffer(n.RENDERBUFFER,r),n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT32F,t,s);const l=n.createFramebuffer();n.bindFramebuffer(n.FRAMEBUFFER,l);for(let e=0;e0&&n.drawBuffers(i.map(((e,t)=>n.COLOR_ATTACHMENT0+t))),this._hasDepthTexture?n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,a,0):n.framebufferRenderbuffer(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.RENDERBUFFER,r),n.bindTexture(n.TEXTURE_2D,null),n.bindRenderbuffer(n.RENDERBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,null),n.bindFramebuffer(n.FRAMEBUFFER,l),!n.isFramebuffer(l))throw"Invalid framebuffer";n.bindFramebuffer(n.FRAMEBUFFER,null);const o=n.checkFramebufferStatus(n.FRAMEBUFFER);switch(o){case n.FRAMEBUFFER_COMPLETE:break;case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case n.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+o}this.buffer={framebuf:l,renderbuf:r,texture:i[0],textures:i,depthTexture:a,width:t,height:s},this.bound=!1}clear(){if(!this.bound)throw"Render buffer not bound";const e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}read(e,t,s=null,n=null,i=Uint8Array,a=4,r=0){const l=e,o=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,c=new i(a),u=this.gl;return u.readBuffer(u.COLOR_ATTACHMENT0+r),u.readPixels(l,o,1,1,s||u.RGBA,n||u.UNSIGNED_BYTE,c,0),c}readArray(e=null,t=null,s=Uint8Array,n=4,i=0){const a=new s(this.buffer.width*this.buffer.height*n),r=this.gl;return r.readBuffer(r.COLOR_ATTACHMENT0+i),r.readPixels(0,0,this.buffer.width,this.buffer.height,e||r.RGBA,t||r.UNSIGNED_BYTE,a,0),a}readImageAsCanvas(){const e=this.gl,t=this._getImageDataCache(),s=t.pixelData,n=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,s);const r=this.buffer.width,l=this.buffer.height,o=l/2|0,c=4*r,u=new Uint8Array(4*r);for(let e=0;ee.deleteTexture(t))),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}class $e{constructor(e){this.scene=e,this._renderBuffersBasic={},this._renderBuffersScaled={}}getRenderBuffer(e,t){const s=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled;let n=s[e];return n||(n=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,t),s[e]=n),n}destroy(){for(let e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(let e in this._renderBuffersScaled)this._renderBuffersScaled[e].destroy()}}function et(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];let s;switch(t){case"WEBGL_depth_texture":s=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":s=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":s=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":s=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:s=e.getExtension(t)}return e._cachedExtensions[t]=s,s}const tt=function(t,s){s=s||{};const n=new Re(t),i=t.canvas.canvas,a=t.canvas.gl,r=!!s.transparent,l=s.alphaDepthMask,o=new e({});let c={},u={},h=!0,p=!0,d=!0,f=!0,I=!0,m=!0,v=!0,w=!0;const g=new $e(t);let E=!1;const T=new Qe(t),b=new Xe(t);function D(){h&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableMap,n=t.drawableListPreCull;let i=0;for(let e in s)s.hasOwnProperty(e)&&(n[i++]=s[e]);n.length=i}}(),h=!1,p=!0),p&&(!function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),p=!1,d=!0),d&&function(){for(let e in c)if(c.hasOwnProperty(e)){const t=c[e],s=t.drawableListPreCull,n=t.drawableList;let i=0;for(let e=0,t=s.length;e0)for(n.withSAO=!0,S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||k>0||H>0||U>0){if(a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):(a.blendEquation(a.FUNC_ADD),a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,l||a.depthMask(!1),(H>0||U>0)&&a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),U>0)for(S=0;S0)for(S=0;S0)for(S=0;S0)for(S=0;S0||W>0){if(n.lastProgramId=null,t.highlightMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),W>0)for(S=0;S0)for(S=0;S0||K>0||Q>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),a.enable(a.CULL_FACE),K>0)for(S=0;S0)for(S=0;S0||X>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),X>0)for(S=0;S0)for(S=0;S0||J>0){if(n.lastProgramId=null,t.selectedMaterial.glowThrough&&a.clear(a.DEPTH_BUFFER_BIT),a.enable(a.CULL_FACE),a.enable(a.BLEND),r?(a.blendEquation(a.FUNC_ADD),a.blendFuncSeparate(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA,a.ONE,a.ONE_MINUS_SRC_ALPHA)):a.blendFunc(a.SRC_ALPHA,a.ONE_MINUS_SRC_ALPHA),J>0)for(S=0;S0)for(S=0;S0){const t=Math.floor(e/4),s=p.size[0],n=t%s-Math.floor(s/2),i=Math.floor(t/s)-Math.floor(s/2),a=Math.sqrt(Math.pow(n,2)+Math.pow(i,2));R.push({x:n,y:i,dist:a,isVertex:r&&l?m[e+3]>y.length/2:r,result:[m[e+0],m[e+1],m[e+2],m[e+3]],normal:[v[e+0],v[e+1],v[e+2],v[e+3]],id:[w[e+0],w[e+1],w[e+2],w[e+3]]})}let O=null,S=null,N=null,x=null;if(R.length>0){R.sort(((e,t)=>e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist)),x=R[0].isVertex?"vertex":"edge";const e=R[0].result,t=R[0].normal,s=R[0].id,n=y[e[3]],i=n.origin,a=n.coordinateScale;S=A.normalizeVec3([t[0]/A.MAX_INT,t[1]/A.MAX_INT,t[2]/A.MAX_INT]),O=[e[0]*a[0]+i[0],e[1]*a[1]+i[1],e[2]*a[2]+i[2]],N=o.items[s[0]+(s[1]<<8)+(s[2]<<16)+(s[3]<<24)]}if(null===E&&null==O)return null;let L=null;null!==O&&(L=t.camera.projectWorldPos(O));const M=N&&N.delegatePickedEntity?N.delegatePickedEntity():N;return u.reset(),u.snappedToEdge="edge"===x,u.snappedToVertex="vertex"===x,u.worldPos=O,u.worldNormal=S,u.entity=M,u.canvasPos=s,u.snappedCanvasPos=L||s,u}}(),this.addMarker=function(e){this._occlusionTester=this._occlusionTester||new Ve(t,g),this._occlusionTester.addMarker(e),t.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){D(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight),a.clearColor(0,0,0,0),a.enable(a.DEPTH_TEST),a.disable(a.CULL_FACE),a.disable(a.BLEND),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT);for(let e in c)if(c.hasOwnProperty(e)){const t=c[e].drawableList;for(let e=0,s=t.length;e{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!0:e.keyCode===this.KEY_ALT?this.altDown=!0:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!0),this.keyDown[e.keyCode]=!0,this.fire("keydown",e.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=e=>{this.enabled&&this.keyboardEnabled&&"INPUT"!==e.target.tagName&&"TEXTAREA"!==e.target.tagName&&(e.keyCode===this.KEY_CTRL?this.ctrlDown=!1:e.keyCode===this.KEY_ALT?this.altDown=!1:e.keyCode===this.KEY_SHIFT&&(this.shiftDown=!1),this.keyDown[e.keyCode]=!1,this.fire("keyup",e.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=e=>{this.enabled&&(this.mouseover=!0,this._getMouseCanvasPos(e),this.fire("mouseenter",this.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=e=>{this.enabled&&(this.mouseover=!1,this._getMouseCanvasPos(e),this.fire("mouseleave",this.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!0;break;case 2:this.mouseDownMiddle=!0;break;case 3:this.mouseDownRight=!0}this._getMouseCanvasPos(e),this.element.focus(),this.fire("mousedown",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=e=>{if(this.enabled){switch(e.which){case 1:this.mouseDownLeft=!1;break;case 2:this.mouseDownMiddle=!1;break;case 3:this.mouseDownRight=!1}this.fire("mouseup",this.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("click",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=e=>{if(this.enabled){switch(e.which){case 1:case 3:this.mouseDownLeft=!1,this.mouseDownRight=!1;break;case 2:this.mouseDownMiddle=!1}this._getMouseCanvasPos(e),this.fire("dblclick",this.mouseCanvasPos,!0),this.mouseover&&e.preventDefault()}});const e=this.scene.tickify((()=>this.fire("mousemove",this.mouseCanvasPos,!0)));this.element.addEventListener("mousemove",this._mouseMoveListener=t=>{this.enabled&&(this._getMouseCanvasPos(t),e(),this.mouseover&&t.preventDefault())});const t=this.scene.tickify((e=>{this.fire("mousewheel",e,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=(e,s)=>{if(!this.enabled)return;const n=Math.max(-1,Math.min(1,40*-e.deltaY));t(n)},{passive:!0});{let e,t;const s=2;this.on("mousedown",(s=>{e=s[0],t=s[1]})),this.on("mouseup",(n=>{e>=n[0]-s&&e<=n[0]+s&&t>=n[1]-s&&t<=n[1]+s&&this.fire("mouseclicked",n,!0)}))}this._eventsBound=!0}_unbindEvents(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}_getMouseCanvasPos(e){if(e){let t=e.target,s=0,n=0;for(;t.offsetParent;)s+=t.offsetLeft,n+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-s,this.mouseCanvasPos[1]=e.pageY-n}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}setEnabled(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}getEnabled(){return this.enabled}setKeyboardEnabled(e){this.keyboardEnabled=e}getKeyboardEnabled(){return this.keyboardEnabled}destroy(){super.destroy(),this._unbindEvents()}}const nt=new e({});class it{constructor(e){this.id=nt.addItem({});for(const t in e)e.hasOwnProperty(t)&&(this[t]=e[t])}destroy(){nt.removeItem(this.id)}}class at extends S{get type(){return"Viewport"}constructor(e,t={}){super(e,t),this._state=new it({boundary:[0,0,100,100]}),this.boundary=t.boundary,this.autoBoundary=t.autoBoundary}set boundary(e){if(!this._autoBoundary){if(!e){const t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}get boundary(){return this._state.boundary}set autoBoundary(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){const t=e[2],s=e[3];this._state.boundary=[0,0,t,s],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}get autoBoundary(){return this._autoBoundary}_getState(){return this._state}destroy(){super.destroy(),this._state.destroy()}}class rt extends S{get type(){return"Perspective"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this._fov=60,this._canvasResized=this.scene.canvas.on("boundary",this._needUpdate,this),this.fov=t.fov,this.fovAxis=t.fovAxis,this.near=t.near,this.far=t.far}_update(){const e=this.scene.canvas.boundary,t=e[2]/e[3],s=this._fovAxis;let n=this._fov;("x"===s||"min"===s&&t<1||"max"===s&&t>1)&&(n/=t),n=Math.min(n,120),A.perspectiveMat4(n*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}set fov(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}get fov(){return this._fov}set fovAxis(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}get fovAxis(){return this._fovAxis}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}class lt extends S{get type(){return"Ortho"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:2e3}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.scale=t.scale,this.near=t.near,this.far=t.far,this._onCanvasBoundary=this.scene.canvas.on("boundary",this._needUpdate,this)}_update(){const e=this.scene,t=.5*this._scale,s=e.canvas.boundary,n=s[2],i=s[3],a=n/i;let r,l,o,c;n>i?(r=-t,l=t,o=t/a,c=-t/a):(r=-t*a,l=t*a,o=t,c=-t),A.orthoMat4c(r,l,c,o,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set scale(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}get scale(){return this._scale}set near(e){const t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}get near(){return this._state.near}set far(e){const t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}class ot extends S{get type(){return"Frustum"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4(),near:.1,far:1e4}),this._left=-1,this._right=1,this._bottom=-1,this._top=1,this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.left=t.left,this.right=t.right,this.bottom=t.bottom,this.top=t.top,this.near=t.near,this.far=t.far}_update(){A.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}set left(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}get left(){return this._left}set right(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}get right(){return this._right}set top(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}get top(){return this._top}set bottom(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}get bottom(){return this._bottom}set near(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}get near(){return this._state.near}set far(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}get far(){return this._state.far}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy(),super.destroy()}}class ct extends S{get type(){return"CustomProjection"}constructor(e,t={}){super(e,t),this.camera=e,this._state=new it({matrix:A.mat4(),inverseMatrix:A.mat4(),transposedMatrix:A.mat4()}),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!1,this.matrix=t.matrix}set matrix(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}get matrix(){return this._state.matrix}get inverseMatrix(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&(A.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}get transposedMatrix(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&(A.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}unproject(e,t,s,n,i){const a=this.scene.canvas.canvas,r=a.offsetWidth/2,l=a.offsetHeight/2;return s[0]=(e[0]-r)/r,s[1]=(e[1]-l)/l,s[2]=t,s[3]=1,A.mulMat4v4(this.inverseMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1,A.mulMat4v4(this.camera.inverseViewMatrix,n,i),i}destroy(){super.destroy(),this._state.destroy()}}const ut=A.vec3(),ht=A.vec3(),pt=A.vec3(),At=A.vec3(),dt=A.vec3(),ft=A.vec3(),It=A.vec4(),yt=A.vec4(),mt=A.vec4(),vt=A.mat4(),wt=A.mat4(),gt=A.vec3(),Et=A.vec3(),Tt=A.vec3(),bt=A.vec3();class Dt extends S{get type(){return"Camera"}constructor(e,t={}){super(e,t),this._state=new it({deviceMatrix:A.mat4(),hasDeviceMatrix:!1,matrix:A.mat4(),normalMatrix:A.mat4(),inverseMatrix:A.mat4()}),this._perspective=new rt(this),this._ortho=new lt(this),this._frustum=new ot(this),this._customProjection=new ct(this),this._project=this._perspective,this._eye=A.vec3([0,0,10]),this._look=A.vec3([0,0,0]),this._up=A.vec3([0,1,0]),this._worldUp=A.vec3([0,1,0]),this._worldRight=A.vec3([1,0,0]),this._worldForward=A.vec3([0,0,-1]),this.deviceMatrix=t.deviceMatrix,this.eye=t.eye,this.look=t.look,this.up=t.up,this.worldAxis=t.worldAxis,this.gimbalLock=t.gimbalLock,this.constrainPitch=t.constrainPitch,this.projection=t.projection,this._perspective.on("matrix",(()=>{"perspective"===this._projectionType&&this.fire("projMatrix",this._perspective.matrix)})),this._ortho.on("matrix",(()=>{"ortho"===this._projectionType&&this.fire("projMatrix",this._ortho.matrix)})),this._frustum.on("matrix",(()=>{"frustum"===this._projectionType&&this.fire("projMatrix",this._frustum.matrix)})),this._customProjection.on("matrix",(()=>{"customProjection"===this._projectionType&&this.fire("projMatrix",this._customProjection.matrix)}))}_update(){const e=this._state;let t;"ortho"===this.projection?(A.subVec3(this._eye,this._look,gt),A.normalizeVec3(gt,Et),A.mulVec3Scalar(Et,1e3,Tt),A.addVec3(this._look,Tt,bt),t=bt):t=this._eye,e.hasDeviceMatrix?(A.lookAtMat4v(t,this._look,this._up,wt),A.mulMat4(e.deviceMatrix,wt,e.matrix)):A.lookAtMat4v(t,this._look,this._up,e.matrix),A.inverseMat4(this._state.matrix,this._state.inverseMatrix),A.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}orbitYaw(e){let t=A.subVec3(this._eye,this._look,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.eye=A.addVec3(this._look,t,pt),this.up=A.transformPoint3(vt,this._up,At)}orbitPitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._eye,this._look,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),t=A.transformPoint3(vt,t,At),this.up=A.transformPoint3(vt,this._up,dt),this.eye=A.addVec3(t,this._look,ft)}yaw(e){let t=A.subVec3(this._look,this._eye,ut);A.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,vt),t=A.transformPoint3(vt,t,ht),this.look=A.addVec3(t,this._eye,pt),this._gimbalLock&&(this.up=A.transformPoint3(vt,this._up,At))}pitch(e){if(this._constrainPitch&&(e=A.dotVec3(this._up,this._worldUp)/A.DEGTORAD)<1)return;let t=A.subVec3(this._look,this._eye,ut);const s=A.cross3Vec3(A.normalizeVec3(t,ht),A.normalizeVec3(this._up,pt));A.rotationMat4v(.0174532925*e,s,vt),this.up=A.transformPoint3(vt,this._up,ft),t=A.transformPoint3(vt,t,At),this.look=A.addVec3(t,this._eye,dt)}pan(e){const t=A.subVec3(this._eye,this._look,ut),s=[0,0,0];let n;if(0!==e[0]){const i=A.cross3Vec3(A.normalizeVec3(t,[]),A.normalizeVec3(this._up,ht));n=A.mulVec3Scalar(i,e[0]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]}0!==e[1]&&(n=A.mulVec3Scalar(A.normalizeVec3(this._up,pt),e[1]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),0!==e[2]&&(n=A.mulVec3Scalar(A.normalizeVec3(t,At),e[2]),s[0]+=n[0],s[1]+=n[1],s[2]+=n[2]),this.eye=A.addVec3(this._eye,s,dt),this.look=A.addVec3(this._look,s,ft)}zoom(e){const t=A.subVec3(this._eye,this._look,ut),s=Math.abs(A.lenVec3(t,ht)),n=Math.abs(s+e);if(n<.5)return;const i=A.normalizeVec3(t,pt);this.eye=A.addVec3(this._look,A.mulVec3Scalar(i,n),At)}set eye(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}get eye(){return this._eye}set look(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}get look(){return this._look}set up(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}get up(){return this._up}set deviceMatrix(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}get deviceMatrix(){return this._state.deviceMatrix}set worldAxis(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=A.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}get worldAxis(){return this._worldAxis}get worldUp(){return this._worldUp}get xUp(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}get yUp(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}get zUp(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}get worldRight(){return this._worldRight}get worldForward(){return this._worldForward}set gimbalLock(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}get gimbalLock(){return this._gimbalLock}set constrainPitch(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}get eyeLookDist(){return A.lenVec3(A.subVec3(this._look,this._eye,ut))}get matrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get viewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}get normalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get viewNormalMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}get inverseViewMatrix(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}get projMatrix(){return this[this.projection].matrix}get perspective(){return this._perspective}get ortho(){return this._ortho}get frustum(){return this._frustum}get customProjection(){return this._customProjection}set projection(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}get projection(){return this._projectionType}get project(){return this._project}projectWorldPos(e){const t=It,s=yt,n=mt;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,A.mulMat4v4(this.viewMatrix,t,s),A.mulMat4v4(this.projMatrix,s,n),A.mulVec3Scalar(n,1/n[3]),n[3]=1,n[1]*=-1;const i=this.scene.canvas.canvas,a=i.offsetWidth/2,r=i.offsetHeight/2;return[n[0]*a+a,n[1]*r+r]}destroy(){super.destroy(),this._state.destroy()}}class Pt extends S{get type(){return"Light"}get isLight(){return!0}constructor(e,t={}){super(e,t)}}class Rt extends Pt{get type(){return"DirLight"}constructor(e,t={}){super(e,t),this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const s=this.scene.camera,n=this.scene.canvas;this._onCameraViewMatrix=s.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=s.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=n.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"dir",dir:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(this._shadowViewMatrixDirty){this._shadowViewMatrix||(this._shadowViewMatrix=A.identityMat4());const e=this.scene.camera,t=this._state.dir,s=e.look,n=[s[0]-t[0],s[1]-t[1],s[2]-t[2]],i=[0,1,0];A.lookAtMat4v(n,s,i,this._shadowViewMatrix),this._shadowViewMatrixDirty=!1}return this._shadowViewMatrix},getShadowProjMatrix:()=>(this._shadowProjMatrixDirty&&(this._shadowProjMatrix||(this._shadowProjMatrix=A.identityMat4()),A.orthoMat4c(-40,40,-40,40,-40,80,this._shadowProjMatrix),this._shadowProjMatrixDirty=!1),this._shadowProjMatrix),getShadowRenderBuf:()=>(this._shadowRenderBuf||(this._shadowRenderBuf=new Ze(this.scene.canvas.canvas,this.scene.canvas.gl,{size:[1024,1024]})),this._shadowRenderBuf)}),this.dir=t.dir,this.color=t.color,this.intensity=t.intensity,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set dir(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get dir(){return this._state.dir}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}class Ct extends Pt{get type(){return"AmbientLight"}constructor(e,t={}){super(e,t),this._state={type:"ambient",color:A.vec3([.7,.7,.7]),intensity:1},this.color=t.color,this.intensity=t.intensity,this.scene._lightCreated(this)}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}get intensity(){return this._state.intensity}destroy(){super.destroy(),this.scene._lightDestroyed(this)}}class _t extends S{get type(){return"Geometry"}get isGeometry(){return!0}constructor(e,t={}){super(e,t),y.memory.meshes++}destroy(){super.destroy(),y.memory.meshes--}}var Bt=function(){const e=[],t=[],s=[],n=[],i=[];let a=0;const r=new Uint16Array(3),l=new Uint16Array(3),o=new Uint16Array(3),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3();return function(y,m,v,w){!function(i,a){const r={};let l,o,c,u;const h=Math.pow(10,4);let p,A,d=0;for(p=0,A=i.length;pE)||(N=s[_.index1],x=s[_.index2],(!L&&N>65535||x>65535)&&(L=!0),g.push(N),g.push(x));return L?new Uint32Array(g):new Uint16Array(g)}}();const Ot=function(){const e=A.mat4(),t=A.mat4();return function(s,n){n=n||A.mat4();const i=s[0],a=s[1],r=s[2],l=s[3]-i,o=s[4]-a,c=s[5]-r,u=65535;return A.identityMat4(e),A.translationMat4v(s,e),A.identityMat4(t),A.scalingMat4v([l/u,o/u,c/u],t),A.mulMat4(e,t,n),n}}();var St=function(){const e=A.mat4(),t=A.mat4();return function(s,n,i){const a=new Uint16Array(s.length),r=new Float32Array([i[0]!==n[0]?65535/(i[0]-n[0]):0,i[1]!==n[1]?65535/(i[1]-n[1]):0,i[2]!==n[2]?65535/(i[2]-n[2]):0]);let l;for(l=0;l=0?1:-1),t=(1-Math.abs(i))*(a>=0?1:-1);i=e,a=t}return new Int8Array([Math[s](127.5*i+(i<0?-1:0)),Math[n](127.5*a+(a<0?-1:0))])}function Lt(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}function Mt(e,t,s){return e[t]*s[0]+e[t+1]*s[1]+e[t+2]*s[2]}const Ft={getPositionsBounds:function(e){const t=new Float32Array(3),s=new Float32Array(3);let n,i;for(n=0;n<3;n++)t[n]=Number.MAX_VALUE,s[n]=-Number.MAX_VALUE;for(n=0;nr&&(i=s,r=a),s=xt(e,l,"floor","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),s=xt(e,l,"ceil","ceil"),n=Lt(s),a=Mt(e,l,n),a>r&&(i=s,r=a),t[l]=i[0],t[l+1]=i[1];return t},decompressNormals:function(e,t){for(let s=0,n=0,i=e.length;s=0?1:-1),a=(1-Math.abs(i))*(a>=0?1:-1));const l=Math.sqrt(i*i+a*a+r*r);t[n+0]=i/l,t[n+1]=a/l,t[n+2]=r/l,n+=3}return t},decompressNormal:function(e,t){let s=e[0],n=e[1];s=(2*s+1)/255,n=(2*n+1)/255;const i=1-Math.abs(s)-Math.abs(n);i<0&&(s=(1-Math.abs(n))*(s>=0?1:-1),n=(1-Math.abs(s))*(n>=0?1:-1));const a=Math.sqrt(s*s+n*n+i*i);return t[0]=s/a,t[1]=n/a,t[2]=i/a,t}},Ht=y.memory,Ut=A.AABB3();class Gt extends _t{get type(){return"ReadableGeometry"}get isReadableGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!!t.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._edgeIndicesBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._aabbDirty=!0,this._boundingSphere=!0,this._aabb=null,this._aabbDirty=!0,this._obb=null,this._obbDirty=!0;const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(this._state.compressGeometry){const e=Ft.getPositionsBounds(t.positions),n=Ft.compressPositions(t.positions,e.min,e.max);s.positions=n.quantized,s.positionsDecodeMatrix=n.decodeMatrix}else s.positions=t.positions.constructor===Float32Array?t.positions:new Float32Array(t.positions);if(t.colors&&(s.colors=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors)),t.uv)if(this._state.compressGeometry){const e=Ft.getUVBounds(t.uv),n=Ft.compressUVs(t.uv,e.min,e.max);s.uv=n.quantized,s.uvDecodeMatrix=n.decodeMatrix}else s.uv=t.uv.constructor===Float32Array?t.uv:new Float32Array(t.uv);t.normals&&(this._state.compressGeometry?s.normals=Ft.compressNormals(t.normals):s.normals=t.normals.constructor===Float32Array?t.normals:new Float32Array(t.normals)),t.indices&&(s.indices=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)),this._buildHash(),Ht.meshes++,this._buildVBOs()}_buildVBOs(){const e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Ht.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new He(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Ht.positions+=e.positionsBuf.numItems),e.normals){let s=e.compressGeometry;e.normalsBuf=new He(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,s),Ht.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new He(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Ht.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new He(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Ht.uvs+=e.uvBuf.numItems)}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}_getPickTrianglePositions(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}_getPickTriangleColors(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}_buildEdgeIndices(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=Bt(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,s,s.length,1,t.STATIC_DRAW),Ht.indices+=this._edgeIndicesBuf.numItems}_buildPickTriangleVBOs(){const e=this._state;if(!e.positions||!e.indices)return;const t=this.scene.canvas.gl,s=A.buildPickTriangles(e.positions,e.indices,e.compressGeometry),n=s.positions,i=s.colors;this._pickTrianglePositionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Ht.positions+=this._pickTrianglePositionsBuf.numItems,Ht.colors+=this._pickTriangleColorsBuf.numItems}_buildPickVertexVBOs(){}_webglContextLost(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}_webglContextRestored(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}get primitive(){return this._state.primitiveName}get compressGeometry(){return this._state.compressGeometry}get positions(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Ft.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null}set positions(e){const t=this._state,s=t.positions;if(s)if(s.length===e.length){if(this._state.compressGeometry){const s=Ft.getPositionsBounds(e),n=Ft.compressPositions(e,s.min,s.max);e=n.quantized,t.positionsDecodeMatrix=n.decodeMatrix}s.set(e),t.positionsBuf&&t.positionsBuf.setData(s),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}get normals(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){const e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Ft.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}}set normals(e){if(this._state.compressGeometry)return void this.error("can't update geometry normals - quantized geometry is immutable");const t=this._state,s=t.normals;s?s.length===e.length?(s.set(e),t.normalsBuf&&t.normalsBuf.setData(s),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}get uv(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Ft.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null}set uv(e){if(this._state.compressGeometry)return void this.error("can't update geometry UVs - quantized geometry is immutable");const t=this._state,s=t.uv;s?s.length===e.length?(s.set(e),t.uvBuf&&t.uvBuf.setData(s),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}get colors(){return this._state.colors}set colors(e){if(this._state.compressGeometry)return void this.error("can't update geometry colors - quantized geometry is immutable");const t=this._state,s=t.colors;s?s.length===e.length?(s.set(e),t.colorsBuf&&t.colorsBuf.setData(s),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}get indices(){return this._state.indices}get aabb(){return this._aabbDirty&&(this._aabb||(this._aabb=A.AABB3()),A.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}get obb(){return this._obbDirty&&(this._obb||(this._obb=A.OBB3()),A.positions3ToAABB3(this._state.positions,Ut,this._state.positionsDecodeMatrix),A.AABB3ToOBB3(Ut,this._obb),this._obbDirty=!1),this._obb}get numTriangles(){return this._numTriangles}_setAABBDirty(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Ht.meshes--}}function jt(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{positions:[h,p,A,o,p,A,o,c,A,h,c,A,h,p,A,h,c,A,h,c,u,h,p,u,h,p,A,h,p,u,o,p,u,o,p,A,o,p,A,o,p,u,o,c,u,o,c,A,o,c,u,h,c,u,h,c,A,o,c,A,h,c,u,o,c,u,o,p,u,h,p,u],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}class Vt extends S{get type(){return"Material"}constructor(e,t={}){super(e,t),y.memory.materials++}destroy(){super.destroy(),y.memory.materials--}}const kt={opaque:0,mask:1,blend:2},Qt=["opaque","mask","blend"];class Wt extends Vt{get type(){return"PhongMaterial"}constructor(e,t={}){super(e,t),this._state=new it({type:"PhongMaterial",ambient:A.vec3([1,1,1]),diffuse:A.vec3([1,1,1]),specular:A.vec3([1,1,1]),emissive:A.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),this.ambient=t.ambient,this.diffuse=t.diffuse,this.specular=t.specular,this.emissive=t.emissive,this.alpha=t.alpha,this.shininess=t.shininess,this.reflectivity=t.reflectivity,this.lineWidth=t.lineWidth,this.pointSize=t.pointSize,t.ambientMap&&(this._ambientMap=this._checkComponent("Texture",t.ambientMap)),t.diffuseMap&&(this._diffuseMap=this._checkComponent("Texture",t.diffuseMap)),t.specularMap&&(this._specularMap=this._checkComponent("Texture",t.specularMap)),t.emissiveMap&&(this._emissiveMap=this._checkComponent("Texture",t.emissiveMap)),t.alphaMap&&(this._alphaMap=this._checkComponent("Texture",t.alphaMap)),t.reflectivityMap&&(this._reflectivityMap=this._checkComponent("Texture",t.reflectivityMap)),t.normalMap&&(this._normalMap=this._checkComponent("Texture",t.normalMap)),t.occlusionMap&&(this._occlusionMap=this._checkComponent("Texture",t.occlusionMap)),t.diffuseFresnel&&(this._diffuseFresnel=this._checkComponent("Fresnel",t.diffuseFresnel)),t.specularFresnel&&(this._specularFresnel=this._checkComponent("Fresnel",t.specularFresnel)),t.emissiveFresnel&&(this._emissiveFresnel=this._checkComponent("Fresnel",t.emissiveFresnel)),t.alphaFresnel&&(this._alphaFresnel=this._checkComponent("Fresnel",t.alphaFresnel)),t.reflectivityFresnel&&(this._reflectivityFresnel=this._checkComponent("Fresnel",t.reflectivityFresnel)),this.alphaMode=t.alphaMode,this.alphaCutoff=t.alphaCutoff,this.backfaces=t.backfaces,this.frontface=t.frontface,this._makeHash()}_makeHash(){const e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}set ambient(e){let t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get ambient(){return this._state.ambient}set diffuse(e){let t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get diffuse(){return this._state.diffuse}set specular(e){let t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}get specular(){return this._state.specular}set emissive(e){let t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}get emissive(){return this._state.emissive}set alpha(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}get alpha(){return this._state.alpha}set shininess(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}get shininess(){return this._state.shininess}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set pointSize(e){this._state.pointSize=e||1,this.glRedraw()}get pointSize(){return this._state.pointSize}set reflectivity(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}get reflectivity(){return this._state.reflectivity}get normalMap(){return this._normalMap}get ambientMap(){return this._ambientMap}get diffuseMap(){return this._diffuseMap}get specularMap(){return this._specularMap}get emissiveMap(){return this._emissiveMap}get alphaMap(){return this._alphaMap}get reflectivityMap(){return this._reflectivityMap}get occlusionMap(){return this._occlusionMap}get diffuseFresnel(){return this._diffuseFresnel}get specularFresnel(){return this._specularFresnel}get emissiveFresnel(){return this._emissiveFresnel}get alphaFresnel(){return this._alphaFresnel}get reflectivityFresnel(){return this._reflectivityFresnel}set alphaMode(e){let t=kt[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}get alphaMode(){return Qt[this._state.alphaMode]}set alphaCutoff(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}get alphaCutoff(){return this._state.alphaCutoff}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set frontface(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}get frontface(){return this._state.frontface?"ccw":"cw"}destroy(){super.destroy(),this._state.destroy()}}const zt={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}};class Kt extends Vt{get type(){return"EmphasisMaterial"}get presets(){return zt}constructor(e,t={}){super(e,t),this._state=new it({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),this._preset="default",t.preset?(this.preset=t.preset,void 0!==t.fill&&(this.fill=t.fill),t.fillColor&&(this.fillColor=t.fillColor),void 0!==t.fillAlpha&&(this.fillAlpha=t.fillAlpha),void 0!==t.edges&&(this.edges=t.edges),t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth),void 0!==t.backfaces&&(this.backfaces=t.backfaces),void 0!==t.glowThrough&&(this.glowThrough=t.glowThrough)):(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.backfaces=t.backfaces,this.glowThrough=t.glowThrough)}set fill(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}get fill(){return this._state.fill}set fillColor(e){let t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}get fillColor(){return this._state.fillColor}set fillAlpha(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}get fillAlpha(){return this._state.fillAlpha}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set backfaces(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}get backfaces(){return this._state.backfaces}set glowThrough(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}get glowThrough(){return this._state.glowThrough}set preset(e){if(e=e||"default",this._preset===e)return;const t=zt[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(zt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const Yt={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}};class Xt extends Vt{get type(){return"EdgeMaterial"}get presets(){return Yt}constructor(e,t={}){super(e,t),this._state=new it({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),this._preset="default",t.preset?(this.preset=t.preset,t.edgeColor&&(this.edgeColor=t.edgeColor),void 0!==t.edgeAlpha&&(this.edgeAlpha=t.edgeAlpha),void 0!==t.edgeWidth&&(this.edgeWidth=t.edgeWidth)):(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth),this.edges=!1!==t.edges}set edges(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}get edges(){return this._state.edges}set edgeColor(e){let t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set edgeAlpha(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}get edgeAlpha(){return this._state.edgeAlpha}set edgeWidth(e){this._state.edgeWidth=e||1,this.glRedraw()}get edgeWidth(){return this._state.edgeWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=Yt[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Yt).join(", "))}get preset(){return this._preset}destroy(){super.destroy(),this._state.destroy()}}const qt={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}};class Jt extends S{constructor(e,t={}){super(e,t),this._units="meters",this._scale=1,this._origin=A.vec3([0,0,0]),this.units=t.units,this.scale=t.scale,this.origin=t.origin}get unitsInfo(){return qt}set units(e){e||(e="meters");qt[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}get units(){return this._units}set scale(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}get scale(){return this._scale}set origin(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}get origin(){return this._origin}worldToRealPos(e,t=A.vec3(3)){t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}realToWorldPos(e,t=A.vec3(3)){return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}class Zt extends S{constructor(e,t={}){super(e,t),this._supported=Ce.SUPPORTED_EXTENSIONS.OES_standard_derivatives,this.enabled=t.enabled,this.kernelRadius=t.kernelRadius,this.intensity=t.intensity,this.bias=t.bias,this.scale=t.scale,this.minResolution=t.minResolution,this.numSamples=t.numSamples,this.blur=t.blur,this.blendCutoff=t.blendCutoff,this.blendFactor=t.blendFactor}get supported(){return this._supported}set enabled(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}get enabled(){return this._enabled}get possible(){if(!this._supported)return!1;if(!this._enabled)return!1;const e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}get active(){return this._active}set kernelRadius(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}get kernelRadius(){return this._kernelRadius}set intensity(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}get intensity(){return this._intensity}set bias(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}get bias(){return this._bias}set scale(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}get scale(){return this._scale}set minResolution(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}get minResolution(){return this._minResolution}set numSamples(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}get numSamples(){return this._numSamples}set blur(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}get blur(){return this._blur}set blendCutoff(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}get blendCutoff(){return this._blendCutoff}set blendFactor(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}get blendFactor(){return this._blendFactor}destroy(){super.destroy()}}const $t={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}};class es extends Vt{get type(){return"PointsMaterial"}get presets(){return $t}constructor(e,t={}){super(e,t),this._state=new it({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),t.preset?(this.preset=t.preset,void 0!==t.pointSize&&(this.pointSize=t.pointSize),void 0!==t.roundPoints&&(this.roundPoints=t.roundPoints),void 0!==t.perspectivePoints&&(this.perspectivePoints=t.perspectivePoints),void 0!==t.minPerspectivePointSize&&(this.minPerspectivePointSize=t.minPerspectivePointSize),void 0!==t.maxPerspectivePointSize&&(this.maxPerspectivePointSize=t.minPerspectivePointSize)):(this._preset="default",this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize),this.filterIntensity=t.filterIntensity,this.minIntensity=t.minIntensity,this.maxIntensity=t.maxIntensity}set pointSize(e){this._state.pointSize=e||2,this.glRedraw()}get pointSize(){return this._state.pointSize}set roundPoints(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}get roundPoints(){return this._state.roundPoints}set perspectivePoints(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}get perspectivePoints(){return this._state.perspectivePoints}set minPerspectivePointSize(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}get minPerspectivePointSize(){return this._state.minPerspectivePointSize}set maxPerspectivePointSize(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}get maxPerspectivePointSize(){return this._state.maxPerspectivePointSize}set filterIntensity(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}get filterIntensity(){return this._state.filterIntensity}set minIntensity(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}get minIntensity(){return this._state.minIntensity}set maxIntensity(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}get maxIntensity(){return this._state.maxIntensity}set preset(e){if(e=e||"default",this._preset===e)return;const t=$t[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys($t).join(", "))}get preset(){return this._preset}get hash(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}destroy(){super.destroy(),this._state.destroy()}}const ts={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}};class ss extends Vt{get type(){return"LinesMaterial"}get presets(){return ts}constructor(e,t={}){super(e,t),this._state=new it({type:"LinesMaterial",lineWidth:null}),t.preset?(this.preset=t.preset,void 0!==t.lineWidth&&(this.lineWidth=t.lineWidth)):(this._preset="default",this.lineWidth=t.lineWidth)}set lineWidth(e){this._state.lineWidth=e||1,this.glRedraw()}get lineWidth(){return this._state.lineWidth}set preset(e){if(e=e||"default",this._preset===e)return;const t=ts[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(ts).join(", "))}get preset(){return this._preset}get hash(){return[""+this.lineWidth].join(";")}destroy(){super.destroy(),this._state.destroy()}}function ns(e,t){const s={};let n,i;for(let a=0,r=t.length;a{this.glRedraw()})),this.canvas.on("webglContextFailed",(()=>{alert("xeokit failed to find WebGL!")})),this._renderer=new tt(this,{transparent:n,alphaDepthMask:i}),this._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;let e=null;this.getHash=function(){if(e)return e;const t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";const s=[];for(let e=0,n=t;ethis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},this._sectionPlanesState.setNumCachedSectionPlanes(t.numCachedSectionPlanes||0),this._lightsState=new function(){const e=A.vec4([0,0,0,0]),t=A.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];let s=null,n=null;this.getHash=function(){if(s)return s;const e=[],t=this.lights;let n;for(let s=0,i=t.length;s0&&e.push("/lm"),this.reflectionMaps.length>0&&e.push("/rm"),e.push(";"),s=e.join(""),s},this.addLight=function(e){this.lights.push(e),n=null,s=null},this.removeLight=function(e){for(let t=0,i=this.lights.length;t{this._renderer.imageDirty()}))}_initDefaults(){}_addComponent(e){if(e.id&&this.components[e.id]&&(this.error("Component "+g.inQuotes(e.id)+" already exists in Scene - ignoring ID, will randomly-generate instead"),e.id=null),!e.id)for(void 0===window.nextID&&(window.nextID=0),e.id="__"+window.nextID++;this.components[e.id];)e.id=A.createUUID();this.components[e.id]=e;const t=e.type;let s=this.types[e.type];s||(s=this.types[t]={}),s[e.id]=e,e.compile&&(this._compilables[e.id]=e),e.isDrawable&&(this._renderer.addDrawable(e.id,e),this._collidables[e.id]=e)}_removeComponent(e){var t=e.id,s=e.type;delete this.components[t];const n=this.types[s];n&&(delete n[t],g.isEmptyObject(n)&&delete this.types[s]),e.compile&&delete this._compilables[e.id],e.isDrawable&&(this._renderer.removeDrawable(e.id),delete this._collidables[e.id])}_sectionPlaneCreated(e){this.sectionPlanes[e.id]=e,this.scene._sectionPlanesState.addSectionPlane(e._state),this.scene.fire("sectionPlaneCreated",e,!0),this._needRecompile=!0}_bitmapCreated(e){this.bitmaps[e.id]=e,this.scene.fire("bitmapCreated",e,!0)}_lineSetCreated(e){this.lineSets[e.id]=e,this.scene.fire("lineSetCreated",e,!0)}_lightCreated(e){this.lights[e.id]=e,this.scene._lightsState.addLight(e._state),this._needRecompile=!0}_lightMapCreated(e){this.lightMaps[e.id]=e,this.scene._lightsState.addLightMap(e._state),this._needRecompile=!0}_reflectionMapCreated(e){this.reflectionMaps[e.id]=e,this.scene._lightsState.addReflectionMap(e._state),this._needRecompile=!0}_sectionPlaneDestroyed(e){delete this.sectionPlanes[e.id],this.scene._sectionPlanesState.removeSectionPlane(e._state),this.scene.fire("sectionPlaneDestroyed",e,!0),this._needRecompile=!0}_bitmapDestroyed(e){delete this.bitmaps[e.id],this.scene.fire("bitmapDestroyed",e,!0)}_lineSetDestroyed(e){delete this.lineSets[e.id],this.scene.fire("lineSetDestroyed",e,!0)}_lightDestroyed(e){delete this.lights[e.id],this.scene._lightsState.removeLight(e._state),this._needRecompile=!0}_lightMapDestroyed(e){delete this.lightMaps[e.id],this.scene._lightsState.removeLightMap(e._state),this._needRecompile=!0}_reflectionMapDestroyed(e){delete this.reflectionMaps[e.id],this.scene._lightsState.removeReflectionMap(e._state),this._needRecompile=!0}_registerModel(e){this.models[e.id]=e,this._modelIds=null}_deregisterModel(e){const t=e.id;delete this.models[t],this._modelIds=null,this.fire("modelUnloaded",t)}_registerObject(e){this.objects[e.id]=e,this._numObjects++,this._objectIds=null}_deregisterObject(e){delete this.objects[e.id],this._numObjects--,this._objectIds=null}_objectVisibilityUpdated(e,t=!0){e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}_objectXRayedUpdated(e,t=!0){e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}_objectHighlightedUpdated(e,t=!0){e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}_objectSelectedUpdated(e,t=!0){e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}_objectColorizeUpdated(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}_objectOpacityUpdated(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}_objectOffsetUpdated(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}_webglContextLost(){this.canvas.spinner.processes++;for(const e in this.components)if(this.components.hasOwnProperty(e)){const t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}_webglContextRestored(){const e=this.canvas.gl;for(const t in this.components)if(this.components.hasOwnProperty(t)){const s=this.components[t];s._webglContextRestored&&s._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}get capabilities(){return this._renderer.capabilities}get entityOffsetsEnabled(){return this._entityOffsetsEnabled}get pickSurfacePrecisionEnabled(){return!1}get logarithmicDepthBufferEnabled(){return this._logarithmicDepthBufferEnabled}set numCachedSectionPlanes(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}get numCachedSectionPlanes(){return this._sectionPlanesState.getNumCachedSectionPlanes()}set pbrEnabled(e){this._pbrEnabled=!!e,this.glRedraw()}get pbrEnabled(){return this._pbrEnabled}set dtxEnabled(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}get dtxEnabled(){return this._dtxEnabled}set colorTextureEnabled(e){this._colorTextureEnabled=!!e,this.glRedraw()}get colorTextureEnabled(){return this._colorTextureEnabled}doOcclusionTest(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}render(e){e&&B.runTasks();const t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),!e&&!this._renderer.needsRender())return;t.sceneId=this.id;const s=this._passes,n=this._clearEachPass;let i,a;for(i=0;ii&&(i=e[3]),e[4]>a&&(a=e[4]),e[5]>r&&(r=e[5]),c=!0}c||(t=-100,s=-100,n=-100,i=100,a=100,r=100),this._aabb[0]=t,this._aabb[1]=s,this._aabb[2]=n,this._aabb[3]=i,this._aabb[4]=a,this._aabb[5]=r,this._aabbDirty=!1}return this._aabb}_setAABBDirty(){this._aabbDirty=!0,this.fire("boundary")}pick(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");const s=e.includeEntities||e.include;s&&(e.includeEntityIds=ns(this,s));const n=e.excludeEntities||e.exclude;return n&&(e.excludeEntityIds=ns(this,n)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}snapPick(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}clear(){var e;for(const t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}clearLights(){const e=Object.keys(this.lights);for(let t=0,s=e.length;t{if(e.collidable){const o=e.aabb;o[0]a&&(a=o[3]),o[4]>r&&(r=o[4]),o[5]>l&&(l=o[5]),t=!0}})),t){const e=A.AABB3();return e[0]=s,e[1]=n,e[2]=i,e[3]=a,e[4]=r,e[5]=l,e}return this.aabb}setObjectsVisible(e,t){return this.withObjects(e,(e=>{const s=e.visible!==t;return e.visible=t,s}))}setObjectsCollidable(e,t){return this.withObjects(e,(e=>{const s=e.collidable!==t;return e.collidable=t,s}))}setObjectsCulled(e,t){return this.withObjects(e,(e=>{const s=e.culled!==t;return e.culled=t,s}))}setObjectsSelected(e,t){return this.withObjects(e,(e=>{const s=e.selected!==t;return e.selected=t,s}))}setObjectsHighlighted(e,t){return this.withObjects(e,(e=>{const s=e.highlighted!==t;return e.highlighted=t,s}))}setObjectsXRayed(e,t){return this.withObjects(e,(e=>{const s=e.xrayed!==t;return e.xrayed=t,s}))}setObjectsEdges(e,t){return this.withObjects(e,(e=>{const s=e.edges!==t;return e.edges=t,s}))}setObjectsColorized(e,t){return this.withObjects(e,(e=>{e.colorize=t}))}setObjectsOpacity(e,t){return this.withObjects(e,(e=>{const s=e.opacity!==t;return e.opacity=t,s}))}setObjectsPickable(e,t){return this.withObjects(e,(e=>{const s=e.pickable!==t;return e.pickable=t,s}))}setObjectsOffset(e,t){this.withObjects(e,(e=>{e.offset=t}))}withObjects(e,t){g.isString(e)&&(e=[e]);let s=!1;for(let n=0,i=e.length;n{i>n&&(n=i,e(...s))}));return this._tickifiedFunctions[t]={tickSubId:r,wrapperFunc:a},a}destroy(){super.destroy();for(const e in this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}const as=1e3,rs=1001,ls=1002,os=1003,cs=1004,us=1004,hs=1005,ps=1005,As=1006,ds=1007,fs=1007,Is=1008,ys=1008,ms=1009,vs=1010,ws=1011,gs=1012,Es=1013,Ts=1014,bs=1015,Ds=1016,Ps=1017,Rs=1018,Cs=1020,_s=1021,Bs=1022,Os=1023,Ss=1024,Ns=1025,xs=1026,Ls=1027,Ms=1028,Fs=1029,Hs=1030,Us=1031,Gs=1033,js=33776,Vs=33777,ks=33778,Qs=33779,Ws=35840,zs=35841,Ks=35842,Ys=35843,Xs=36196,qs=37492,Js=37496,Zs=37808,$s=37809,en=37810,tn=37811,sn=37812,nn=37813,an=37814,rn=37815,ln=37816,on=37817,cn=37818,un=37819,hn=37820,pn=37821,An=36492,dn=3e3,fn=3001,In=1e4,yn=10001,mn=10002,vn=10003,wn=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,r=e._state.stationary,l=s.getNumAllocatedSectionPlanes()>0,o=!!i.compressGeometry,c=[];c.push("#version 300 es"),c.push("// Lambertian drawing vertex shader"),c.push("in vec3 position;"),c.push("uniform mat4 modelMatrix;"),c.push("uniform mat4 viewMatrix;"),c.push("uniform mat4 projMatrix;"),c.push("uniform vec4 colorize;"),c.push("uniform vec3 offset;"),o&&c.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(c.push("uniform float logDepthBufFC;"),c.push("out float vFragDepth;"),c.push("bool isPerspectiveMatrix(mat4 m) {"),c.push(" return (m[2][3] == - 1.0);"),c.push("}"),c.push("out float isPerspective;"));l&&c.push("out vec4 vWorldPosition;");if(c.push("uniform vec4 lightAmbient;"),c.push("uniform vec4 materialColor;"),c.push("uniform vec3 materialEmissive;"),i.normalsBuf){c.push("in vec3 normal;"),c.push("uniform mat4 modelNormalMatrix;"),c.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=n.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),c.push(" }"),c.push(" return normalize(v);"),c.push("}"))}c.push("out vec4 vColor;"),"points"===i.primitiveName&&c.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(c.push("void billboard(inout mat4 mat) {"),c.push(" mat[0][0] = 1.0;"),c.push(" mat[0][1] = 0.0;"),c.push(" mat[0][2] = 0.0;"),"spherical"===a&&(c.push(" mat[1][0] = 0.0;"),c.push(" mat[1][1] = 1.0;"),c.push(" mat[1][2] = 0.0;")),c.push(" mat[2][0] = 0.0;"),c.push(" mat[2][1] = 0.0;"),c.push(" mat[2][2] =1.0;"),c.push("}"));c.push("void main(void) {"),c.push("vec4 localPosition = vec4(position, 1.0); "),c.push("vec4 worldPosition;"),o&&c.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(o?c.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):c.push("vec4 localNormal = vec4(normal, 0.0); "),c.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),c.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));c.push("mat4 viewMatrix2 = viewMatrix;"),c.push("mat4 modelMatrix2 = modelMatrix;"),r&&c.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(c.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),c.push("billboard(modelMatrix2);"),c.push("billboard(viewMatrix2);"),c.push("billboard(modelViewMatrix);"),i.normalsBuf&&(c.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),c.push("billboard(modelNormalMatrix2);"),c.push("billboard(viewNormalMatrix2);"),c.push("billboard(modelViewNormalMatrix);")),c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(c.push("worldPosition = modelMatrix2 * localPosition;"),c.push("worldPosition.xyz = worldPosition.xyz + offset;"),c.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&c.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(c.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),c.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),c.push("float lambertian = 1.0;"),i.normalsBuf)for(let e=0,t=n.lights.length;e0,a=t.gammaOutput,r=[];r.push("#version 300 es"),r.push("// Lambertian drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),t.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;"));if(i){r.push("in vec4 vWorldPosition;"),r.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),r.push("}")}"points"===n.primitiveName&&(r.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),r.push("float r = dot(cxy, cxy);"),r.push("if (r > 1.0) {"),r.push(" discard;"),r.push("}"));t.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?r.push("outColor = linearToGamma(vColor, gammaFactor);"):r.push("outColor = vColor;");return r.push("}"),r}(e)):(this.vertex=function(e){const t=e.scene;e._material;const s=e._state,n=t._sectionPlanesState,i=e._geometry._state,a=t._lightsState;let r;const l=s.billboard,o=s.background,c=s.stationary,u=function(e){if(!e._geometry._state.uvBuf)return!1;const t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),h=Tn(e),p=n.getNumAllocatedSectionPlanes()>0,A=En(e),d=!!i.compressGeometry,f=[];f.push("#version 300 es"),f.push("// Drawing vertex shader"),f.push("in vec3 position;"),d&&f.push("uniform mat4 positionsDecodeMatrix;");f.push("uniform mat4 modelMatrix;"),f.push("uniform mat4 viewMatrix;"),f.push("uniform mat4 projMatrix;"),f.push("out vec3 vViewPosition;"),f.push("uniform vec3 offset;"),p&&f.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(f.push("uniform float logDepthBufFC;"),f.push("out float vFragDepth;"),f.push("bool isPerspectiveMatrix(mat4 m) {"),f.push(" return (m[2][3] == - 1.0);"),f.push("}"),f.push("out float isPerspective;"));a.lightMaps.length>0&&f.push("out vec3 vWorldNormal;");if(h){f.push("in vec3 normal;"),f.push("uniform mat4 modelNormalMatrix;"),f.push("uniform mat4 viewNormalMatrix;"),f.push("out vec3 vViewNormal;");for(let e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),f.push(" }"),f.push(" return normalize(v);"),f.push("}"))}u&&(f.push("in vec2 uv;"),f.push("out vec2 vUV;"),d&&f.push("uniform mat3 uvDecodeMatrix;"));i.colors&&(f.push("in vec4 color;"),f.push("out vec4 vColor;"));"points"===i.primitiveName&&f.push("uniform float pointSize;");"spherical"!==l&&"cylindrical"!==l||(f.push("void billboard(inout mat4 mat) {"),f.push(" mat[0][0] = 1.0;"),f.push(" mat[0][1] = 0.0;"),f.push(" mat[0][2] = 0.0;"),"spherical"===l&&(f.push(" mat[1][0] = 0.0;"),f.push(" mat[1][1] = 1.0;"),f.push(" mat[1][2] = 0.0;")),f.push(" mat[2][0] = 0.0;"),f.push(" mat[2][1] = 0.0;"),f.push(" mat[2][2] =1.0;"),f.push("}"));if(A){f.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(let e=0,t=a.lights.length;e0&&f.push("vWorldNormal = worldNormal;"),f.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),f.push("vec3 tmpVec3;"),f.push("float lightDist;");for(let e=0,t=a.lights.length;e0,o=Tn(e),c=n.uvBuf,u="PhongMaterial"===r.type,h="MetallicMaterial"===r.type,p="SpecularMaterial"===r.type,A=En(e);t.gammaInput;const d=t.gammaOutput,f=[];f.push("#version 300 es"),f.push("// Drawing fragment shader"),f.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),f.push("precision highp float;"),f.push("precision highp int;"),f.push("#else"),f.push("precision mediump float;"),f.push("precision mediump int;"),f.push("#endif"),t.logarithmicDepthBufferEnabled&&(f.push("in float isPerspective;"),f.push("uniform float logDepthBufFC;"),f.push("in float vFragDepth;"));A&&(f.push("float unpackDepth (vec4 color) {"),f.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),f.push(" return dot(color, bitShift);"),f.push("}"));f.push("uniform float gammaFactor;"),f.push("vec4 linearToLinear( in vec4 value ) {"),f.push(" return value;"),f.push("}"),f.push("vec4 sRGBToLinear( in vec4 value ) {"),f.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),f.push("}"),f.push("vec4 gammaToLinear( in vec4 value) {"),f.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),f.push("}"),d&&(f.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),f.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),f.push("}"));if(l){f.push("in vec4 vWorldPosition;"),f.push("uniform bool clippable;");for(var I=0;I0&&(f.push("uniform samplerCube lightMap;"),f.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&f.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("uniform mat4 viewMatrix;"),f.push("#define PI 3.14159265359"),f.push("#define RECIPROCAL_PI 0.31830988618"),f.push("#define RECIPROCAL_PI2 0.15915494"),f.push("#define EPSILON 1e-6"),f.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),f.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),f.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),f.push("}"),f.push("struct IncidentLight {"),f.push(" vec3 color;"),f.push(" vec3 direction;"),f.push("};"),f.push("struct ReflectedLight {"),f.push(" vec3 diffuse;"),f.push(" vec3 specular;"),f.push("};"),f.push("struct Geometry {"),f.push(" vec3 position;"),f.push(" vec3 viewNormal;"),f.push(" vec3 worldNormal;"),f.push(" vec3 viewEyeDir;"),f.push("};"),f.push("struct Material {"),f.push(" vec3 diffuseColor;"),f.push(" float specularRoughness;"),f.push(" vec3 specularColor;"),f.push(" float shine;"),f.push("};"),u&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = "+gn[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),f.push(" radiance *= PI;"),f.push(" reflectedLight.specular += radiance;")),f.push("}")),f.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),f.push(" vec3 irradiance = dotNL * directLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),f.push("}")),(h||p)&&(f.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),f.push(" float r = ggxRoughness + 0.0001;"),f.push(" return (2.0 / (r * r) - 2.0);"),f.push("}"),f.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),f.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),f.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),f.push("}"),a.reflectionMaps.length>0&&(f.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),f.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),f.push(" vec3 envMapColor = "+gn[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),f.push(" return envMapColor;"),f.push("}")),f.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),f.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),f.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),f.push("}"),f.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" return 1.0 / ( gl * gv );"),f.push("}"),f.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),f.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),f.push(" return 0.5 / max( gv + gl, EPSILON );"),f.push("}"),f.push("float D_GGX(const in float alpha, const in float dotNH) {"),f.push(" float a2 = ( alpha * alpha );"),f.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),f.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float alpha = ( roughness * roughness );"),f.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),f.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),f.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),f.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),f.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),f.push(" vec3 F = F_Schlick( specularColor, dotLH );"),f.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),f.push(" float D = D_GGX( alpha, dotNH );"),f.push(" return F * (G * D);"),f.push("}"),f.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),f.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),f.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),f.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),f.push(" vec4 r = roughness * c0 + c1;"),f.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),f.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),f.push(" return specularColor * AB.x + AB.y;"),f.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(f.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(f.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),f.push(" irradiance *= PI;"),f.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(f.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),f.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),f.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),f.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),f.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),f.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),f.push("}")),f.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),f.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),f.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),f.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),f.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),f.push("}")));f.push("in vec3 vViewPosition;"),n.colors&&f.push("in vec4 vColor;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._occlusionMap||s._alphaMap)&&f.push("in vec2 vUV;");o&&(a.lightMaps.length>0&&f.push("in vec3 vWorldNormal;"),f.push("in vec3 vViewNormal;"));r.ambient&&f.push("uniform vec3 materialAmbient;");r.baseColor&&f.push("uniform vec3 materialBaseColor;");void 0!==r.alpha&&null!==r.alpha&&f.push("uniform vec4 materialAlphaModeCutoff;");r.emissive&&f.push("uniform vec3 materialEmissive;");r.diffuse&&f.push("uniform vec3 materialDiffuse;");void 0!==r.glossiness&&null!==r.glossiness&&f.push("uniform float materialGlossiness;");void 0!==r.shininess&&null!==r.shininess&&f.push("uniform float materialShininess;");r.specular&&f.push("uniform vec3 materialSpecular;");void 0!==r.metallic&&null!==r.metallic&&f.push("uniform float materialMetallic;");void 0!==r.roughness&&null!==r.roughness&&f.push("uniform float materialRoughness;");void 0!==r.specularF0&&null!==r.specularF0&&f.push("uniform float materialSpecularF0;");c&&s._ambientMap&&(f.push("uniform sampler2D ambientMap;"),s._ambientMap._state.matrix&&f.push("uniform mat4 ambientMapMatrix;"));c&&s._baseColorMap&&(f.push("uniform sampler2D baseColorMap;"),s._baseColorMap._state.matrix&&f.push("uniform mat4 baseColorMapMatrix;"));c&&s._diffuseMap&&(f.push("uniform sampler2D diffuseMap;"),s._diffuseMap._state.matrix&&f.push("uniform mat4 diffuseMapMatrix;"));c&&s._emissiveMap&&(f.push("uniform sampler2D emissiveMap;"),s._emissiveMap._state.matrix&&f.push("uniform mat4 emissiveMapMatrix;"));o&&c&&s._metallicMap&&(f.push("uniform sampler2D metallicMap;"),s._metallicMap._state.matrix&&f.push("uniform mat4 metallicMapMatrix;"));o&&c&&s._roughnessMap&&(f.push("uniform sampler2D roughnessMap;"),s._roughnessMap._state.matrix&&f.push("uniform mat4 roughnessMapMatrix;"));o&&c&&s._metallicRoughnessMap&&(f.push("uniform sampler2D metallicRoughnessMap;"),s._metallicRoughnessMap._state.matrix&&f.push("uniform mat4 metallicRoughnessMapMatrix;"));o&&s._normalMap&&(f.push("uniform sampler2D normalMap;"),s._normalMap._state.matrix&&f.push("uniform mat4 normalMapMatrix;"),f.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),f.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),f.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),f.push(" vec2 st0 = dFdx( uv.st );"),f.push(" vec2 st1 = dFdy( uv.st );"),f.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),f.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),f.push(" vec3 N = normalize( surf_norm );"),f.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),f.push(" mat3 tsn = mat3( S, T, N );"),f.push(" return normalize( tsn * mapN );"),f.push("}"));c&&s._occlusionMap&&(f.push("uniform sampler2D occlusionMap;"),s._occlusionMap._state.matrix&&f.push("uniform mat4 occlusionMapMatrix;"));c&&s._alphaMap&&(f.push("uniform sampler2D alphaMap;"),s._alphaMap._state.matrix&&f.push("uniform mat4 alphaMapMatrix;"));o&&c&&s._specularMap&&(f.push("uniform sampler2D specularMap;"),s._specularMap._state.matrix&&f.push("uniform mat4 specularMapMatrix;"));o&&c&&s._glossinessMap&&(f.push("uniform sampler2D glossinessMap;"),s._glossinessMap._state.matrix&&f.push("uniform mat4 glossinessMapMatrix;"));o&&c&&s._specularGlossinessMap&&(f.push("uniform sampler2D materialSpecularGlossinessMap;"),s._specularGlossinessMap._state.matrix&&f.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));o&&(s._diffuseFresnel||s._specularFresnel||s._alphaFresnel||s._emissiveFresnel||s._reflectivityFresnel)&&(f.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),f.push(" float fr = abs(dot(eyeDir, normal));"),f.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),f.push(" return pow(finalFr, power);"),f.push("}"),s._diffuseFresnel&&(f.push("uniform float diffuseFresnelCenterBias;"),f.push("uniform float diffuseFresnelEdgeBias;"),f.push("uniform float diffuseFresnelPower;"),f.push("uniform vec3 diffuseFresnelCenterColor;"),f.push("uniform vec3 diffuseFresnelEdgeColor;")),s._specularFresnel&&(f.push("uniform float specularFresnelCenterBias;"),f.push("uniform float specularFresnelEdgeBias;"),f.push("uniform float specularFresnelPower;"),f.push("uniform vec3 specularFresnelCenterColor;"),f.push("uniform vec3 specularFresnelEdgeColor;")),s._alphaFresnel&&(f.push("uniform float alphaFresnelCenterBias;"),f.push("uniform float alphaFresnelEdgeBias;"),f.push("uniform float alphaFresnelPower;"),f.push("uniform vec3 alphaFresnelCenterColor;"),f.push("uniform vec3 alphaFresnelEdgeColor;")),s._reflectivityFresnel&&(f.push("uniform float materialSpecularF0FresnelCenterBias;"),f.push("uniform float materialSpecularF0FresnelEdgeBias;"),f.push("uniform float materialSpecularF0FresnelPower;"),f.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),f.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),s._emissiveFresnel&&(f.push("uniform float emissiveFresnelCenterBias;"),f.push("uniform float emissiveFresnelEdgeBias;"),f.push("uniform float emissiveFresnelPower;"),f.push("uniform vec3 emissiveFresnelCenterColor;"),f.push("uniform vec3 emissiveFresnelEdgeColor;")));if(f.push("uniform vec4 lightAmbient;"),o)for(let e=0,t=a.lights.length;e 0.0) { discard; }"),f.push("}")}"points"===n.primitiveName&&(f.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),f.push("float r = dot(cxy, cxy);"),f.push("if (r > 1.0) {"),f.push(" discard;"),f.push("}"));f.push("float occlusion = 1.0;"),r.ambient?f.push("vec3 ambientColor = materialAmbient;"):f.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");r.diffuse?f.push("vec3 diffuseColor = materialDiffuse;"):r.baseColor?f.push("vec3 diffuseColor = materialBaseColor;"):f.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");n.colors&&f.push("diffuseColor *= vColor.rgb;");r.emissive?f.push("vec3 emissiveColor = materialEmissive;"):f.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");r.specular?f.push("vec3 specular = materialSpecular;"):f.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==r.alpha?f.push("float alpha = materialAlphaModeCutoff[0];"):f.push("float alpha = 1.0;");n.colors&&f.push("alpha *= vColor.a;");void 0!==r.glossiness?f.push("float glossiness = materialGlossiness;"):f.push("float glossiness = 1.0;");void 0!==r.metallic?f.push("float metallic = materialMetallic;"):f.push("float metallic = 1.0;");void 0!==r.roughness?f.push("float roughness = materialRoughness;"):f.push("float roughness = 1.0;");void 0!==r.specularF0?f.push("float specularF0 = materialSpecularF0;"):f.push("float specularF0 = 1.0;");c&&(o&&s._normalMap||s._ambientMap||s._baseColorMap||s._diffuseMap||s._occlusionMap||s._emissiveMap||s._metallicMap||s._roughnessMap||s._metallicRoughnessMap||s._specularMap||s._glossinessMap||s._specularGlossinessMap||s._alphaMap)&&(f.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),f.push("vec2 textureCoord;"));c&&s._ambientMap&&(s._ambientMap._state.matrix?f.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),f.push("ambientTexel = "+gn[s._ambientMap._state.encoding]+"(ambientTexel);"),f.push("ambientColor *= ambientTexel.rgb;"));c&&s._diffuseMap&&(s._diffuseMap._state.matrix?f.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),f.push("diffuseTexel = "+gn[s._diffuseMap._state.encoding]+"(diffuseTexel);"),f.push("diffuseColor *= diffuseTexel.rgb;"),f.push("alpha *= diffuseTexel.a;"));c&&s._baseColorMap&&(s._baseColorMap._state.matrix?f.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),f.push("baseColorTexel = "+gn[s._baseColorMap._state.encoding]+"(baseColorTexel);"),f.push("diffuseColor *= baseColorTexel.rgb;"),f.push("alpha *= baseColorTexel.a;"));c&&s._emissiveMap&&(s._emissiveMap._state.matrix?f.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),f.push("emissiveTexel = "+gn[s._emissiveMap._state.encoding]+"(emissiveTexel);"),f.push("emissiveColor = emissiveTexel.rgb;"));c&&s._alphaMap&&(s._alphaMap._state.matrix?f.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("alpha *= texture(alphaMap, textureCoord).r;"));c&&s._occlusionMap&&(s._occlusionMap._state.matrix?f.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(o&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){c&&s._normalMap?(s._normalMap._state.matrix?f.push("textureCoord = (normalMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):f.push("vec3 viewNormal = normalize(vViewNormal);"),c&&s._specularMap&&(s._specularMap._state.matrix?f.push("textureCoord = (specularMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("specular *= texture(specularMap, textureCoord).rgb;")),c&&s._glossinessMap&&(s._glossinessMap._state.matrix?f.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("glossiness *= texture(glossinessMap, textureCoord).r;")),c&&s._specularGlossinessMap&&(s._specularGlossinessMap._state.matrix?f.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),f.push("specular *= specGlossRGB.rgb;"),f.push("glossiness *= specGlossRGB.a;")),c&&s._metallicMap&&(s._metallicMap._state.matrix?f.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("metallic *= texture(metallicMap, textureCoord).r;")),c&&s._roughnessMap&&(s._roughnessMap._state.matrix?f.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("roughness *= texture(roughnessMap, textureCoord).r;")),c&&s._metallicRoughnessMap&&(s._metallicRoughnessMap._state.matrix?f.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):f.push("textureCoord = texturePos.xy;"),f.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),f.push("metallic *= metalRoughRGB.b;"),f.push("roughness *= metalRoughRGB.g;")),f.push("vec3 viewEyeDir = normalize(-vViewPosition);"),s._diffuseFresnel&&(f.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),f.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),s._specularFresnel&&(f.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),f.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),s._alphaFresnel&&(f.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),f.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),s._emissiveFresnel&&(f.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),f.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),f.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),f.push(" discard;"),f.push("}"),f.push("IncidentLight light;"),f.push("Material material;"),f.push("Geometry geometry;"),f.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),f.push("vec3 viewLightDir;"),u&&(f.push("material.diffuseColor = diffuseColor;"),f.push("material.specularColor = specular;"),f.push("material.shine = materialShininess;")),p&&(f.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),f.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),f.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),f.push("material.specularColor = specular;")),h&&(f.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),f.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),f.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),f.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),f.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&f.push("geometry.worldNormal = normalize(vWorldNormal);"),f.push("geometry.viewNormal = viewNormal;"),f.push("geometry.viewEyeDir = viewEyeDir;"),u&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||h)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&f.push("computePBRLightMapping(geometry, material, reflectedLight);"),f.push("float shadow = 1.0;"),f.push("float shadowAcneRemover = 0.007;"),f.push("vec3 fragmentDepth;"),f.push("float texelSize = 1.0 / 1024.0;"),f.push("float amountInLight = 0.0;"),f.push("vec3 shadowCoord;"),f.push("vec4 rgbaDepth;"),f.push("float depth;");for(let e=0,t=a.lights.length;e0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(u=0,h=a.sectionPlanes.length;u0&&i.lightMaps[0].texture&&this._uLightMap&&(l.bindTexture(this._uLightMap,i.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),i.reflectionMaps.length>0&&i.reflectionMaps[0].texture&&this._uReflectionMap&&(l.bindTexture(this._uReflectionMap,i.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%t,e.bindTexture++),this._uGammaFactor&&n.uniform1f(this._uGammaFactor,s.gammaFactor),this._baseTextureUnit=e.textureUnit};class Cn{constructor(e){this.vertex=function(e){const t=e.scene,s=t._lightsState,n=function(e){const t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,r=e._state.billboard,l=e._state.stationary,o=[];o.push("#version 300 es"),o.push("// EmphasisFillShaderSource vertex shader"),o.push("in vec3 position;"),o.push("uniform mat4 modelMatrix;"),o.push("uniform mat4 viewMatrix;"),o.push("uniform mat4 projMatrix;"),o.push("uniform vec4 colorize;"),o.push("uniform vec3 offset;"),a&&o.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;"));i&&o.push("out vec4 vWorldPosition;");if(o.push("uniform vec4 lightAmbient;"),o.push("uniform vec4 fillColor;"),n){o.push("in vec3 normal;"),o.push("uniform mat4 modelNormalMatrix;"),o.push("uniform mat4 viewNormalMatrix;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"))}o.push("out vec4 vColor;"),("spherical"===r||"cylindrical"===r)&&(o.push("void billboard(inout mat4 mat) {"),o.push(" mat[0][0] = 1.0;"),o.push(" mat[0][1] = 0.0;"),o.push(" mat[0][2] = 0.0;"),"spherical"===r&&(o.push(" mat[1][0] = 0.0;"),o.push(" mat[1][1] = 1.0;"),o.push(" mat[1][2] = 0.0;")),o.push(" mat[2][0] = 0.0;"),o.push(" mat[2][1] = 0.0;"),o.push(" mat[2][2] =1.0;"),o.push("}"));o.push("void main(void) {"),o.push("vec4 localPosition = vec4(position, 1.0); "),o.push("vec4 worldPosition;"),a&&o.push("localPosition = positionsDecodeMatrix * localPosition;");n&&(a?o.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):o.push("vec4 localNormal = vec4(normal, 0.0); "),o.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),o.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));o.push("mat4 viewMatrix2 = viewMatrix;"),o.push("mat4 modelMatrix2 = modelMatrix;"),l&&o.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===r||"cylindrical"===r?(o.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),o.push("billboard(modelMatrix2);"),o.push("billboard(viewMatrix2);"),o.push("billboard(modelViewMatrix);"),n&&(o.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),o.push("billboard(modelNormalMatrix2);"),o.push("billboard(viewNormalMatrix2);"),o.push("billboard(modelViewNormalMatrix);")),o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(o.push("worldPosition = modelMatrix2 * localPosition;"),o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&o.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),n)for(let e=0,t=s.lights.length;e0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const _n=new e({}),Bn=A.vec3(),On=function(e,t){this.id=_n.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Cn(t),this._allocate(t)},Sn={};On.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Sn[t];return s||(s=new On(t,e),Sn[t]=s,y.memory.programs++),s._useCount++,s},On.prototype.put=function(){0==--this._useCount&&(_n.removeItem(this.id),this._program&&this._program.destroy(),delete Sn[this._hash],y.memory.programs--)},On.prototype.webglContextRestored=function(){this._program=null},On.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl,r=0===s?t._xrayMaterial._state:1===s?t._highlightMaterial._state:t._selectedMaterial._state,l=t._state,o=t._geometry._state,c=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,c?e.getRTCViewMatrix(l.originHash,c):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Edges drawing vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec4 edgeColor;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));s&&r.push("out vec4 vWorldPosition;");r.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r.push("vColor = edgeColor;"),s&&r.push("vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=e.scene._sectionPlanesState,n=e.scene.gammaOutput,i=s.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));n&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");n?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(e)}}const xn=new e({}),Ln=A.vec3(),Mn=function(e,t){this.id=xn.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Nn(t),this._allocate(t)},Fn={};Mn.get=function(e){const t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Fn[t];return s||(s=new Mn(t,e),Fn[t]=s,y.memory.programs++),s._useCount++,s},Mn.prototype.put=function(){0==--this._useCount&&(xn.removeItem(this.id),this._program&&this._program.destroy(),delete Fn[this._hash],y.memory.programs--)},Mn.prototype.webglContextRestored=function(){this._program=null},Mn.prototype.drawMesh=function(e,t,s){this._program||this._allocate(t);const n=this._scene,i=n.camera,a=n.canvas.gl;let r;const l=t._state,o=t._geometry,c=o._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(l.originHash,u):i.viewMatrix),l.clippable){const e=n._sectionPlanesState.getNumAllocatedSectionPlanes(),s=n._sectionPlanesState.sectionPlanes.length;if(e>0){const i=n._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh picking vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("out vec4 vViewPosition;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("uniform vec2 pickClipPos;"),r.push("vec4 remapClipPos(vec4 clipPos) {"),r.push(" clipPos.xy /= clipPos.w;"),r.push(" clipPos.xy -= pickClipPos;"),r.push(" clipPos.xy *= clipPos.w;"),r.push(" return clipPos;"),r.push("}"),r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"));r.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = remapClipPos(clipPos);"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(e)}}const Un=A.vec3(),Gn=function(e,t){this._hash=e,this._shaderSource=new Hn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},jn={};Gn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let s=jn[t];if(!s){if(s=new Gn(t,e),s.errors)return console.log(s.errors.join("\n")),null;jn[t]=s,y.memory.programs++}return s._useCount++,s},Gn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete jn[this._hash],y.memory.programs--)},Gn.prototype.webglContextRestored=function(){this._program=null},Gn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t>24&255,u=o>>16&255,h=o>>8&255,p=255&o;n.uniform4f(this._uPickColor,p/255,h/255,u/255,c/255),n.uniform2fv(this._uPickClipPos,e.pickClipPos),r.indicesBuf?(n.drawElements(r.primitive,r.indicesBuf.numItems,r.indicesBuf.itemType,0),e.drawElements++):r.positions&&n.drawArrays(n.TRIANGLES,0,r.positions.numItems)},Gn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0,n=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),s&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),n&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),n&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),s&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(let e=0;e 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(e)}}const kn=A.vec3(),Qn=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new Vn(t),this._allocate(t)},Wn={};Qn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";");let s=Wn[t];if(!s){if(s=new Qn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Wn[t]=s,y.memory.programs++}return s._useCount++,s},Qn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Wn[this._hash],y.memory.programs--)},Qn.prototype.webglContextRestored=function(){this._program=null},Qn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._state,a=t._material._state,r=t._geometry,l=t._geometry._state,o=t.origin,c=a.backfaces,u=a.frontface,h=s.camera.project,p=r._getPickTrianglePositions(),A=r._getPickTriangleColors();if(this._program.bind(),e.useProgram++,s.logarithmicDepthBufferEnabled){const e=2/(Math.log(h.far+1)/Math.LN2);n.uniform1f(this._uLogDepthBufFC,e)}if(n.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,n=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,r=[];r.push("#version 300 es"),r.push("// Mesh occlusion vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 viewMatrix;"),r.push("uniform mat4 projMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");s&&r.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;"),r.push("bool isPerspectiveMatrix(mat4 m) {"),r.push(" return (m[2][3] == - 1.0);"),r.push("}"),r.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(r.push("void billboard(inout mat4 mat) {"),r.push(" mat[0][0] = 1.0;"),r.push(" mat[0][1] = 0.0;"),r.push(" mat[0][2] = 0.0;"),"spherical"===i&&(r.push(" mat[1][0] = 0.0;"),r.push(" mat[1][1] = 1.0;"),r.push(" mat[1][2] = 0.0;")),r.push(" mat[2][0] = 0.0;"),r.push(" mat[2][1] = 0.0;"),r.push(" mat[2][2] =1.0;"),r.push("}"));r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("mat4 viewMatrix2 = viewMatrix;"),r.push("mat4 modelMatrix2 = modelMatrix;"),a&&r.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(r.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),r.push("billboard(modelMatrix2);"),r.push("billboard(viewMatrix2);"),r.push("billboard(modelViewMatrix);"),r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(r.push("worldPosition = modelMatrix2 * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s&&r.push(" vWorldPosition = worldPosition;");r.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return r.push("gl_Position = clipPos;"),r.push("}"),r}(e),this.fragment=function(e){const t=e.scene,s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(e)}}const Kn=A.vec3(),Yn=function(e,t){this._hash=e,this._shaderSource=new zn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Xn={};Yn.get=function(e){const t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";");let s=Xn[t];if(!s){if(s=new Yn(t,e),s.errors)return console.log(s.errors.join("\n")),null;Xn[t]=s,y.memory.programs++}return s._useCount++,s},Yn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Xn[this._hash],y.memory.programs--)},Yn.prototype.webglContextRestored=function(){this._program=null},Yn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene,n=s.canvas.gl,i=t._material._state,a=t._state,r=t._geometry._state,l=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){const t=i.backfaces;e.backfaces!==t&&(t?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=t);const s=i.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),this._lastMaterialId=i.id}const o=s.camera;if(n.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCViewMatrix(a.originHash,l):o.viewMatrix),a.clippable){const e=s._sectionPlanesState.getNumAllocatedSectionPlanes(),i=s._sectionPlanesState.sectionPlanes.length;if(e>0){const a=s._sectionPlanesState.sectionPlanes,r=t.renderFlags;for(let t=0;t0,s=!!e._geometry._state.compressGeometry,n=[];n.push("// Mesh shadow vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),n.push("uniform vec3 offset;"),s&&n.push("uniform mat4 positionsDecodeMatrix;");t&&n.push("out vec4 vWorldPosition;");n.push("void main(void) {"),n.push("vec4 localPosition = vec4(position, 1.0); "),n.push("vec4 worldPosition;"),s&&n.push("localPosition = positionsDecodeMatrix * localPosition;");n.push("worldPosition = modelMatrix * localPosition;"),n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&n.push("vWorldPosition = worldPosition;");return n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n}(e),this.fragment=function(e){const t=e.scene;t.canvas.gl;const s=t._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),n){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(e)}}const Jn=function(e,t){this._hash=e,this._shaderSource=new qn(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Zn={};Jn.get=function(e){const t=e.scene,s=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";");let n=Zn[s];if(!n){if(n=new Jn(s,e),n.errors)return console.log(n.errors.join("\n")),null;Zn[s]=n,y.memory.programs++}return n._useCount++,n},Jn.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Zn[this._hash],y.memory.programs--)},Jn.prototype.webglContextRestored=function(){this._program=null},Jn.prototype.drawMesh=function(e,t){this._program||this._allocate(t);const s=this._scene.canvas.gl,n=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),n.id!==this._lastMaterialId){const t=n.backfaces;e.backfaces!==t&&(t?s.disable(s.CULL_FACE):s.enable(s.CULL_FACE),e.backfaces=t);const i=n.frontface;e.frontface!==i&&(i?s.frontFace(s.CCW):s.frontFace(s.CW),e.frontface=i),e.lineWidth!==n.lineWidth&&(s.lineWidth(n.lineWidth),e.lineWidth=n.lineWidth),this._uPointSize&&s.uniform1i(this._uPointSize,n.pointSize),this._lastMaterialId=n.id}if(s.uniformMatrix4fv(this._uModelMatrix,s.FALSE,t.worldMatrix),i.combineGeometry){const n=t.vertexBufs;n.id!==this._lastVertexBufsId&&(n.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(n.positionsBuf,n.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),this._lastVertexBufsId=n.id)}this._uClippable&&s.uniform1i(this._uClippable,t._state.clippable),s.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&s.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?s.UNSIGNED_SHORT:s.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(s.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(s.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(s.drawArrays(s.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Jn.prototype._allocate=function(e){const t=e.scene,s=t.canvas.gl;if(this._program=new Fe(s,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)return void(this.errors=this._program.errors);const n=this._program;this._uPositionsDecodeMatrix=n.getLocation("positionsDecodeMatrix"),this._uModelMatrix=n.getLocation("modelMatrix"),this._uShadowViewMatrix=n.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=n.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(let e=0,s=t._sectionPlanesState.sectionPlanes.length;e0){let e,t,i,a,r;for(let l=0,o=this._uSectionPlanes.length;l0)for(let s=0;s0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this.glRedraw()}}const hi=function(){const e=A.vec3(),t=A.vec3(),s=A.vec3(),n=A.vec3(),i=A.vec3(),a=A.vec3(),r=A.vec4(),l=A.vec3(),o=A.vec3(),c=A.vec3(),u=A.vec3(),h=A.vec3(),p=A.vec3(),d=A.vec3(),f=A.vec3(),I=A.vec3(),y=A.vec4(),m=A.vec4(),v=A.vec4(),w=A.vec3(),g=A.vec3(),E=A.vec3(),T=A.vec3(),b=A.vec3(),D=A.vec3(),P=A.vec3(),R=A.vec3(),C=A.vec3(),_=A.vec3(),B=A.vec3();return function(O,S,N,x){var L=x.primIndex;if(null!=L&&L>-1){const U=O.geometry._state,G=O.scene,j=G.camera,V=G.canvas;if("triangles"===U.primitiveName){x.primitive="triangle";const G=L,k=U.indices,W=U.positions;let z,K,Y;if(k){var M=k[G+0],F=k[G+1],H=k[G+2];a[0]=M,a[1]=F,a[2]=H,x.indices=a,z=3*M,K=3*F,Y=3*H}else z=3*G,K=z+3,Y=K+3;if(s[0]=W[z+0],s[1]=W[z+1],s[2]=W[z+2],n[0]=W[K+0],n[1]=W[K+1],n[2]=W[K+2],i[0]=W[Y+0],i[1]=W[Y+1],i[2]=W[Y+2],U.compressGeometry){const e=U.positionsDecodeMatrix;e&&(Ft.decompressPosition(s,e,s),Ft.decompressPosition(n,e,n),Ft.decompressPosition(i,e,i))}x.canvasPos?A.canvasPosToLocalRay(V.canvas,O.origin?Q(S,O.origin):S,N,O.worldMatrix,x.canvasPos,e,t):x.origin&&x.direction&&A.worldRayToLocalRay(O.worldMatrix,x.origin,x.direction,e,t),A.normalizeVec3(t),A.rayPlaneIntersect(e,t,s,n,i,r),x.localPos=r,x.position=r,y[0]=r[0],y[1]=r[1],y[2]=r[2],y[3]=1,A.transformVec4(O.worldMatrix,y,m),l[0]=m[0],l[1]=m[1],l[2]=m[2],x.canvasPos&&O.origin&&(l[0]+=O.origin[0],l[1]+=O.origin[1],l[2]+=O.origin[2]),x.worldPos=l,A.transformVec4(j.matrix,m,v),o[0]=v[0],o[1]=v[1],o[2]=v[2],x.viewPos=o,A.cartesianToBarycentric(r,s,n,i,c),x.bary=c;const X=U.normals;if(X){if(U.compressGeometry){const e=3*M,t=3*F,s=3*H;Ft.decompressNormal(X.subarray(e,e+2),u),Ft.decompressNormal(X.subarray(t,t+2),h),Ft.decompressNormal(X.subarray(s,s+2),p)}else u[0]=X[z],u[1]=X[z+1],u[2]=X[z+2],h[0]=X[K],h[1]=X[K+1],h[2]=X[K+2],p[0]=X[Y],p[1]=X[Y+1],p[2]=X[Y+2];const e=A.addVec3(A.addVec3(A.mulVec3Scalar(u,c[0],w),A.mulVec3Scalar(h,c[1],g),E),A.mulVec3Scalar(p,c[2],T),b);x.worldNormal=A.normalizeVec3(A.transformVec3(O.worldNormalMatrix,e,D))}const q=U.uv;if(q){if(d[0]=q[2*M],d[1]=q[2*M+1],f[0]=q[2*F],f[1]=q[2*F+1],I[0]=q[2*H],I[1]=q[2*H+1],U.compressGeometry){const e=U.uvDecodeMatrix;e&&(Ft.decompressUV(d,e,d),Ft.decompressUV(f,e,f),Ft.decompressUV(I,e,I))}x.uv=A.addVec3(A.addVec3(A.mulVec2Scalar(d,c[0],P),A.mulVec2Scalar(f,c[1],R),C),A.mulVec2Scalar(I,c[2],_),B)}}}}}();function pi(e={}){let t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);let s=e.radiusBottom||1;s<0&&(console.error("negative radiusBottom not allowed - will invert"),s*=-1);let n=e.height||1;n<0&&(console.error("negative height not allowed - will invert"),n*=-1);let i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);let a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);const r=!!e.openEnded;let l=e.center;const o=l?l[0]:0,c=l?l[1]:0,u=l?l[2]:0,h=n/2,p=n/a,A=2*Math.PI/i,d=1/i,f=(t-s)/a,I=[],y=[],m=[],v=[];let w,E,T,b,D,P,R,C,_,B,O;const S=(90-180*Math.atan(n/(s-t))/Math.PI)/90;for(w=0;w<=a;w++)for(D=t-w*f,P=h-w*p,E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),y.push(D*T),y.push(S),y.push(D*b),m.push(E*d),m.push(1*w/a),I.push(D*T+o),I.push(P+c),I.push(D*b+u);for(w=0;w0){for(_=I.length/3,y.push(0),y.push(1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(t*T),y.push(1),y.push(t*b),m.push(B),m.push(O),I.push(t*T+o),I.push(h+c),I.push(t*b+u);for(E=0;E0){for(_=I.length/3,y.push(0),y.push(-1),y.push(0),m.push(.5),m.push(.5),I.push(0+o),I.push(0-h+c),I.push(0+u),E=0;E<=i;E++)T=Math.sin(E*A),b=Math.cos(E*A),B=.5*Math.sin(E*A)+.5,O=.5*Math.cos(E*A)+.5,y.push(s*T),y.push(-1),y.push(s*b),m.push(B),m.push(O),I.push(s*T+o),I.push(0-h+c),I.push(s*b+u);for(E=0;E":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function fi(e={}){var t=e.origin||[0,0,0],s=t[0],n=t[1],i=t[2],a=e.size||1,r=[],l=[],o=e.text;g.isNumeric(o)&&(o=""+o);for(var c,u,h,p,A,d,f,I,y,m=(o||"").split("\n"),v=0,w=0,E=.04,T=0;T0!==e))&&this.scene._objectOffsetUpdated(this,!1)),this._isModel&&this.scene._deregisterModel(this),this._children.length){const e=this._children.splice();let t;for(let s=0,n=e.length;s1;s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,this.flipY),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),s.pixelStorei(s.UNPACK_ALIGNMENT,this.unpackAlignment),s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE);const a=Li(s,this.wrapS);a&&s.texParameteri(this.target,s.TEXTURE_WRAP_S,a);const r=Li(s,this.wrapT);if(r&&s.texParameteri(this.target,s.TEXTURE_WRAP_T,r),this.type===s.TEXTURE_3D||this.type===s.TEXTURE_2D_ARRAY){const e=Li(s,this.wrapR);e&&s.texParameteri(this.target,s.TEXTURE_WRAP_R,e),s.texParameteri(this.type,s.TEXTURE_WRAP_R,e)}i?(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Ui(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Ui(s,this.magFilter))):(s.texParameteri(this.target,s.TEXTURE_MIN_FILTER,Li(s,this.minFilter)),s.texParameteri(this.target,s.TEXTURE_MAG_FILTER,Li(s,this.magFilter)));const l=Li(s,this.format,this.encoding),o=Li(s,this.type),c=Hi(s,this.internalFormat,l,o,this.encoding,!1);s.texStorage2D(s.TEXTURE_2D,n,c,e[0].width,e[0].height);for(let t=0,n=e.length;t>t;return e+1}class ki extends S{get type(){return"Texture"}constructor(e,t={}){super(e,t),this._state=new it({texture:new Fi({gl:this.scene.canvas.gl}),matrix:A.identityMat4(),hasMatrix:t.translate&&(0!==t.translate[0]||0!==t.translate[1])||!!t.rotate||t.scale&&(0!==t.scale[0]||0!==t.scale[1]),minFilter:this._checkMinFilter(t.minFilter),magFilter:this._checkMagFilter(t.magFilter),wrapS:this._checkWrapS(t.wrapS),wrapT:this._checkWrapT(t.wrapT),flipY:this._checkFlipY(t.flipY),encoding:this._checkEncoding(t.encoding)}),this._src=null,this._image=null,this._translate=A.vec2([0,0]),this._scale=A.vec2([1,1]),this._rotate=A.vec2([0,0]),this._matrixDirty=!1,this.translate=t.translate,this.scale=t.scale,this.rotate=t.rotate,t.src?this.src=t.src:t.image&&(this.image=t.image),y.memory.textures++}_checkMinFilter(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}_checkMagFilter(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}_checkWrapS(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkWrapT(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this._state.texture=new Fi({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}_update(){const e=this._state;if(this._matrixDirty){let t,s;0===this._translate[0]&&0===this._translate[1]||(t=A.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(s=A.scalingMat4v([this._scale[0],this._scale[1],1]),t=t?A.mulMat4(t,s):s),0!==this._rotate&&(s=A.rotationMat4v(.0174532925*this._rotate,[0,0,1]),t=t?A.mulMat4(t,s):s),t&&(e.matrix=t),this._matrixDirty=!1}this.glRedraw()}set image(e){this._image=Gi(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}get image(){return this._image}set src(e){this.scene.loading++,this.scene.canvas.spinner.processes++;const t=this;let s=new Image;s.onload=function(){s=Gi(s),t._state.texture.setImage(s,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},s.src=e,this._src=e,this._image=null}get src(){return this._src}set translate(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}get translate(){return this._translate}set scale(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}get scale(){return this._scale}set rotate(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}get rotate(){return this._rotate}get minFilter(){return this._state.minFilter}get magFilter(){return this._state.magFilter}get wrapS(){return this._state.wrapS}get wrapT(){return this._state.wrapT}get flipY(){return this._state.flipY}get encoding(){return this._state.encoding}destroy(){super.destroy(),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),y.memory.textures--}}class Qi extends S{get type(){return"Fresnel"}constructor(e,t={}){super(e,t),this._state=new it({edgeColor:A.vec3([0,0,0]),centerColor:A.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),this.edgeColor=t.edgeColor,this.centerColor=t.centerColor,this.edgeBias=t.edgeBias,this.centerBias=t.centerBias,this.power=t.power}set edgeColor(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}get edgeColor(){return this._state.edgeColor}set centerColor(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}get centerColor(){return this._state.centerColor}set edgeBias(e){this._state.edgeBias=e||0,this.glRedraw()}get edgeBias(){return this._state.edgeBias}set centerBias(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}get centerBias(){return this._state.centerBias}set power(e){this._state.power=null!=e?e:1,this.glRedraw()}get power(){return this._state.power}destroy(){super.destroy(),this._state.destroy()}}const Wi=y.memory,zi=A.AABB3();class Ki extends _t{get type(){return"VBOGeometry"}get isVBOGeometry(){return!0}constructor(e,t={}){super(e,t),this._state=new it({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),this._numTriangles=0,this._edgeThreshold=t.edgeThreshold||10,this._aabb=null,this._obb=A.OBB3();const s=this._state,n=this.scene.canvas.gl;switch(t.primitive=t.primitive||"triangles",t.primitive){case"points":s.primitive=n.POINTS,s.primitiveName=t.primitive;break;case"lines":s.primitive=n.LINES,s.primitiveName=t.primitive;break;case"line-loop":s.primitive=n.LINE_LOOP,s.primitiveName=t.primitive;break;case"line-strip":s.primitive=n.LINE_STRIP,s.primitiveName=t.primitive;break;case"triangles":s.primitive=n.TRIANGLES,s.primitiveName=t.primitive;break;case"triangle-strip":s.primitive=n.TRIANGLE_STRIP,s.primitiveName=t.primitive;break;case"triangle-fan":s.primitive=n.TRIANGLE_FAN,s.primitiveName=t.primitive;break;default:this.error("Unsupported value for 'primitive': '"+t.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=n.TRIANGLES,s.primitiveName=t.primitive}if(t.positions)if(t.indices){var i;if(t.positionsDecodeMatrix);else{const e=Ft.getPositionsBounds(t.positions),a=Ft.compressPositions(t.positions,e.min,e.max);i=a.quantized,s.positionsDecodeMatrix=a.decodeMatrix,s.positionsBuf=new He(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),Wi.positions+=s.positionsBuf.numItems,A.positions3ToAABB3(t.positions,this._aabb),A.positions3ToAABB3(i,zi,s.positionsDecodeMatrix),A.AABB3ToOBB3(zi,this._obb)}if(t.colors){const e=t.colors.constructor===Float32Array?t.colors:new Float32Array(t.colors);s.colorsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,4,n.STATIC_DRAW),Wi.colors+=s.colorsBuf.numItems}if(t.uv){const e=Ft.getUVBounds(t.uv),i=Ft.compressUVs(t.uv,e.min,e.max),a=i.quantized;s.uvDecodeMatrix=i.decodeMatrix,s.uvBuf=new He(n,n.ARRAY_BUFFER,a,a.length,2,n.STATIC_DRAW),Wi.uvs+=s.uvBuf.numItems}if(t.normals){const e=Ft.compressNormals(t.normals);let i=s.compressGeometry;s.normalsBuf=new He(n,n.ARRAY_BUFFER,e,e.length,3,n.STATIC_DRAW,i),Wi.normals+=s.normalsBuf.numItems}{const e=t.indices.constructor===Uint32Array||t.indices.constructor===Uint16Array?t.indices:new Uint32Array(t.indices);s.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,e,e.length,1,n.STATIC_DRAW),Wi.indices+=s.indicesBuf.numItems;const a=Bt(i,e,s.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),"triangles"===this._state.primitiveName&&(this._numTriangles=t.indices.length/3)}this._buildHash(),Wi.meshes++}else this.error("Config expected: indices");else this.error("Config expected: positions")}_buildHash(){const e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}_getEdgeIndices(){return this._edgeIndicesBuf}get primitive(){return this._state.primitiveName}get aabb(){return this._aabb}get obb(){return this._obb}get numTriangles(){return this._numTriangles}_getState(){return this._state}destroy(){super.destroy();const e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Wi.meshes--}}var Yi={};function Xi(e,t={}){return new Promise((function(s,n){t.src||(console.error("load3DSGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,n());var a=Yi.parse.from3DS(e).edit.objects[0].mesh,r=a.vertices,l=a.uvt,o=a.indices;i.processes--,s(g.apply(t,{primitive:"triangles",positions:r,normals:null,uv:l,indices:o}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,n()}))}))}function qi(e,t={}){return new Promise((function(s,n){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),n());var i=e.canvas.spinner;i.processes++,g.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,n());for(var a=Yi.parse.fromOBJ(e),r=Yi.edit.unwrap(a.i_verts,a.c_verts,3),l=Yi.edit.unwrap(a.i_norms,a.c_norms,3),o=Yi.edit.unwrap(a.i_uvt,a.c_uvt,2),c=new Int32Array(a.i_verts.length),u=0;u0?l:null,autoNormals:0===l.length,uv:o,indices:c}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,n()}))}))}function Ji(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.ySize||1;s<0&&(console.error("negative ySize not allowed - will invert"),s*=-1);let n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);const i=e.center,a=i?i[0]:0,r=i?i[1]:0,l=i?i[2]:0,o=-t+a,c=-s+r,u=-n+l,h=t+a,p=s+r,A=n+l;return g.apply(e,{primitive:"lines",positions:[o,c,u,o,c,A,o,p,u,o,p,A,h,c,u,h,c,A,h,p,u,h,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Zi(e={}){let t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);let s=e.divisions||1;s<0&&(console.error("negative divisions not allowed - will invert"),s*=-1),s<1&&(s=1),t=t||10,s=s||10;const n=t/s,i=t/2,a=[],r=[];let l=0;for(let e=0,t=-i;e<=s;e++,t+=n)a.push(-i),a.push(0),a.push(t),a.push(i),a.push(0),a.push(t),a.push(t),a.push(0),a.push(-i),a.push(t),a.push(0),a.push(i),r.push(l++),r.push(l++),r.push(l++),r.push(l++);return g.apply(e,{primitive:"lines",positions:a,indices:r})}function $i(e={}){let t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);let s=e.zSize||1;s<0&&(console.error("negative zSize not allowed - will invert"),s*=-1);let n=e.xSegments||1;n<0&&(console.error("negative xSegments not allowed - will invert"),n*=-1),n<1&&(n=1);let i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);const a=e.center,r=a?a[0]:0,l=a?a[1]:0,o=a?a[2]:0,c=t/2,u=s/2,h=Math.floor(n)||1,p=Math.floor(i)||1,A=h+1,d=p+1,f=t/h,I=s/p,y=new Float32Array(A*d*3),m=new Float32Array(A*d*3),v=new Float32Array(A*d*2);let w,E,T,b,D,P,R,C=0,_=0;for(w=0;w65535?Uint32Array:Uint16Array)(h*p*6);for(w=0;w360&&(a=360);const r=e.center;let l=r?r[0]:0,o=r?r[1]:0;const c=r?r[2]:0,u=[],h=[],p=[],d=[];let f,I,y,m,v,w,E,T,b,D,P,R;for(T=0;T<=i;T++)for(E=0;E<=n;E++)f=E/n*a,I=.785398+T/i*Math.PI*2,l=t*Math.cos(f),o=t*Math.sin(f),y=(t+s*Math.cos(I))*Math.cos(f),m=(t+s*Math.cos(I))*Math.sin(f),v=s*Math.sin(I),u.push(y+l),u.push(m+o),u.push(v+c),p.push(1-E/n),p.push(T/i),w=A.normalizeVec3(A.subVec3([y,m,v],[l,o,c],[]),[]),h.push(w[0]),h.push(w[1]),h.push(w[2]);for(T=1;T<=i;T++)for(E=1;E<=n;E++)b=(n+1)*T+E-1,D=(n+1)*(T-1)+E-1,P=(n+1)*(T-1)+E,R=(n+1)*T+E,d.push(b),d.push(D),d.push(P),d.push(P),d.push(R),d.push(b);return g.apply(e,{positions:u,normals:h,uv:p,indices:d})}Yi.load=function(e,t){var s=new XMLHttpRequest;s.open("GET",e,!0),s.responseType="arraybuffer",s.onload=function(e){t(e.target.response)},s.send()},Yi.save=function(e,t){var s="data:application/octet-stream;base64,"+btoa(Yi.parse._buffToStr(e));window.location.href=s},Yi.clone=function(e){return JSON.parse(JSON.stringify(e))},Yi.bin={},Yi.bin.f=new Float32Array(1),Yi.bin.fb=new Uint8Array(Yi.bin.f.buffer),Yi.bin.rf=function(e,t){for(var s=Yi.bin.f,n=Yi.bin.fb,i=0;i<4;i++)n[i]=e[t+i];return s[0]},Yi.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Yi.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Yi.bin.rASCII0=function(e,t){for(var s="";0!=e[t];)s+=String.fromCharCode(e[t++]);return s},Yi.bin.wf=function(e,t,s){new Float32Array(e.buffer,t,1)[0]=s},Yi.bin.wsl=function(e,t,s){e[t]=s,e[t+1]=s>>8},Yi.bin.wil=function(e,t,s){e[t]=s,e[t+1]=s>>8,e[t+2]=s>>16,e[t+3]},Yi.parse={},Yi.parse._buffToStr=function(e){for(var t=new Uint8Array(e),s="",n=0;ni&&(i=o),ca&&(a=c),ur&&(r=u)}return{min:{x:t,y:s,z:n},max:{x:i,y:a,z:r}}};class ta extends S{constructor(e,t={}){super(e,t),this._type=t.type||(t.src?t.src.split(".").pop():null)||"jpg",this._pos=A.vec3(t.pos||[0,0,0]),this._up=A.vec3(t.up||[0,1,0]),this._normal=A.vec3(t.normal||[0,0,1]),this._height=t.height||1,this._origin=A.vec3(),this._rtcPos=A.vec3(),this._imageSize=A.vec2(),this._texture=new ki(this,{flipY:!0}),this._image=new Image,"jpg"!==this._type&&"png"!==this._type&&(this.error('Unsupported type - defaulting to "jpg"'),this._type="jpg"),this._node=new Ri(this,{matrix:A.inverseMat4(A.lookAtMat4v(this._pos,A.subVec3(this._pos,this._normal,A.mat4()),this._up,A.mat4())),children:[this._bitmapMesh=new ui(this,{scale:[1,1,1],rotation:[-90,0,0],collidable:t.collidable,pickable:t.pickable,opacity:t.opacity,clippable:t.clippable,geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0})})]}),t.image?this.image=t.image:t.src?this.src=t.src:t.imageData&&(this.imageData=t.imageData),this.scene._bitmapCreated(this)}set visible(e){this._bitmapMesh.visible=e}get visible(){return this._bitmapMesh.visible}set image(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}get image(){return this._image}set src(e){if(e){this._image.onload=()=>{this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale()},this._image.src=e;switch(e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}}get src(){return this._image.src}set imageData(e){this._image.onload=()=>{this._texture.image=image,this._imageSize[0]=image.width,this._imageSize[1]=image.height,this._updateBitmapMeshScale()},this._image.src=e}get imageData(){const e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")}set type(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}get type(){return this._type}get pos(){return this._pos}get normal(){return this._normal}get up(){return this._up}set height(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}get height(){return this._height}set collidable(e){this._bitmapMesh.collidable=!1!==e}get collidable(){return this._bitmapMesh.collidable}set clippable(e){this._bitmapMesh.clippable=!1!==e}get clippable(){return this._bitmapMesh.clippable}set pickable(e){this._bitmapMesh.pickable=!1!==e}get pickable(){return this._bitmapMesh.pickable}set opacity(e){this._bitmapMesh.opacity=e}get opacity(){return this._bitmapMesh.opacity}destroy(){super.destroy(),this.scene._bitmapDestroyed(this)}_updateBitmapMeshScale(){const e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}class sa extends S{constructor(e,t={}){super(e,t),this._positions=t.positions||[];const s=new Float32Array(this._positions.length),n=A.vec3(),i=z(this._positions,new Float32Array(this._positions.length),n,100);if(t.indices)this._indices=t.indices;else{this._indices=[];for(let e=0,t=this._positions.length/3-1;ed.has(e.id)||I.has(e.id)||f.has(e.id))).reduce(((e,s)=>{let n,i=function(e){let t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0"),t}(s.colorize);s.xrayed?(n=0===t.xrayMaterial.fillAlpha&&0!==t.xrayMaterial.edgeAlpha?.1:t.xrayMaterial.fillAlpha,n=Math.round(255*n).toString(16).padStart(2,"0"),i=n+i):d.has(s.id)&&(n=Math.round(255*s.opacity).toString(16).padStart(2,"0"),i=n+i),e[i]||(e[i]=[]);const a=s.id,r=s.originalSystemId,l={ifc_guid:r,originating_system:this.originatingSystem};return r!==a&&(l.authoring_tool_id=a),e[i].push(l),e}),{}),m=Object.entries(y).map((([e,t])=>({color:e,components:t})));a.components.coloring=m;const v=t.objectIds,w=t.visibleObjects,g=t.visibleObjectIds,E=v.filter((e=>!w[e])),T=t.selectedObjectIds;return e.defaultInvisible||g.length0&&e.clipping_planes.forEach((function(e){let t=ca(e.location,na),s=ca(e.direction,na);c&&A.negateVec3(s),A.subVec3(t,o),i.yUp&&(t=ha(t),s=ha(s)),new yi(n,{pos:t,dir:s})})),n.clearLines(),e.lines&&e.lines.length>0){const t=[],s=[];let i=0;e.lines.forEach((e=>{e.start_point&&e.end_point&&(t.push(e.start_point.x),t.push(e.start_point.y),t.push(e.start_point.z),t.push(e.end_point.x),t.push(e.end_point.y),t.push(e.end_point.z),s.push(i++),s.push(i++))})),new sa(n,{positions:t,indices:s,clippable:!1,collidable:!0})}if(n.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){const t=e.bitmap_type||"jpg",s=e.bitmap_data;let a=ca(e.location,ia),r=ca(e.normal,aa),l=ca(e.up,ra),o=e.height||1;t&&s&&a&&r&&l&&(i.yUp&&(a=ha(a),r=ha(r),l=ha(l)),new ta(n,{src:s,type:t,pos:a,normal:r,up:l,clippable:!1,collidable:!0,height:o}))})),l&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),n.setObjectsHighlighted(n.highlightedObjectIds,!1),n.setObjectsSelected(n.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(n.setObjectsVisible(n.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!1))))):(n.setObjectsVisible(n.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((e=>this._withBCFComponent(t,e,(e=>e.visible=!0)))));const i=e.components.visibility.view_setup_hints;i&&(!1===i.spaces_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==i.spaces_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcSpace"),!0),i.space_boundaries_visible,!1===i.openings_visible&&n.setObjectsVisible(s.metaScene.getObjectIDsByType("IfcOpening"),!0),i.space_boundaries_translucent,void 0!==i.openings_translucent&&n.setObjectsXRayed(s.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(n.setObjectsSelected(n.selectedObjectIds,!1),e.components.selection.forEach((e=>this._withBCFComponent(t,e,(e=>e.selected=!0))))),e.components.translucency&&(n.setObjectsXRayed(n.xrayedObjectIds,!1),e.components.translucency.forEach((e=>this._withBCFComponent(t,e,(e=>e.xrayed=!0))))),e.components.coloring&&e.components.coloring.forEach((e=>{let s=e.color,n=0,i=!1;8===s.length&&(n=parseInt(s.substring(0,2),16)/256,n<=1&&n>=.95&&(n=1),s=s.substring(2),i=!0);const a=[parseInt(s.substring(0,2),16)/256,parseInt(s.substring(2,4),16)/256,parseInt(s.substring(4,6),16)/256];e.components.map((e=>this._withBCFComponent(t,e,(e=>{e.colorize=a,i&&(e.opacity=n)}))))}))}if(e.perspective_camera||e.orthogonal_camera){let l,c,u,h;if(e.perspective_camera?(l=ca(e.perspective_camera.camera_view_point,na),c=ca(e.perspective_camera.camera_direction,na),u=ca(e.perspective_camera.camera_up_vector,na),i.perspective.fov=e.perspective_camera.field_of_view,h="perspective"):(l=ca(e.orthogonal_camera.camera_view_point,na),c=ca(e.orthogonal_camera.camera_direction,na),u=ca(e.orthogonal_camera.camera_up_vector,na),i.ortho.scale=e.orthogonal_camera.view_to_world_scale,h="ortho"),A.subVec3(l,o),i.yUp&&(l=ha(l),c=ha(c),u=ha(u)),a){const e=n.pick({pickSurface:!0,origin:l,direction:c});c=e?e.worldPos:A.addVec3(l,c,na)}else c=A.addVec3(l,c,na);r?(i.eye=l,i.look=c,i.up=u,i.projection=h):s.cameraFlight.flyTo({eye:l,look:c,up:u,duration:t.duration,projection:h})}}_withBCFComponent(e,t,s){const n=this.viewer,i=n.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){const a=t.authoring_tool_id,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}}if(t.ifc_guid){const a=t.ifc_guid,r=i.objects[a];if(r)return void s(r);if(e.updateCompositeObjects){if(n.metaScene.metaObjects[a])return void i.withObjects(n.metaScene.getObjectIDsInSubtree(a),s)}Object.keys(i.models).forEach((t=>{const r=A.globalizeObjectId(t,a),l=i.objects[r];if(l)s(l);else if(e.updateCompositeObjects){n.metaScene.metaObjects[r]&&i.withObjects(n.metaScene.getObjectIDsInSubtree(r),s)}}))}}destroy(){super.destroy()}}function oa(e){return{x:e[0],y:e[1],z:e[2]}}function ca(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function ua(e){return new Float64Array([e[0],-e[2],e[1]])}function ha(e){return new Float64Array([e[0],e[2],-e[1]])}const pa=A.vec3(),Aa=(e,t,s,n)=>{var i=e-s,a=t-n;return Math.sqrt(i*i+a*a)};class da extends S{constructor(e,t={}){if(super(e.viewer.scene,t),this.plugin=e,this._container=t.container,!this._container)throw"config missing: container";this._eventSubs={};var s=this.plugin.viewer.scene;this._originMarker=new ce(s,t.origin),this._targetMarker=new ce(s,t.target),this._originWorld=A.vec3(),this._targetWorld=A.vec3(),this._wp=new Float64Array(24),this._vp=new Float64Array(24),this._pp=new Float64Array(24),this._cp=new Float64Array(8),this._xAxisLabelCulled=!1,this._yAxisLabelCulled=!1,this._zAxisLabelCulled=!1,this._color=t.color||this.plugin.defaultColor;const n=t.onMouseOver?e=>{t.onMouseOver(e,this)}:null,i=t.onMouseLeave?e=>{t.onMouseLeave(e,this)}:null,a=t.onContextMenu?e=>{t.onContextMenu(e,this)}:null,r=e=>{this.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};this._originDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._targetDot=new he(this._container,{fillColor:this._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthWire=new ue(this._container,{color:this._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisWire=new ue(this._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisWire=new ue(this._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisWire=new ue(this._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._lengthLabel=new pe(this._container,{fillColor:this._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._xAxisLabel=new pe(this._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._yAxisLabel=new pe(this._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._zAxisLabel=new pe(this._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:n,onMouseLeave:i,onMouseWheel:r,onContextMenu:a}),this._wpDirty=!1,this._vpDirty=!1,this._cpDirty=!1,this._sectionPlanesDirty=!0,this._visible=!1,this._originVisible=!1,this._targetVisible=!1,this._wireVisible=!1,this._axisVisible=!1,this._xAxisVisible=!1,this._yAxisVisible=!1,this._zAxisVisible=!1,this._axisEnabled=!0,this._labelsVisible=!1,this._clickable=!1,this._originMarker.on("worldPos",(e=>{this._originWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._targetMarker.on("worldPos",(e=>{this._targetWorld.set(e||[0,0,0]),this._wpDirty=!0,this._needUpdate(0)})),this._onViewMatrix=s.camera.on("viewMatrix",(()=>{this._vpDirty=!0,this._needUpdate(0)})),this._onProjMatrix=s.camera.on("projMatrix",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onCanvasBoundary=s.canvas.on("boundary",(()=>{this._cpDirty=!0,this._needUpdate(0)})),this._onMetricsUnits=s.metrics.on("units",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsScale=s.metrics.on("scale",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onMetricsOrigin=s.metrics.on("origin",(()=>{this._cpDirty=!0,this._needUpdate()})),this._onSectionPlaneUpdated=s.on("sectionPlaneUpdated",(()=>{this._sectionPlanesDirty=!0,this._needUpdate()})),this.approximate=t.approximate,this.visible=t.visible,this.originVisible=t.originVisible,this.targetVisible=t.targetVisible,this.wireVisible=t.wireVisible,this.axisVisible=t.axisVisible,this.xAxisVisible=t.xAxisVisible,this.yAxisVisible=t.yAxisVisible,this.zAxisVisible=t.zAxisVisible,this.labelsVisible=t.labelsVisible}_update(){if(!this._visible)return;const e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&(A.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}const t=this._originMarker.viewPos[2],s=this._targetMarker.viewPos[2];if(t>-.3||s>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){A.transformPositions4(e.camera.project.matrix,this._vp,this._pp);var n=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect();const t=this._container.getBoundingClientRect();var r=a.top-t.top,l=a.left-t.left,o=e.canvas.boundary,c=o[2],u=o[3],h=0;const s=this.plugin.viewer.scene.metrics,f=s.scale,I=s.units,y=s.unitsInfo[I].abbrev;for(var p=0,d=n.length;p{const t=e.snappedCanvasPos||e.canvasPos;i=!0,a.set(e.worldPos),r.set(e.canvasPos),0===this._mouseState?(this._markerDiv.style.marginLeft=t[0]-5+"px",this._markerDiv.style.marginTop=t[1]-5+"px",this._markerDiv.style.background="pink",e.snappedToVertex||e.snappedToEdge?(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos,this.pointerLens.snapped=!0),this._markerDiv.style.background="greenyellow",this._markerDiv.style.border="2px solid green"):(this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.canvasPos,this.pointerLens.snapped=!1),this._markerDiv.style.background="pink",this._markerDiv.style.border="2px solid red"),c=e.entity):(this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px"),n.style.cursor="pointer",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=this._currentDistanceMeasurementInitState.wireVisible,this._currentDistanceMeasurement.axisVisible=this._currentDistanceMeasurementInitState.axisVisible&&this.distanceMeasurementsPlugin.defaultAxisVisible,this._currentDistanceMeasurement.xAxisVisible=this._currentDistanceMeasurementInitState.xAxisVisible&&this.distanceMeasurementsPlugin.defaultXAxisVisible,this._currentDistanceMeasurement.yAxisVisible=this._currentDistanceMeasurementInitState.yAxisVisible&&this.distanceMeasurementsPlugin.defaultYAxisVisible,this._currentDistanceMeasurement.zAxisVisible=this._currentDistanceMeasurementInitState.zAxisVisible&&this.distanceMeasurementsPlugin.defaultZAxisVisible,this._currentDistanceMeasurement.targetVisible=this._currentDistanceMeasurementInitState.targetVisible,this._currentDistanceMeasurement.target.worldPos=a.slice(),this._markerDiv.style.marginLeft="-10000px",this._markerDiv.style.marginTop="-10000px")})),n.addEventListener("mousedown",this._onMouseDown=e=>{1===e.which&&(l=e.clientX,o=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=t=>{1===t.which&&(t.clientX>l+20||t.clientXo+20||t.clientY{this.pointerLens&&(this.pointerLens.visible=!0,this.pointerLens.canvasPos=e.canvasPos,this.pointerLens.snappedCanvasPos=e.snappedCanvasPos||e.canvasPos),i=!1,this._markerDiv.style.marginLeft="-100px",this._markerDiv.style.marginTop="-100px",this._currentDistanceMeasurement&&(this._currentDistanceMeasurement.wireVisible=!1,this._currentDistanceMeasurement.targetVisible=!1,this._currentDistanceMeasurement.axisVisible=!1),n.style.cursor="default"})),this._active=!0}deactivate(){if(!this._active)return;this.fire("activated",!1),this.pointerLens&&(this.pointerLens.visible=!1),this._markerDiv&&this._destroyMarkerDiv(),this.reset();const e=this.scene.canvas.canvas;e.removeEventListener("mousedown",this._onMouseDown),e.removeEventListener("mouseup",this._onMouseUp);const t=this.distanceMeasurementsPlugin.viewer.cameraControl;t.off(this._onCameraControlHoverSnapOrSurface),t.off(this._onCameraControlHoverSnapOrSurfaceOff),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null),this._active=!1}reset(){this._active&&(this._destroyMarkerDiv(),this._initMarkerDiv(),this._currentDistanceMeasurement&&(this.distanceMeasurementsPlugin.fire("measurementCancel",this._currentDistanceMeasurement),this._currentDistanceMeasurement.destroy(),this._currentDistanceMeasurement=null))}destroy(){this.deactivate(),super.destroy()}}class ya extends V{constructor(e,t={}){super("DistanceMeasurements",e),this._pointerLens=t.pointerLens,this._container=t.container||document.body,this._defaultControl=null,this._measurements={},this.labelMinAxisLength=t.labelMinAxisLength,this.defaultVisible=!1!==t.defaultVisible,this.defaultOriginVisible=!1!==t.defaultOriginVisible,this.defaultTargetVisible=!1!==t.defaultTargetVisible,this.defaultWireVisible=!1!==t.defaultWireVisible,this.defaultLabelsVisible=!1!==t.defaultLabelsVisible,this.defaultAxisVisible=!1!==t.defaultAxisVisible,this.defaultXAxisVisible=!1!==t.defaultXAxisVisible,this.defaultYAxisVisible=!1!==t.defaultYAxisVisible,this.defaultZAxisVisible=!1!==t.defaultZAxisVisible,this.defaultColor=void 0!==t.defaultColor?t.defaultColor:"#00BBFF",this.zIndex=t.zIndex||1e4,this._onMouseOver=(e,t)=>{this.fire("mouseOver",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onMouseLeave=(e,t)=>{this.fire("mouseLeave",{plugin:this,distanceMeasurement:t,measurement:t,event:e})},this._onContextMenu=(e,t)=>{this.fire("contextMenu",{plugin:this,distanceMeasurement:t,measurement:t,event:e})}}getContainerElement(){return this._container}send(e,t){}get pointerLens(){return this._pointerLens}get control(){return this._defaultControl||(this._defaultControl=new Ia(this,{})),this._defaultControl}get measurements(){return this._measurements}set labelMinAxisLength(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}get labelMinAxisLength(){return this._labelMinAxisLength}createMeasurement(e={}){this.viewer.scene.components[e.id]&&(this.error("Viewer scene component with this ID already exists: "+e.id),delete e.id);const t=e.origin,s=e.target,n=new da(this,{id:e.id,plugin:this,container:this._container,origin:{entity:t.entity,worldPos:t.worldPos},target:{entity:s.entity,worldPos:s.worldPos},visible:e.visible,wireVisible:e.wireVisible,axisVisible:!1!==e.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==e.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==e.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==e.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==e.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:e.originVisible,targetVisible:e.targetVisible,color:e.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[n.id]=n,n.on("destroyed",(()=>{delete this._measurements[n.id]})),this.fire("measurementCreated",n),n}destroyMeasurement(e){const t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}setLabelsShown(e){for(const[t,s]of Object.entries(this.measurements))s.labelShown=e}setAxisVisible(e){for(const[t,s]of Object.entries(this.measurements))s.axisVisible=e;this.defaultAxisVisible=e}getAxisVisible(){return this.defaultAxisVisible}clear(){const e=Object.keys(this._measurements);for(var t=0,s=e.length;t{s=1e3*this._delayBeforeRestoreSeconds,n||(e.scene._renderer.setColorTextureEnabled(!this._hideColorTexture),e.scene._renderer.setPBREnabled(!this._hidePBR),e.scene._renderer.setSAOEnabled(!this._hideSAO),e.scene._renderer.setTransparentEnabled(!this._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!this._hideEdges),this._scaleCanvasResolution?e.scene.canvas.resolutionScale=this._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,n=!0)};this._onCanvasBoundary=e.scene.canvas.on("boundary",i),this._onCameraMatrix=e.scene.camera.on("matrix",i),this._onSceneTick=e.scene.on("tick",(t=>{n&&(s-=t.deltaTime,(!this._delayBeforeRestore||s<=0)&&(e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),n=!1))}));let a=!1;this._onSceneMouseDown=e.scene.input.on("mousedown",(()=>{a=!0})),this._onSceneMouseUp=e.scene.input.on("mouseup",(()=>{a=!1})),this._onSceneMouseMove=e.scene.input.on("mousemove",(()=>{a&&i()}))}get hideColorTexture(){return this._hideColorTexture}set hideColorTexture(e){this._hideColorTexture=e}get hidePBR(){return this._hidePBR}set hidePBR(e){this._hidePBR=e}get hideSAO(){return this._hideSAO}set hideSAO(e){this._hideSAO=e}get hideEdges(){return this._hideEdges}set hideEdges(e){this._hideEdges=e}get hideTransparentObjects(){return this._hideTransparentObjects}set hideTransparentObjects(e){this._hideTransparentObjects=!1!==e}get scaleCanvasResolution(){return this._scaleCanvasResolution}set scaleCanvasResolution(e){this._scaleCanvasResolution=e}get scaleCanvasResolutionFactor(){return this._scaleCanvasResolutionFactor}set scaleCanvasResolutionFactor(e){this._scaleCanvasResolutionFactor=e||.6}get delayBeforeRestore(){return this._delayBeforeRestore}set delayBeforeRestore(e){this._delayBeforeRestore=e}get delayBeforeRestoreSeconds(){return this._delayBeforeRestoreSeconds}set delayBeforeRestoreSeconds(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}send(e,t){}destroy(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),super.destroy()}}class va{constructor(){}getMetaModel(e,t,s){g.loadJSON(e,(e=>{t(e)}),(function(e){s(e)}))}getGLTF(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getGLB(e,t,s){g.loadArraybuffer(e,(e=>{t(e)}),(function(e){s(e)}))}getArrayBuffer(e,t,s,n){!function(e,t,s,n){var i=()=>{};s=s||i,n=n||i;const a=/^data:(.*?)(;base64)?,(.*)$/,r=t.match(a);if(r){const e=!!r[2];var l=r[3];l=window.decodeURIComponent(l),e&&(l=window.atob(l));try{const e=new ArrayBuffer(l.length),t=new Uint8Array(e);for(var o=0;o{s(e)}),(function(e){n(e)}))}}class wa{constructor(e={}){this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=e.messages,this.locale=e.locale}set messages(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}loadMessages(e={}){for(let t in e)this._messages[t]=e[t];this.messages=this._messages}clearMessages(){this.messages={}}get locales(){return this._locales}set locale(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}get locale(){return this._locale}translate(e,t){const s=this._messages[this._locale];if(!s)return null;const n=ga(e,s);return n?t?Ea(n,t):n:null}translatePlurals(e,t,s){const n=this._messages[this._locale];if(!n)return null;let i=ga(e,n);return i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one,i?(i=Ea(i,[t]),s&&(i=Ea(i,s)),i):null}fire(e,t,s){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==s&&(this._events[e]=t||!0);const n=this._eventSubs[e];if(n)for(const e in n)if(n.hasOwnProperty(e)){n[e].callback(t)}}on(t,s){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new e),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});let n=this._eventSubs[t];n||(n={},this._eventSubs[t]=n);const i=this._eventSubIDMap.addItem();n[i]={callback:s},this._eventSubEvents[i]=t;const a=this._events[t];return void 0!==a&&s(a),i}off(e){if(null==e)return;if(!this._eventSubEvents)return;const t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];const s=this._eventSubs[t];s&&delete s[e],this._eventSubIDMap.removeItem(e)}}}function ga(e,t){if(t[e])return t[e];const s=e.split(".");let n=t;for(let e=0,t=s.length;n&&e1?1:e}get t(){return this._t}get tangent(){return this.getTangent(this._t)}get length(){var e=this._getLengths();return e[e.length-1]}getTangent(e){var t=1e-4;void 0===e&&(e=this._t);var s=e-t,n=e+t;s<0&&(s=0),n>1&&(n=1);var i=this.getPoint(s),a=this.getPoint(n),r=A.subVec3(a,i,[]);return A.normalizeVec3(r,[])}getPointAt(e){var t=this.getUToTMapping(e);return this.getPoint(t)}getPoints(e){e||(e=5);var t,s=[];for(t=0;t<=e;t++)s.push(this.getPoint(t/e));return s}_getLengths(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,s,n=[],i=this.getPoint(0),a=0;for(n.push(0),s=1;s<=e;s++)t=this.getPoint(s/e),a+=A.lenVec3(A.subVec3(t,i,[])),n.push(a),i=t;return this.cacheArcLengths=n,n}_updateArcLengths(){this.needsUpdate=!0,this._getLengths()}getUToTMapping(e,t){var s,n=this._getLengths(),i=0,a=n.length;s=t||e*n[a-1];for(var r,l=0,o=a-1;l<=o;)if((r=n[i=Math.floor(l+(o-l)/2)]-s)<0)l=i+1;else{if(!(r>0)){o=i;break}o=i-1}if(n[i=o]===s)return i/(a-1);var c=n[i];return(i+(s-c)/(n[i+1]-c))/(a-1)}}class ba extends Ta{constructor(e,t={}){super(e,t),this.points=t.points,this.t=t.t}set points(e){this._points=e||[]}get points(){return this._points}set t(e){e=e||0,this._t=e<0?0:e>1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=this.points;if(!(t.length<3)){var s=(t.length-1)*e,n=Math.floor(s),i=s-n,a=t[0===n?n:n-1],r=t[n],l=t[n>t.length-2?t.length-1:n+1],o=t[n>t.length-3?t.length-1:n+2],c=A.vec3();return c[0]=A.catmullRomInterpolate(a[0],r[0],l[0],o[0],i),c[1]=A.catmullRomInterpolate(a[1],r[1],l[1],o[1],i),c[2]=A.catmullRomInterpolate(a[2],r[2],l[2],o[2],i),c}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}getJSON(){return{points:points,t:this._t}}}const Da=A.vec3();class Pa extends S{get type(){return"CameraPath"}constructor(e,t={}){super(e,t),this._frames=[],this._eyeCurve=new ba(this),this._lookCurve=new ba(this),this._upCurve=new ba(this),t.frames&&(this.addFrames(t.frames),this.smoothFrameTimes(1))}get frames(){return this._frames}get eyeCurve(){return this._eyeCurve}get lookCurve(){return this._lookCurve}get upCurve(){return this._upCurve}saveFrame(e){const t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}addFrame(e,t,s,n){const i={t:e,eye:t.slice(0),look:s.slice(0),up:n.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}addFrames(e){let t;for(let s=0,n=e.length;s1?1:e,t.eye=this._eyeCurve.getPoint(e,Da),t.look=this._lookCurve.getPoint(e,Da),t.up=this._upCurve.getPoint(e,Da)}sampleFrame(e,t,s,n){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,s),this._upCurve.getPoint(e,n)}smoothFrameTimes(e){if(0===this._frames.length)return;const t=A.vec3();var s=0;this._frames[0].t=0;const n=[];for(let e=1,a=this._frames.length;e=1;e>1&&(e=1);const s=this.easing?Sa._ease(e,0,1,1):e,n=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?(A.subVec3(n.eye,n.look,Oa),n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.subVec3(_a,Oa,Ca)):this._flyingLook&&(n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)):this._flyingEyeLookUp&&(n.eye=A.lerpVec3(s,0,1,this._eye1,this._eye2,_a),n.look=A.lerpVec3(s,0,1,this._look1,this._look2,Ca),n.up=A.lerpVec3(s,0,1,this._up1,this._up2,Ba)),this._projection2){const t="ortho"===this._projection2?Sa._easeOutExpo(e,0,1,1):Sa._easeInCubic(e,0,1,1);n.customProjection.matrix=A.lerpMat4(t,0,1,this._projMatrix1,this._projMatrix2)}else n.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return n.ortho.scale=this._orthoScale2,void this.stop();B.scheduleTask(this._update,this)}static _ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}static _easeInCubic(e,t,s,n){return s*(e/=n)*e*e+t}static _easeOutExpo(e,t,s,n){return s*(1-Math.pow(2,-10*e/n))+t}stop(){if(!this._flying)return;this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);const e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}cancel(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}set duration(e){this._duration=e?1e3*e:500,this.stop()}get duration(){return this._duration/1e3}set fit(e){this._fit=!1!==e}get fit(){return this._fit}set fitFOV(e){this._fitFOV=e||45}get fitFOV(){return this._fitFOV}set trail(e){this._trail=!!e}get trail(){return this._trail}destroy(){this.stop(),super.destroy()}}class Na extends S{get type(){return"CameraPathAnimation"}constructor(e,t={}){super(e,t),this._cameraFlightAnimation=new Sa(this),this._t=0,this.state=Na.SCRUBBING,this._playingFromT=0,this._playingToT=0,this._playingRate=t.playingRate||1,this._playingDir=1,this._lastTime=null,this.cameraPath=t.cameraPath,this._tick=this.scene.on("tick",this._updateT,this)}_updateT(){const e=this._cameraPath;if(!e)return;let t,s;const n=performance.now(),i=this._lastTime?.001*(n-this._lastTime):0;if(this._lastTime=n,0!==i)switch(this.state){case Na.SCRUBBING:return;case Na.PLAYING:if(this._t+=this._playingRate*i,t=this._cameraPath.frames.length,0===t||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=Na.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case Na.PLAYING_TO:s=this._t+this._playingRate*i*this._playingDir,(this._playingDir<0&&s<=this._playingToT||this._playingDir>0&&s>=this._playingToT)&&(s=this._playingToT,this.state=Na.SCRUBBING,this.fire("stopped")),this._t=s,e.loadFrame(this._t)}}_ease(e,t,s,n){return-s*(e/=n)*(e-2)+t}set cameraPath(e){this._cameraPath=e}get cameraPath(){return this._cameraPath}set rate(e){this._playingRate=e}get rate(){return this._playingRate}play(){this._cameraPath&&(this._lastTime=null,this.state=Na.PLAYING)}playToT(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=Na.PLAYING_TO)}playToFrame(e){const t=this._cameraPath;if(!t)return;const s=t.frames[e];s?this.playToT(s.t):this.error("playToFrame - frame index out of range: "+e)}flyToFrame(e,t){const s=this._cameraPath;if(!s)return;const n=s.frames[e];n?(this.state=Na.SCRUBBING,this._cameraFlightAnimation.flyTo(n,t)):this.error("flyToFrame - frame index out of range: "+e)}scrubToT(e){const t=this._cameraPath;if(!t)return;this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=Na.SCRUBBING)}scrubToFrame(e){const t=this._cameraPath;if(!t)return;if(!this.scene.camera)return;t.frames[e]?(t.loadFrame(this._t),this.state=Na.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)}stop(){this.state=Na.SCRUBBING,this.fire("stopped")}destroy(){super.destroy(),this.scene.off(this._tick)}}Na.STOPPED=0,Na.SCRUBBING=1,Na.PLAYING=2,Na.PLAYING_TO=3;const xa=A.vec3(),La=A.vec3();A.vec3();const Ma=A.vec3([0,-1,0]),Fa=A.vec4([0,0,0,1]);class Ha extends S{constructor(e,t={}){super(e,t),this._src=null,this._image=null,this._pos=A.vec3(),this._origin=A.vec3(),this._rtcPos=A.vec3(),this._dir=A.vec3(),this._size=1,this._imageSize=A.vec2(),this._texture=new ki(this),this._plane=new ui(this,{geometry:new Gt(this,$i({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:this._texture,emissiveMap:this._texture,backfaces:!0}),clippable:t.clippable}),this._grid=new ui(this,{geometry:new Gt(this,Zi({size:1,divisions:10})),material:new Wt(this,{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:t.clippable}),this._node=new Ri(this,{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[this._plane,this._grid]}),this._gridVisible=!1,this.visible=!0,this.gridVisible=t.gridVisible,this.position=t.position,this.rotation=t.rotation,this.dir=t.dir,this.size=t.size,this.collidable=t.collidable,this.clippable=t.clippable,this.pickable=t.pickable,this.opacity=t.opacity,t.image?this.image=t.image:this.src=t.src}set visible(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}get visible(){return this._plane.visible}set gridVisible(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}get gridVisible(){return this._gridVisible}set image(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}get image(){return this._image}set src(e){if(this._src=e,this._src){this._image=null;const e=new Image;e.onload=()=>{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set position(e){this._pos.set(e||[0,0,0]),W(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}get position(){return this._pos}set rotation(e){this._node.rotation=e}get rotation(){return this._node.rotation}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set dir(e){if(this._dir.set(e||[0,0,-1]),e){const t=this.scene.center,s=[-this._dir[0],-this._dir[1],-this._dir[2]];A.subVec3(t,this.position,xa);const n=-A.dotVec3(s,xa);A.normalizeVec3(s),A.mulVec3Scalar(s,n,La),A.vec3PairToQuaternion(Ma,e,Fa),this._node.quaternion=Fa}}get dir(){return this._dir}set collidable(e){this._node.collidable=!1!==e}get collidable(){return this._node.collidable}set clippable(e){this._node.clippable=!1!==e}get clippable(){return this._node.clippable}set pickable(e){this._node.pickable=!1!==e}get pickable(){return this._node.pickable}set opacity(e){this._node.opacity=e}get opacity(){return this._node.opacity}destroy(){super.destroy()}_updatePlaneSizeFromImage(){const e=this._size,t=this._imageSize[0],s=this._imageSize[1];if(t>s){const n=s/t;this._node.scale=[e,1,e*n]}else{const n=t/s;this._node.scale=[e*n,1,e]}}}class Ua extends Pt{get type(){return"PointLight"}constructor(e,t={}){super(e,t);const s=this;this._shadowRenderBuf=null,this._shadowViewMatrix=null,this._shadowProjMatrix=null,this._shadowViewMatrixDirty=!0,this._shadowProjMatrixDirty=!0;const n=this.scene.camera,i=this.scene.canvas;this._onCameraViewMatrix=n.on("viewMatrix",(()=>{this._shadowViewMatrixDirty=!0})),this._onCameraProjMatrix=n.on("projMatrix",(()=>{this._shadowProjMatrixDirty=!0})),this._onCanvasBoundary=i.on("boundary",(()=>{this._shadowProjMatrixDirty=!0})),this._state=new it({type:"point",pos:A.vec3([1,1,1]),color:A.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:t.space||"view",castsShadow:!1,getShadowViewMatrix:()=>{if(s._shadowViewMatrixDirty){s._shadowViewMatrix||(s._shadowViewMatrix=A.identityMat4());const e=s._state.pos,t=n.look,i=n.up;A.lookAtMat4v(e,t,i,s._shadowViewMatrix),s._shadowViewMatrixDirty=!1}return s._shadowViewMatrix},getShadowProjMatrix:()=>{if(s._shadowProjMatrixDirty){s._shadowProjMatrix||(s._shadowProjMatrix=A.identityMat4());const e=s.scene.canvas.canvas;A.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,s._shadowProjMatrix),s._shadowProjMatrixDirty=!1}return s._shadowProjMatrix},getShadowRenderBuf:()=>(s._shadowRenderBuf||(s._shadowRenderBuf=new Ze(s.scene.canvas.canvas,s.scene.canvas.gl,{size:[1024,1024]})),s._shadowRenderBuf)}),this.pos=t.pos,this.color=t.color,this.intensity=t.intensity,this.constantAttenuation=t.constantAttenuation,this.linearAttenuation=t.linearAttenuation,this.quadraticAttenuation=t.quadraticAttenuation,this.castsShadow=t.castsShadow,this.scene._lightCreated(this)}set pos(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}get pos(){return this._state.pos}set color(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}get color(){return this._state.color}set intensity(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}get intensity(){return this._state.intensity}set constantAttenuation(e){this._state.attenuation[0]=e||0,this.glRedraw()}get constantAttenuation(){return this._state.attenuation[0]}set linearAttenuation(e){this._state.attenuation[1]=e||0,this.glRedraw()}get linearAttenuation(){return this._state.attenuation[1]}set quadraticAttenuation(e){this._state.attenuation[2]=e||0,this.glRedraw()}get quadraticAttenuation(){return this._state.attenuation[2]}set castsShadow(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}get castsShadow(){return this._state.castsShadow}destroy(){const e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),super.destroy(),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}function Ga(e){if(!ja(e.width)||!ja(e.height)){const t=document.createElement("canvas");t.width=Va(e.width),t.height=Va(e.height);t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function ja(e){return 0==(e&e-1)}function Va(e){--e;for(let t=1;t<32;t<<=1)e|=e>>t;return e+1}class ka extends S{get type(){return"CubeTexture"}constructor(e,t={}){super(e,t);const s=this.scene.canvas.gl;this._state=new it({texture:new Fi({gl:s,target:s.TEXTURE_CUBE_MAP}),flipY:this._checkFlipY(t.minFilter),encoding:this._checkEncoding(t.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),this._src=t.src,this._images=[],this._loadSrc(t.src),y.memory.textures++}_checkFlipY(e){return!!e}_checkEncoding(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}_webglContextRestored(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}_loadSrc(e){const t=this,s=this.scene.canvas.gl;this._images=[];let n=!1,i=0;for(let a=0;a{this._texture.image=e,this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage()},e.src=this._src}}get src(){return this._src}set size(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}get size(){return this._size}set collidable(e){this._mesh.collidable=!1!==e}get collidable(){return this._mesh.collidable}set clippable(e){this._mesh.clippable=!1!==e}get clippable(){return this._mesh.clippable}set pickable(e){this._mesh.pickable=!1!==e}get pickable(){return this._mesh.pickable}set opacity(e){this._mesh.opacity=e}get opacity(){return this._mesh.opacity}_updatePlaneSizeFromImage(){const e=.5*this._size,t=this._imageSize[0],s=this._imageSize[1],n=s/t;this._geometry.positions=t>s?[e,e*n,0,-e,e*n,0,-e,-e*n,0,e,-e*n,0]:[e/n,e,0,-e/n,e,0,-e/n,-e,0,e/n,-e,0]}}class Ka{constructor(e){this._eye=A.vec3(),this._look=A.vec3(),this._up=A.vec3(),this._projection={},e&&this.saveCamera(e)}saveCamera(e){const t=e.camera,s=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:s.fov,fovAxis:s.fovAxis,near:s.near,far:s.far};break;case"ortho":this._projection={projection:"ortho",scale:s.scale,near:s.near,far:s.far};break;case"frustum":this._projection={projection:"frustum",left:s.left,right:s.right,top:s.top,bottom:s.bottom,near:s.near,far:s.far};break;case"custom":this._projection={projection:"custom",matrix:s.matrix.slice()}}}restoreCamera(e,t){const s=e.camera,n=this._projection;function i(){switch(n.type){case"perspective":s.perspective.fov=n.fov,s.perspective.fovAxis=n.fovAxis,s.perspective.near=n.near,s.perspective.far=n.far;break;case"ortho":s.ortho.scale=n.scale,s.ortho.near=n.near,s.ortho.far=n.far;break;case"frustum":s.frustum.left=n.left,s.frustum.right=n.right,s.frustum.top=n.top,s.frustum.bottom=n.bottom,s.frustum.near=n.near,s.frustum.far=n.far;break;case"custom":s.customProjection.matrix=n.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:n.scale,projection:n.projection},(()=>{i(),t()})):(s.eye=this._eye,s.look=this._look,s.up=this._up,i(),s.projection=n.projection)}}const Ya=A.vec3();class Xa{constructor(e){if(this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,e){const t=e.metaScene.scene;this.saveObjects(t,e)}}saveObjects(e,t,s){this.numObjects=0,this._mask=s?g.apply(s,{}):null;const n=!s||s.visible,i=!s||s.edges,a=!s||s.xrayed,r=!s||s.highlighted,l=!s||s.selected,o=!s||s.clippable,c=!s||s.pickable,u=!s||s.colorize,h=!s||s.opacity,p=t.metaObjects,A=e.objects;for(let e=0,t=p.length;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=A.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=A.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}class $a extends Ta{constructor(e,t={}){super(e,t),this._cachedLengths=[],this._dirty=!0,this._curves=[],this._t=0,this._dirtySubs=[],this._destroyedSubs=[],this.curves=t.curves||[],this.t=t.t}addCurve(e){this._curves.push(e),this._dirty=!0}set curves(e){var t,s,n;for(e=e||[],s=0,n=this._curves.length;s1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}get length(){var e=this._getCurveLengths();return e[e.length-1]}getPoint(e){for(var t,s=e*this.length,n=this._getCurveLengths(),i=0;i=s){var a=1-(n[i]-s)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}_getCurveLengths(){if(!this._dirty)return this._cachedLengths;var e,t=[],s=0,n=this._curves.length;for(e=0;e1?1:e}get t(){return this._t}get point(){return this.getPoint(this._t)}getPoint(e){var t=A.vec3();return t[0]=A.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=A.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=A.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}getJSON(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}const tr=A.OBB3(),sr=A.OBB3(),nr=A.OBB3();class ir{constructor(e,t,s,n,i,a,r=null,l=0){this.model=e,this.object=null,this.parent=null,this.transform=i,this.textureSet=a,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=t,this.obb=null,this._aabbLocal=null,this._aabbWorld=A.AABB3(),this._aabbWorldDirty=!1,this.layer=r,this.portionId=l,this._color=new Uint8Array([s[0],s[1],s[2],n]),this._colorize=new Uint8Array([s[0],s[1],s[2],n]),this._colorizing=!1,this._transparent=n<255,this.numTriangles=0,this.origin=null,this.entity=null,i&&i._addMesh(this)}_sceneModelDirty(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}_transformDirty(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}_updateMatrix(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}_finalize(e){this.layer.initFlags(this.portionId,e,this._transparent)}_finalize2(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}_setVisible(e){this.layer.setVisible(this.portionId,e,this._transparent)}_setColor(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}_setColorize(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}_setOpacity(e,t){const s=e<255,n=this._transparent!==s;this._color[3]=e,this._colorize[3]=e,this._transparent=s,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),n&&this.layer.setTransparent(this.portionId,t,s)}_setOffset(e){this.layer.setOffset(this.portionId,e)}_setHighlighted(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}_setXRayed(e){this.layer.setXRayed(this.portionId,e,this._transparent)}_setSelected(e){this.layer.setSelected(this.portionId,e,this._transparent)}_setEdges(e){this.layer.setEdges(this.portionId,e,this._transparent)}_setClippable(e){this.layer.setClippable(this.portionId,e,this._transparent)}_setCollidable(e){this.layer.setCollidable(this.portionId,e)}_setPickable(e){this.layer.setPickable(this.portionId,e,this._transparent)}_setCulled(e){this.layer.setCulled(this.portionId,e,this._transparent)}canPickTriangle(){return!1}drawPickTriangles(e,t){}pickTriangleSurface(e){}precisionRayPickSurface(e,t,s,n){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,s,n)}canPickWorldPos(){return!0}drawPickDepths(e){this.model.drawPickDepths(e)}drawPickNormals(e){this.model.drawPickNormals(e)}delegatePickedEntity(){return this.parent}getEachVertex(e){this.layer.getEachVertex(this.portionId,e)}set aabb(e){this._aabbLocal=e}get aabb(){if(this._aabbWorldDirty){if(A.AABB3ToOBB3(this._aabbLocal,tr),this.transform?(A.transformOBB3(this.transform.worldMatrix,tr,sr),A.transformOBB3(this.model.worldMatrix,sr,nr),A.OBB3ToAABB3(nr,this._aabbWorld)):(A.transformOBB3(this.model.worldMatrix,tr,sr),A.OBB3ToAABB3(sr,this._aabbWorld)),this.origin){const e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld}_destroy(){this.model.scene._renderer.putPickID(this.pickId)}}const ar=new class{constructor(){this._uint8Arrays={},this._float32Arrays={}}_clear(){this._uint8Arrays={},this._float32Arrays={}}getUInt8Array(e){let t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}getFloat32Array(e){let t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}};let rr=0;const lr={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},or=new Float32Array([1,1,1,1]),cr=new Float32Array([0,0,0,1]),ur=A.vec4(),hr=A.vec3(),pr=A.vec3(),Ar=A.mat4();class dr{constructor(e,t=!1,{instancing:s=!1,edges:n=!1}={}){this._scene=e,this._withSAO=t,this._instancing=s,this._edges=n,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}_getHash(){return this._scene._sectionPlanesState.getHash()}_buildShader(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}_buildVertexShader(){return[""]}_buildFragmentShader(){return[""]}_addMatricesUniformBlockLines(e,t=!1){return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}_addRemapClipPosLines(e,t=1){return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(` clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(${t}));`),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}getValid(){return this._hash===this._getHash()}setSectionPlanesStateUniforms(e){const t=this._scene,{gl:s}=t.canvas,{model:n,layerIndex:i}=e,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),r=t._sectionPlanesState.sectionPlanes.length;if(a>0){const l=t._sectionPlanesState.sectionPlanes,o=i*r,c=n.renderFlags;for(let t=0;t0&&(this._uReflectionMap="reflectionMap"),s.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(let t=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();t0&&d.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,d.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),d.lightMaps.length>0&&d.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,d.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++),this._withSAO){const t=r.sao;if(t.possible){const s=l.drawingBufferWidth,n=l.drawingBufferHeight;ur[0]=s,ur[1]=n,ur[2]=t.blendCutoff,ur[3]=t.blendFactor,l.uniform4fv(this._uSAOParams,ur),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%a,e.bindTexture++}}if(n){const e=this._edges?"edgeColor":"fillColor",t=this._edges?"edgeAlpha":"fillAlpha";if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_XRAYED"]){const s=r.xrayMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_HIGHLIGHTED"]){const s=r.highlightMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else if(s===lr[(this._edges?"EDGES":"SILHOUETTE")+"_SELECTED"]){const s=r.selectedMaterial._state,n=s[e],i=s[t];l.uniform4f(this._uColor,n[0],n[1],n[2],i)}else l.uniform4fv(this._uColor,this._edges?cr:or)}this._draw({state:o,frameCtx:e,incrementDrawState:i}),l.bindVertexArray(null)}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null,y.memory.programs--}}class fr extends dr{constructor(e,t,{instancing:s=!1,edges:n=!1}={}){super(e,t,{instancing:s,edges:n})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;if(this._edges)t.drawElements(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0);else{const e=n.pickElementsCount||s.indicesBuf.numItems,a=n.pickElementsOffset?n.pickElementsOffset*s.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,e,s.indicesBuf.itemType,a),i&&n.drawElements++}}}class Ir extends fr{constructor(e,t){super(e,t,{instancing:!1,edges:!0})}}class yr extends dr{constructor(e,t,{edges:s=!1}={}){super(e,t,{instancing:!0,edges:s})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;this._edges?t.drawElementsInstanced(t.LINES,s.edgeIndicesBuf.numItems,s.edgeIndicesBuf.itemType,0,s.numInstances):(t.drawElementsInstanced(t.TRIANGLES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++)}}class mr extends yr{constructor(e,t){super(e,t,{instancing:!0,edges:!0})}}class vr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArrays(t.POINTS,0,s.positionsBuf.numItems),i&&n.drawArrays++}}class wr extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawArraysInstanced(t.POINTS,0,s.positionsBuf.numItems,s.numInstances),i&&n.drawArrays++}}class gr extends dr{_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElements(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0),i&&n.drawElements++}}class Er extends dr{constructor(e,t){super(e,t,{instancing:!0})}_draw(e){const{gl:t}=this._scene.canvas,{state:s,frameCtx:n,incrementDrawState:i}=e;t.drawElementsInstanced(t.LINES,s.indicesBuf.numItems,s.indicesBuf.itemType,0,s.numInstances),i&&n.drawElements++}}class Tr extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i;const a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(let e=0,t=s.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(let e=0,t=s.lights.length;e0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class br extends fr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching flat-shading draw vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._lightsState,s=e._sectionPlanesState,n=s.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),n){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,s=t.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}class Pr extends Ir{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Rr extends Ir{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry edges drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Cr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class _r extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),this._addRemapClipPosLines(s),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Br extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec3 worldNormal = octDecode(normal.xy); "),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Or extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching occlusion vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Triangles batching occlusion fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Sr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching depth fragment shader"),n.push("precision highp float;"),n.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}}class Nr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class xr extends fr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Batched geometry shadow vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 outColor;"),s.push("void main(void) {"),s.push(" int colorFlag = int(flags) & 0xF;"),s.push(" bool visible = (colorFlag > 0);"),s.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push(" if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Batched geometry shadow fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" outColor = encodeFloat( gl_FragCoord.z); "),s.push("}"),s}}class Lr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Triangles batching quality draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),r.push("uniform sampler2D uAOMap;"),r.push("in vec4 vViewPosition;"),r.push("in vec3 vViewNormal;"),r.push("in vec4 vColor;"),r.push("in vec2 vUV;"),r.push("in vec2 vMetallicRoughness;"),n.lightMaps.length>0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching pick flat normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching pick flat normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Fr extends fr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles batching color texture vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._lightsState,n=e._sectionPlanesState,i=n.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(let e=0,t=n.getNumAllocatedSectionPlanes();e 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(let e=0,t=s.lights.length;e5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]}}const jr=A.mat4(),Vr=A.mat4();function kr(e,t,s){const n=e.length,i=new Uint16Array(n),a=t[0],r=t[1],l=t[2],o=t[3]-a,c=t[4]-r,u=t[5]-l,h=65525,p=h/o,d=h/c,f=h/u,I=e=>e>=0?e:0;for(let t=0;t=0?1:-1),t=(1-Math.abs(n))*(i>=0?1:-1),n=e,i=t}return new Int8Array([Math[t](127.5*n+(n<0?-1:0)),Math[s](127.5*i+(i<0?-1:0))])}function zr(e){let t=e[0],s=e[1];t/=t<0?127:128,s/=s<0?127:128;const n=1-Math.abs(t)-Math.abs(s);n<0&&(t=(1-Math.abs(s))*(t>=0?1:-1),s=(1-Math.abs(t))*(s>=0?1:-1));const i=Math.sqrt(t*t+s*s+n*n);return[t/i,s/i,n/i]}const Kr=A.vec3(),Yr=A.vec3(),Xr=A.vec3(),qr=A.vec3(),Jr=A.mat4();class Zr extends dr{drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Kr;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=Yr;if(o){const e=Xr;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,Jr),y=qr,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),l.indicesBuf.bind(),r.drawElements(r.TRIANGLES,l.indicesBuf.numItems,l.indicesBuf.itemType,0),l.indicesBuf.unbind()}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("out float isPerspective;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const $r=A.vec3(),el=A.vec3(),tl=A.vec3(),sl=A.vec3(),nl=A.mat4();class il extends dr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){if(!this._program&&(this._allocate(),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=$r;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=el;if(o){const e=tl;A.transformPoint3(u,o,e),t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,nl),y=sl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElements(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0),l.edgeIndicesBuf.unbind()):r.drawArrays(r.POINTS,0,l.positionsBuf.numItems)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;const s=[];return s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push(" } else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push(" }"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapBatchingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var n=0;n 0.0) { discard; }"),s.push(" }")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class al{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Zr(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new il(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const rl={};const ll=A.mat4(),ol=A.mat4(),cl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();const ul=A.vec3(),hl=A.vec3(),pl=A.vec3(),Al=A.vec3(),dl=A.vec3(),fl=A.vec3(),Il=A.vec3();class yl{constructor(e){this.model=e.model,this.sortId="TrianglesBatchingLayer"+(e.solid?"-solid":"-surface")+(e.autoNormals?"-autonormals":"-normals")+(e.textureSet&&e.textureSet.colorTexture?"-colorTexture":"")+(e.textureSet&&e.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=Ur[t];return s||(s=new Hr(e),Ur[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ur[t],s._destroy()}))),s}(e.model.scene),this._snapBatchingRenderers=function(e){const t=e.id;let s=rl[t];return s||(s=new al(e),rl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete rl[t],s._destroy()}))),s}(e.model.scene),this._buffer=new Gr(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({origin:A.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:e.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=A.mat4(e.positionsDecodeMatrix)),e.uvDecodeMatrix?(this._state.uvDecodeMatrix=A.mat3(e.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,e.origin&&this._state.origin.set(e.origin),this.aabb=A.collapseAABB3(),this.solid=!!e.solid}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)for(let e=0,t=a.length;e0){const e=ll;y?A.inverseMat4(A.transposeMat4(y,ol),e):A.identityMat4(e,e),function(e,t,s,n,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}let r,l,o,c,u,h,p=new Float32Array([0,0,0,0]),d=new Float32Array([0,0,0,0]);for(h=0;hu&&(o=r,u=c),r=Wr(d,"floor","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),r=Wr(d,"ceil","ceil"),l=zr(r),c=a(d,l),c>u&&(o=r,u=c),n[i+h+0]=o[0],n[i+h+1]=o[1],n[i+h+2]=0}(e,i,i.length,w.normals,w.normals.length)}if(o)for(let e=0,t=o.length;e0)for(let e=0,t=r.length;e0)for(let e=0,t=l.length;e0){const n=this._state.positionsDecodeMatrix?new Uint16Array(s.positions):kr(s.positions,this._modelAABB,this._state.positionsDecodeMatrix=A.mat4());if(e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,n.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(let e=0,t=this._portions.length;e0){const n=new Int8Array(s.normals);let i=!0;e.normalsBuf=new He(t,t.ARRAY_BUFFER,n,s.normals.length,3,t.STATIC_DRAW,i)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.uv.length>0)if(e.uvDecodeMatrix){let n=!1;e.uvBuf=new He(t,t.ARRAY_BUFFER,s.uv,s.uv.length,2,t.STATIC_DRAW,n)}else{const n=Ft.getUVBounds(s.uv),i=Ft.compressUVs(s.uv,n.min,n.max),a=i.quantized;let r=!1;e.uvDecodeMatrix=A.mat3(i.decodeMatrix),e.uvBuf=new He(t,t.ARRAY_BUFFER,a,a.length,2,t.STATIC_DRAW,r)}if(s.metallicRoughness.length>0){const n=new Uint8Array(s.metallicRoughness);let i=!1;e.metallicRoughnessBuf=new He(t,t.ARRAY_BUFFER,n,s.metallicRoughness.length,2,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n),a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}if(s.edgeIndices.length>0){const n=new Uint32Array(s.edgeIndices);e.edgeIndicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}isEmpty(){return!this._state.indicesBuf}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=e,n=this._portions[s],i=4*n.vertsBaseIndex,a=4*n.numVerts,r=this._scratchMemory.getUInt8Array(a),l=t[0],o=t[1],c=t[2],u=t[3];for(let e=0;em)&&(m=e,n.set(v),i&&A.triangleNormal(d,f,I,i),y=!0)}}return y&&i&&(A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),y}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}class ml extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0;let i,a,r;const l=[];for(l.push("#version 300 es"),l.push("// Instancing geometry drawing vertex shader"),l.push("uniform int renderPass;"),l.push("in vec3 position;"),l.push("in vec2 normal;"),l.push("in vec4 color;"),l.push("in float flags;"),e.entityOffsetsEnabled&&l.push("in vec3 offset;"),l.push("in vec4 modelMatrixCol0;"),l.push("in vec4 modelMatrixCol1;"),l.push("in vec4 modelMatrixCol2;"),l.push("in vec4 modelNormalMatrixCol0;"),l.push("in vec4 modelNormalMatrixCol1;"),l.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(l,!0),e.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;")),l.push("uniform vec4 lightAmbient;"),i=0,a=s.lights.length;i= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"),n&&(l.push("out vec4 vWorldPosition;"),l.push("out float vFlags;")),l.push("out vec4 vColor;"),l.push("void main(void) {"),l.push("int colorFlag = int(flags) & 0xF;"),l.push("if (colorFlag != renderPass) {"),l.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),l.push("} else {"),l.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),l.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix * worldPosition; "),l.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),l.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),l.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),i=0,a=s.lights.length;i0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),this._withSAO&&(n.push("uniform sampler2D uOcclusionTexture;"),n.push("uniform vec4 uSAOParams;"),n.push("const float packUpscale = 256. / 255.;"),n.push("const float unpackDownScale = 255. / 256.;"),n.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),n.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),n.push("float unpackRGBToFloat( const in vec4 v ) {"),n.push(" return dot( v, unPackFactors );"),n.push("}")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(n.push(" float viewportWidth = uSAOParams[0];"),n.push(" float viewportHeight = uSAOParams[1];"),n.push(" float blendCutoff = uSAOParams[2];"),n.push(" float blendFactor = uSAOParams[3];"),n.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),n.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),n.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):n.push(" outColor = vColor;"),n.push("}"),n}}class vl extends yr{_getHash(){const e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState;let n,i;const a=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry flat-shading drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),a){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}for(r.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),r.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),r.push("float lambertian = 1.0;"),r.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),r.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),r.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),n=0,i=s.lights.length;n0,s=[];return s.push("#version 300 es"),s.push("// Instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 color;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing fill fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class gl extends mr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("uniform vec4 color;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(color.r, color.g, color.b, color.a);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class El extends mr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Triangles instancing edges vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int edgeFlag = int(flags) >> 8 & 0xF;"),s.push("if (edgeFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Tl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry picking vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 pickColor;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vPickColor;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class bl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push(" vViewPosition = viewPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Dl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec2 normal;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("in vec4 modelNormalMatrixCol0;"),s.push("in vec4 modelNormalMatrixCol1;"),s.push("in vec4 modelNormalMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vWorldNormal;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),s.push(" vWorldNormal = worldNormal;"),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(` outNormal = ivec4(vWorldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Pl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// TrianglesInstancingOcclusionRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),s.push("}"),s}}class Rl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry depth drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec2 vHighPrecisionZW;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("vHighPrecisionZW = gl_Position.zw;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}class Cl extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec3 normal;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s,!0),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),s.push("vec3 octDecode(vec2 oct) {"),s.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),s.push(" if (v.z < 0.0) {"),s.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),s.push(" }"),s.push(" return normalize(v);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec3 vViewNormal;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),s.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" vViewNormal = viewNormal;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class _l extends yr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}const Bl={3e3:"linearToLinear",3001:"sRGBToLinear"};class Ol extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState,s=e._lightsState,n=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),s.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),n&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),s.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState,i=s.getNumAllocatedSectionPlanes()>0,a=s.clippingCaps,r=[];r.push("#version 300 es"),r.push("// Instancing geometry quality drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform sampler2D uColorMap;"),r.push("uniform sampler2D uMetallicRoughMap;"),r.push("uniform sampler2D uEmissiveMap;"),r.push("uniform sampler2D uNormalMap;"),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n.reflectionMaps.length>0&&r.push("uniform samplerCube reflectionMap;"),n.lightMaps.length>0&&r.push("uniform samplerCube lightMap;"),r.push("uniform vec4 lightAmbient;");for(let e=0,t=n.lights.length;e0&&r.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(r,!0),r.push("#define PI 3.14159265359"),r.push("#define RECIPROCAL_PI 0.31830988618"),r.push("#define RECIPROCAL_PI2 0.15915494"),r.push("#define EPSILON 1e-6"),r.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),r.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),r.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),r.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),r.push(" return normalize(surf_norm );"),r.push(" }"),r.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),r.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),r.push(" vec2 st0 = dFdx( uv.st );"),r.push(" vec2 st1 = dFdy( uv.st );"),r.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),r.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),r.push(" vec3 N = normalize( surf_norm );"),r.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),r.push(" mat3 tsn = mat3( S, T, N );"),r.push(" return normalize( tsn * mapN );"),r.push("}"),r.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),r.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),r.push("}"),r.push("struct IncidentLight {"),r.push(" vec3 color;"),r.push(" vec3 direction;"),r.push("};"),r.push("struct ReflectedLight {"),r.push(" vec3 diffuse;"),r.push(" vec3 specular;"),r.push("};"),r.push("struct Geometry {"),r.push(" vec3 position;"),r.push(" vec3 viewNormal;"),r.push(" vec3 worldNormal;"),r.push(" vec3 viewEyeDir;"),r.push("};"),r.push("struct Material {"),r.push(" vec3 diffuseColor;"),r.push(" float specularRoughness;"),r.push(" vec3 specularColor;"),r.push(" float shine;"),r.push("};"),r.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),r.push(" float r = ggxRoughness + 0.0001;"),r.push(" return (2.0 / (r * r) - 2.0);"),r.push("}"),r.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),r.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),r.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),r.push("}"),n.reflectionMaps.length>0&&(r.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),r.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),r.push(" vec3 envMapColor = "+Bl[n.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),r.push(" return envMapColor;"),r.push("}")),r.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),r.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),r.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),r.push("}"),r.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" return 1.0 / ( gl * gv );"),r.push("}"),r.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),r.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),r.push(" return 0.5 / max( gv + gl, EPSILON );"),r.push("}"),r.push("float D_GGX(const in float alpha, const in float dotNH) {"),r.push(" float a2 = ( alpha * alpha );"),r.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),r.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float alpha = ( roughness * roughness );"),r.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),r.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),r.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),r.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),r.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),r.push(" vec3 F = F_Schlick( specularColor, dotLH );"),r.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),r.push(" float D = D_GGX( alpha, dotNH );"),r.push(" return F * (G * D);"),r.push("}"),r.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),r.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),r.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),r.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),r.push(" vec4 r = roughness * c0 + c1;"),r.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),r.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),r.push(" return specularColor * AB.x + AB.y;"),r.push("}"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&(r.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),n.lightMaps.length>0&&(r.push(" vec3 irradiance = "+Bl[n.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),r.push(" irradiance *= PI;"),r.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),n.reflectionMaps.length>0&&(r.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),r.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),r.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),r.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),r.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),r.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),r.push("}")),r.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),r.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),r.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),r.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),r.push("}"),r.push("out vec4 outColor;"),r.push("void main(void) {"),i){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e (0.002 * vClipPosition.w)) {"),r.push(" discard;"),r.push(" }"),r.push(" if (dist > 0.0) { "),r.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" return;"),r.push("}")):(r.push(" if (dist > 0.0) { "),r.push(" discard;"),r.push(" }")),r.push("}")}r.push("IncidentLight light;"),r.push("Material material;"),r.push("Geometry geometry;"),r.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),r.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),r.push("float opacity = float(vColor.a) / 255.0;"),r.push("vec3 baseColor = rgb;"),r.push("float specularF0 = 1.0;"),r.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),r.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),r.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),r.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),r.push("baseColor *= colorTexel.rgb;"),r.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),r.push("metallic *= metalRoughTexel.b;"),r.push("roughness *= metalRoughTexel.g;"),r.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),r.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),r.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),r.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),r.push("geometry.position = vViewPosition.xyz;"),r.push("geometry.viewNormal = -normalize(viewNormal);"),r.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),n.lightMaps.length>0&&r.push("geometry.worldNormal = normalize(vWorldNormal);"),(n.lightMaps.length>0||n.reflectionMaps.length>0)&&r.push("computePBRLightMapping(geometry, material, reflectedLight);");for(let e=0,t=n.lights.length;e0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry normals vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),this._addRemapClipPosLines(s,3),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&s.push("out float vFlags;"),s.push("out vec4 vWorldPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&s.push("vFlags = flags;"),s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),s){n.push("in float vFlags;");for(let e=0;e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(` outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),n.push("}"),n}}class Nl extends yr{_getHash(){const e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry drawing vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in vec2 uv;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),s.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vViewPosition;"),s.push("out vec4 vColor;"),s.push("out vec2 vUV;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vViewPosition = viewPosition;"),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),s.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e.gammaOutput,s=e._sectionPlanesState,n=e._lightsState;let i,a;const r=s.getNumAllocatedSectionPlanes()>0,l=[];if(l.push("#version 300 es"),l.push("// Instancing geometry drawing fragment shader"),l.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),l.push("precision highp float;"),l.push("precision highp int;"),l.push("#else"),l.push("precision mediump float;"),l.push("precision mediump int;"),l.push("#endif"),e.logarithmicDepthBufferEnabled&&(l.push("in float isPerspective;"),l.push("uniform float logDepthBufFC;"),l.push("in float vFragDepth;")),l.push("uniform sampler2D uColorMap;"),this._withSAO&&(l.push("uniform sampler2D uOcclusionTexture;"),l.push("uniform vec4 uSAOParams;"),l.push("const float packUpscale = 256. / 255.;"),l.push("const float unpackDownScale = 255. / 256.;"),l.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),l.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),l.push("float unpackRGBToFloat( const in vec4 v ) {"),l.push(" return dot( v, unPackFactors );"),l.push("}")),l.push("uniform float gammaFactor;"),l.push("vec4 linearToLinear( in vec4 value ) {"),l.push(" return value;"),l.push("}"),l.push("vec4 sRGBToLinear( in vec4 value ) {"),l.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),l.push("}"),l.push("vec4 gammaToLinear( in vec4 value) {"),l.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),l.push("}"),t&&(l.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),l.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),l.push("}")),r){l.push("in vec4 vWorldPosition;"),l.push("in float vFlags;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),l.push(" if (clippable) {"),l.push(" float dist = 0.0;");for(let e=0,t=s.getNumAllocatedSectionPlanes();e 0.0) { "),l.push(" discard;"),l.push(" }"),l.push("}")}for(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),l.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),l.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),l.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),i=0,a=n.lights.length;i0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthBufInitRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec4 pickColor;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),s.push("flat out vec4 vPickColor;"),s.push("out vec4 vWorldPosition;"),t&&s.push("out float vFlags;"),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),s.push(" vWorldPosition = worldPosition;"),t&&s.push(" vFlags = flags;"),s.push("vPickColor = pickColor;"),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Points instancing pick depth fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),s.push("in vec4 vWorldPosition;"),s.push("flat in vec4 vPickColor;"),t){s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" float dx = dFdx(vFragDepth);"),s.push(" float dy = dFdy(vFragDepth);"),s.push(" float diff = sqrt(dx*dx+dy*dy);"),s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),s.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),s.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),s.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),s.push(`outNormal = ivec4(worldNormal * float(${A.MAX_INT}), 1.0);`),s.push("outPickColor = uvec4(vPickColor);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}const Vl=A.vec3(),kl=A.vec3(),Ql=A.vec3(),Wl=A.vec3(),zl=A.mat4();class Kl extends dr{constructor(e){super(e,!1,{instancing:!0})}drawLayer(e,t,s){if(!this._program&&(this._allocate(t),this.errors))return;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());const n=t.model,i=n.scene,a=i.camera,r=i.canvas.gl,l=t._state,o=t._state.origin,{position:c,rotationMatrix:u,rotationMatrixConjugate:h}=n,p=t.aabb,d=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?r.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(l));const f=Vl;let I,y;if(f[0]=A.safeInv(p[3]-p[0])*A.MAX_INT,f[1]=A.safeInv(p[4]-p[1])*A.MAX_INT,f[2]=A.safeInv(p[5]-p[2])*A.MAX_INT,e.snapPickCoordinateScale[0]=A.safeInv(f[0]),e.snapPickCoordinateScale[1]=A.safeInv(f[1]),e.snapPickCoordinateScale[2]=A.safeInv(f[2]),o||0!==c[0]||0!==c[1]||0!==c[2]){const t=kl;if(o){const e=A.transformPoint3(u,o,Ql);t[0]=e[0],t[1]=e[1],t[2]=e[2]}else t[0]=0,t[1]=0,t[2]=0;t[0]+=c[0],t[1]+=c[1],t[2]+=c[2],I=Q(d,t,zl),y=Wl,y[0]=a.eye[0]-t[0],y[1]=a.eye[1]-t[1],y[2]=a.eye[2]-t[2],e.snapPickOrigin[0]=t[0],e.snapPickOrigin[1]=t[1],e.snapPickOrigin[2]=t[2]}else I=d,y=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;r.uniform3fv(this._uCameraEyeRtc,y),r.uniform2fv(this.uVectorA,e.snapVectorA),r.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),r.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),r.uniform3fv(this._uCoordinateScaler,f),r.uniform1i(this._uRenderPass,s),r.uniform1i(this._uPickInvisible,e.pickInvisible);let m=0;this._matricesUniformBlockBufferData.set(h,0),this._matricesUniformBlockBufferData.set(I,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(l.positionsDecodeMatrix,m+=16),r.bindBuffer(r.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),r.bufferData(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,r.DYNAMIC_DRAW),r.bindBufferBase(r.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);{const t=2/(Math.log(e.pickZFar+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,t)}this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(l.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(l.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(l.modelMatrixCol2Buf),r.vertexAttribDivisor(this._aModelMatrixCol0.location,1),r.vertexAttribDivisor(this._aModelMatrixCol1.location,1),r.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(l.flagsBuf),r.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(l.edgeIndicesBuf.bind(),r.drawElementsInstanced(r.LINES,l.edgeIndicesBuf.numItems,l.edgeIndicesBuf.itemType,0,l.numInstances),l.edgeIndicesBuf.unbind()):r.drawArraysInstanced(r.POINTS,0,l.positionsBuf.numItems,l.numInstances),r.vertexAttribDivisor(this._aModelMatrixCol0.location,0),r.vertexAttribDivisor(this._aModelMatrixCol1.location,0),r.vertexAttribDivisor(this._aModelMatrixCol2.location,0),r.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&r.vertexAttribDivisor(this._aOffset.location,0)}_allocate(){super._allocate();const e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}_bindProgram(){this._program.bind()}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer vertex shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("precision highp usampler2D;"),s.push("precision highp isampler2D;"),s.push("precision highp sampler2D;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("precision mediump usampler2D;"),s.push("precision mediump isampler2D;"),s.push("precision mediump sampler2D;"),s.push("#endif"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec3 uCameraEyeRtc;"),s.push("uniform vec2 snapVectorA;"),s.push("uniform vec2 snapInvVectorAB;"),s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"),s.push("vec2 remapClipPos(vec2 clipPos) {"),s.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),s.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),s.push(" return vec2(x, y);"),s.push("}"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out highp vec3 relativeToOriginPosition;"),s.push("void main(void) {"),s.push("int pickFlag = int(flags) >> 12 & 0xF;"),s.push("if (pickFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("relativeToOriginPosition = worldPosition.xyz;"),s.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push(" vWorldPosition = worldPosition;"),s.push(" vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),s.push("float tmp = clipPos.w;"),s.push("clipPos.xyzw /= tmp;"),s.push("clipPos.xy = remapClipPos(clipPos.xy);"),s.push("clipPos.xyzw *= tmp;"),s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),s.push("gl_Position = clipPos;"),s.push("gl_PointSize = 1.0;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// SnapInstancingDepthRenderer fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"),s.push("uniform int layerNumber;"),s.push("uniform vec3 coordinateScaler;"),t){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(let t=0;t> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(let t=0;t 0.0) { discard; }"),s.push("}")}return s.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),s.push("}"),s}webglContextRestored(){this._program=null}destroy(){this._program&&this._program.destroy(),this._program=null}}class Yl{constructor(e){this._scene=e}_compile(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}eagerCreateRenders(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene))}get snapDepthBufInitRenderer(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new jl(this._scene,!1)),this._snapDepthBufInitRenderer}get snapDepthRenderer(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Kl(this._scene)),this._snapDepthRenderer}_destroy(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}const Xl={};const ql=new Uint8Array(4),Jl=new Float32Array(1),Zl=A.vec4([0,0,0,1]);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const $l=new Float32Array(3),eo=A.vec3(),to=A.vec3(),so=A.vec3(),no=A.vec3(),io=A.vec3(),ao=A.vec3(),ro=A.vec3(),lo=new Float32Array(4);class oo{constructor(e){this.model=e.model,this.sortId="TrianglesInstancingLayer"+(e.solid?"-solid":"-surface")+(e.normals?"-normals":"-autoNormals"),this.layerIndex=e.layerIndex,this._instancingRenderers=function(e){const t=e.id;let s=Ll[t];return s||(s=new xl(e),Ll[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Ll[t],s._destroy()}))),s}(e.model.scene),this._snapInstancingRenderers=function(e){const t=e.id;let s=Xl[t];return s||(s=new Yl(e),Xl[t]=s,s._compile(),s.eagerCreateRenders(),e.on("compile",(()=>{s._compile(),s.eagerCreateRenders()})),e.on("destroyed",(()=>{delete Xl[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({numInstances:0,obb:A.OBB3(),origin:A.vec3(),geometry:e.geometry,textureSet:e.textureSet,pbrSupported:!1,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,e.origin&&this._state.origin.set(e.origin),this._finalized=!1,this.solid=!!e.solid,this.numIndices=e.geometry.numIndices}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,n.DYNAMIC_DRAW,t),this._colors=[]}if(this._metallicRoughness.length>0){const t=new Uint8Array(this._metallicRoughness);let s=!1;e.metallicRoughnessBuf=new He(n,n.ARRAY_BUFFER,t,this._metallicRoughness.length,2,n.STATIC_DRAW,s)}if(a>0){let t=!1;e.flagsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(a),a,1,n.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;e.offsetsBuf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,n.DYNAMIC_DRAW,t),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){const s=!1;e.positionsBuf=new He(n,n.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,n.STATIC_DRAW,s),e.positionsDecodeMatrix=A.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){const s=new Uint8Array(t.colorsCompressed),i=!1;e.colorsBuf=new He(n,n.ARRAY_BUFFER,s,s.length,4,n.STATIC_DRAW,i)}if(t.uvCompressed&&t.uvCompressed.length>0){const s=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new He(n,n.ARRAY_BUFFER,s,s.length,2,n.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,n.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new He(n,n.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,n.STATIC_DRAW)),this._modelMatrixCol0.length>0){const t=!1;e.modelMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol1Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,n.STATIC_DRAW,t),e.modelNormalMatrixCol2Buf=new He(n,n.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,n.STATIC_DRAW,t),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){const t=!1;e.pickColorsBuf=new He(n,n.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,n.STATIC_DRAW,t),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&s&&s.colorTexture&&s.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!s&&!!s.colorTexture,this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ql[0]=t[0],ql[1]=t[1],ql[2]=t[2],ql[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(ql,4*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?1:0)<<16,Jl[0]=A,this._state.flagsBuf&&this._state.flagsBuf.setData(Jl,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?($l[0]=t[0],$l[1]=t[1],$l[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData($l,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}getEachVertex(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;const s=this._state,n=s.geometry,i=this._portions[e];if(!i)return void this.model.error("portion not found: "+e);const a=n.quantizedPositions,r=s.origin,l=i.offset,o=r[0]+l[0],c=r[1]+l[1],u=r[2]+l[2],h=Zl,p=i.matrix,d=this.model.sceneModelMatrix,f=s.positionsDecodeMatrix;for(let e=0,s=a.length;ev)&&(v=e,n.set(w),i&&A.triangleNormal(f,I,y,i),m=!0)}}return m&&i&&(A.transformVec3(l.normalMatrix,i,i),A.transformVec3(this.model.worldNormalMatrix,i,i),A.normalizeVec3(i)),m}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}class co extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class uo extends gr{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines batching silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),this._addMatricesUniformBlockLines(s),s.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines batching silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class ho{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new co(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new uo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const po={};class Ao{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}}A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class fo{constructor(e){this.layerIndex=e.layerIndex,this._batchingRenderers=function(e){const t=e.id;let s=po[t];return s||(s=new ho(e),po[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete po[t],s._destroy()}))),s}(e.model.scene),this.model=e.model,this._buffer=new Ao(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.DYNAMIC_DRAW,i)}if(s.colors.length>0){const n=s.colors.length/4,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}if(s.indices.length>0){const n=new Uint32Array(s.indices);e.indicesBuf=new He(t,t.ELEMENT_ARRAY_BUFFER,n,s.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,s,!0)}flushInitFlags(){this._setDeferredFlags()}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2],c=t[3];for(let e=0;e0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing color vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),s.push("in vec4 color;"),s.push("in float flags;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 lightAmbient;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("out vec4 vColor;"),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("if (colorFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),s.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class yo extends Er{drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Lines instancing silhouette vertex shader"),s.push("uniform int renderPass;"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(s),e.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;")),s.push("uniform vec4 color;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),s.push("if (silhouetteFlag != renderPass) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("gl_Position = clipPos;"),s.push("}"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Lines instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = color;"),n.push("}"),n}}class mo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Io(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new yo(this._scene)),this._silhouetteRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}const vo={};const wo=new Uint8Array(4),go=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Eo=new Float32Array(3),To=new Float32Array(4);class bo{constructor(e){this.model=e.model,this.material=e.material,this.sortId="LinesInstancingLayer",this.layerIndex=e.layerIndex,this._linesInstancingRenderers=function(e){const t=e.id;let s=vo[t];return s||(s=new mo(e),vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,e.origin&&(this._state.origin=A.vec3(e.origin)),this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let t=!1;this._state.colorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,t),this._colors=[]}if(s>0){let t=!1;this._state.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(s),s,1,e.DYNAMIC_DRAW,t)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;this._state.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(this._modelMatrixCol0.length>0){const t=!1;this._state.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),this._state.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";wo[0]=t[0],wo[1]=t[1],wo[2]=t[2],wo[3]=t[3],this._state.colorsBuf.setData(wo,4*e,4)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,go[0]=A,this._state.flagsBuf.setData(go,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Eo[0]=t[0],Eo[1]=t[1],Eo[2]=t[2],this._state.offsetsBuf.setData(Eo,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;To[0]=t[0],To[1]=t[4],To[2]=t[8],To[3]=t[12],this._state.modelMatrixCol0Buf.setData(To,s),To[0]=t[1],To[1]=t[5],To[2]=t[9],To[3]=t[13],this._state.modelMatrixCol1Buf.setData(To,s),To[0]=t[2],To[1]=t[6],To[2]=t[10],To[3]=t[14],this._state.modelMatrixCol2Buf.setData(To,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesXRayed(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawOcclusion(e,t){}drawShadow(e,t){}drawPickMesh(e,t){}drawPickDepths(e,t){}drawPickNormals(e,t){}destroy(){const e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}class Do extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{incrementDrawState:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial,n=[];return n.push("#version 300 es"),n.push("// Points batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Po extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}class Ro extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching pick mesh vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var i=0;i 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vPickColor; "),n.push("}"),n}}class Co extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batched pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("gl_PointSize += 10.0;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batched pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class _o extends vr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push(" gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push(" }"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}class Bo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new Do(this._scene)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Po(this._scene)),this._silhouetteRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Ro(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Co(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new _o(this._scene)),this._occlusionRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}const Oo={};class So{constructor(e=5e6){e>5e6&&(e=5e6),this.maxVerts=e,this.maxIndices=3*e,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}}A.vec4(),A.vec4(),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.OBB3();class No{constructor(e){this.model=e.model,this.sortId="PointsBatchingLayer",this.layerIndex=e.layerIndex,this._pointsBatchingRenderers=function(e){const t=e.id;let s=Oo[t];return s||(s=new Bo(e),Oo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Oo[t],s._destroy()}))),s}(e.model.scene),this._buffer=new So(e.maxGeometryBatchSize),this._scratchMemory=e.scratchMemory,this._state=new it({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:A.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=A.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,e.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(e.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,e.origin&&(this._state.origin=A.vec3(e.origin)),this.aabb=A.collapseAABB3()}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){const n=new Uint16Array(s.positions);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}else{const n=kr(new Float32Array(s.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new He(t,t.ARRAY_BUFFER,n,s.positions.length,3,t.STATIC_DRAW)}if(s.colors.length>0){const n=new Uint8Array(s.colors);let i=!1;e.colorsBuf=new He(t,t.ARRAY_BUFFER,n,s.colors.length,4,t.STATIC_DRAW,i)}if(s.positions.length>0){const n=s.positions.length/3,i=new Float32Array(n);let a=!1;e.flagsBuf=new He(t,t.ARRAY_BUFFER,i,i.length,1,t.DYNAMIC_DRAW,a)}if(s.pickColors.length>0){const n=new Uint8Array(s.pickColors);let i=!1;e.pickColorsBuf=new He(t,t.ARRAY_BUFFER,n,s.pickColors.length,4,t.STATIC_DRAW,i)}if(this.model.scene.entityOffsetsEnabled&&s.offsets.length>0){const n=new Float32Array(s.offsets);e.offsetsBuf=new He(t,t.ARRAY_BUFFER,n,s.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized"}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";const s=2*e,n=4*this._portions[s],i=4*this._portions[s+1],a=this._scratchMemory.getUInt8Array(i),r=t[0],l=t[1],o=t[2];for(let e=0;e0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),s.filterIntensity&&n.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),s.filterIntensity&&(n.push("float intensity = float(color.a) / 255.0;"),n.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {")),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),s.filterIntensity&&n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing color fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Lo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}drawLayer(e,t,s){super.drawLayer(e,t,s,{colorUniform:!0})}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 silhouetteColor;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing silhouette fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vColor;"),n.push("}"),n}}class Mo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick mesh vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick mesh fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outColor = vPickColor; "),n.push("}"),n}}class Fo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = remapClipPos(clipPos);"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outColor = packDepth(zNormalizedDepth); "),n.push("}"),n}}class Ho extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing occlusion vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0;e 1.0) {"),n.push(" discard;"),n.push(" }")),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0;e 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("}"),n}}class Uo extends wr{_getHash(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=e.pointsMaterial._state,n=[];return n.push("#version 300 es"),n.push("// Points instancing depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),s.perspectivePoints&&n.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),s.perspectivePoints?(n.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),n.push("gl_PointSize = max(gl_PointSize, "+Math.floor(s.minPerspectivePointSize)+".0);"),n.push("gl_PointSize = min(gl_PointSize, "+Math.floor(s.maxPerspectivePointSize)+".0);")):n.push("gl_PointSize = pointSize;"),n.push("}"),n.push("}"),n}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState;let s,n;const i=t.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),s=0,n=t.getNumAllocatedSectionPlanes();s 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),s=0,n=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),e.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}class Go extends wr{_buildVertexShader(){const e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,s=[];return s.push("#version 300 es"),s.push("// Instancing geometry shadow drawing vertex shader"),s.push("in vec3 position;"),e.entityOffsetsEnabled&&s.push("in vec3 offset;"),s.push("in vec4 color;"),s.push("in float flags;"),s.push("in vec4 modelMatrixCol0;"),s.push("in vec4 modelMatrixCol1;"),s.push("in vec4 modelMatrixCol2;"),s.push("uniform mat4 shadowViewMatrix;"),s.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(s),s.push("uniform float pointSize;"),t&&(s.push("out vec4 vWorldPosition;"),s.push("out float vFlags;")),s.push("void main(void) {"),s.push("int colorFlag = int(flags) & 0xF;"),s.push("bool visible = (colorFlag > 0);"),s.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),s.push("if (!visible || transparent) {"),s.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),s.push("} else {"),s.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),s.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(s.push("vWorldPosition = worldPosition;"),s.push("vFlags = flags;")),s.push(" gl_Position = shadowProjMatrix * viewPosition;"),s.push("}"),s.push("gl_PointSize = pointSize;"),s.push("}"),s}_buildFragmentShader(){const e=this._scene,t=e._sectionPlanesState,s=t.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Instancing geometry depth drawing fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),s){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 1.0) {"),n.push(" discard;"),n.push(" }"),s){n.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(let e=0,s=t.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}}class jo{constructor(e){this._scene=e}_compile(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}get colorRenderer(){return this._colorRenderer||(this._colorRenderer=new xo(this._scene,!1)),this._colorRenderer}get silhouetteRenderer(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Lo(this._scene)),this._silhouetteRenderer}get depthRenderer(){return this._depthRenderer||(this._depthRenderer=new Uo(this._scene)),this._depthRenderer}get pickMeshRenderer(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Mo(this._scene)),this._pickMeshRenderer}get pickDepthRenderer(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Fo(this._scene)),this._pickDepthRenderer}get occlusionRenderer(){return this._occlusionRenderer||(this._occlusionRenderer=new Ho(this._scene)),this._occlusionRenderer}get shadowRenderer(){return this._shadowRenderer||(this._shadowRenderer=new Go(this._scene)),this._shadowRenderer}_destroy(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}const Vo={};const ko=new Uint8Array(4),Qo=new Float32Array(1);A.vec4([0,0,0,1]),A.vec4([0,0,0,1]),A.vec4([0,0,0,1]);const Wo=new Float32Array(3),zo=new Float32Array(4);class Ko{constructor(e){this.model=e.model,this.material=e.material,this.sortId="PointsInstancingLayer",this.layerIndex=e.layerIndex,this._pointsInstancingRenderers=function(e){const t=e.id;let s=Vo[t];return s||(s=new jo(e),Vo[t]=s,s._compile(),e.on("compile",(()=>{s._compile()})),e.on("destroyed",(()=>{delete Vo[t],s._destroy()}))),s}(e.model.scene),this._aabb=A.collapseAABB3(),this._state=new it({obb:A.OBB3(),numInstances:0,origin:e.origin?A.vec3(e.origin):null,geometry:e.geometry,positionsDecodeMatrix:e.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=e.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=A.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}get aabb(){if(this.aabbDirty){A.collapseAABB3(this._aabb);for(let e=0,t=this._meshes.length;e0){let n=!1;s.flagsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,n)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){const t=!1;s.offsetsBuf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,t),this._offsets=[]}if(n.positionsCompressed&&n.positionsCompressed.length>0){const t=!1;s.positionsBuf=new He(e,e.ARRAY_BUFFER,n.positionsCompressed,n.positionsCompressed.length,3,e.STATIC_DRAW,t),s.positionsDecodeMatrix=A.mat4(n.positionsDecodeMatrix)}if(n.colorsCompressed&&n.colorsCompressed.length>0){const t=new Uint8Array(n.colorsCompressed),i=!1;s.colorsBuf=new He(e,e.ARRAY_BUFFER,t,t.length,4,e.STATIC_DRAW,i)}if(this._modelMatrixCol0.length>0){const t=!1;s.modelMatrixCol0Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,t),s.modelMatrixCol1Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,t),s.modelMatrixCol2Buf=new He(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,t),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){const t=!1;s.pickColorsBuf=new He(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,t),this._pickColors=[]}s.geometry=null,this._finalized=!0}initFlags(e,t,s){t&X&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&te&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&ee&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&se&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&Z&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&ne&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&J&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&q&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),s&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,s)}setVisible(e,t,s){if(!this._finalized)throw"Not finalized";t&X?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,s)}setHighlighted(e,t,s){if(!this._finalized)throw"Not finalized";t&te?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,s)}setXRayed(e,t,s){if(!this._finalized)throw"Not finalized";t&ee?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,s)}setSelected(e,t,s){if(!this._finalized)throw"Not finalized";t&se?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,s)}setEdges(e,t,s){if(!this._finalized)throw"Not finalized";t&ne?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,s)}setClippable(e,t){if(!this._finalized)throw"Not finalized";t&Z?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}setCollidable(e,t){if(!this._finalized)throw"Not finalized"}setPickable(e,t,s){if(!this._finalized)throw"Not finalized";t&J?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,s)}setCulled(e,t,s){if(!this._finalized)throw"Not finalized";t&q?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,s)}setColor(e,t){if(!this._finalized)throw"Not finalized";ko[0]=t[0],ko[1]=t[1],ko[2]=t[2],this._state.colorsBuf.setData(ko,3*e)}setTransparent(e,t,s){s?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,s)}_setFlags(e,t,s){if(!this._finalized)throw"Not finalized";const n=!!(t&X),i=!!(t&ee),a=!!(t&te),r=!!(t&se),l=!!(t&ne),o=!!(t&J),c=!!(t&q);let u,h;u=!n||c||i||a&&!this.model.scene.highlightMaterial.glowThrough||r&&!this.model.scene.selectedMaterial.glowThrough?lr.NOT_RENDERED:s?lr.COLOR_TRANSPARENT:lr.COLOR_OPAQUE,h=!n||c?lr.NOT_RENDERED:r?lr.SILHOUETTE_SELECTED:a?lr.SILHOUETTE_HIGHLIGHTED:i?lr.SILHOUETTE_XRAYED:lr.NOT_RENDERED;let p=0;p=!n||c?lr.NOT_RENDERED:r?lr.EDGES_SELECTED:a?lr.EDGES_HIGHLIGHTED:i?lr.EDGES_XRAYED:l?s?lr.EDGES_COLOR_TRANSPARENT:lr.EDGES_COLOR_OPAQUE:lr.NOT_RENDERED;let A=0;A|=u,A|=h<<4,A|=p<<8,A|=(n&&!c&&o?lr.PICK:lr.NOT_RENDERED)<<12,A|=(t&Z?255:0)<<16,Qo[0]=A,this._state.flagsBuf.setData(Qo,e)}setOffset(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Wo[0]=t[0],Wo[1]=t[1],Wo[2]=t[2],this._state.offsetsBuf.setData(Wo,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}setMatrix(e,t){if(!this._finalized)throw"Not finalized";const s=4*e;zo[0]=t[0],zo[1]=t[4],zo[2]=t[8],zo[3]=t[12],this._state.modelMatrixCol0Buf.setData(zo,s),zo[0]=t[1],zo[1]=t[5],zo[2]=t[9],zo[3]=t[13],this._state.modelMatrixCol1Buf.setData(zo,s),zo[0]=t[2],zo[1]=t[6],zo[2]=t[10],zo[3]=t[14],this._state.modelMatrixCol2Buf.setData(zo,s)}drawColorOpaque(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawColorTransparent(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,lr.COLOR_TRANSPARENT)}drawDepth(e,t){}drawNormals(e,t){}drawSilhouetteXRayed(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_XRAYED)}drawSilhouetteHighlighted(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_HIGHLIGHTED)}drawSilhouetteSelected(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,lr.SILHOUETTE_SELECTED)}drawEdgesColorOpaque(e,t){}drawEdgesColorTransparent(e,t){}drawEdgesHighlighted(e,t){}drawEdgesSelected(e,t){}drawEdgesXRayed(e,t){}drawOcclusion(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,lr.COLOR_OPAQUE)}drawShadow(e,t){}drawPickMesh(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,lr.PICK)}drawPickDepths(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,lr.PICK)}drawPickNormals(e,t){}destroy(){const e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}class Yo{constructor(e){this.id=e.id,this.colorTexture=e.colorTexture,this.metallicRoughnessTexture=e.metallicRoughnessTexture,this.normalsTexture=e.normalsTexture,this.emissiveTexture=e.emissiveTexture,this.occlusionTexture=e.occlusionTexture}destroy(){}}class Xo{constructor(e){this.id=e.id,this.texture=e.texture}destroy(){this.texture&&(this.texture.destroy(),this.texture=null)}}const qo={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}};class Jo{constructor(e,t,s){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=s}itemStart(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}itemError(e){void 0!==this.onError&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,s=this.handlers.length;t{t&&t(i),this.manager.itemEnd(e)}),0),i;if(void 0!==ec[e])return void ec[e].push({onLoad:t,onProgress:s,onError:n});ec[e]=[],ec[e].push({onLoad:t,onProgress:s,onError:n});const a=new Request(e,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?"include":"same-origin"}),r=this.mimeType,l=this.responseType;fetch(a).then((t=>{if(200===t.status||0===t.status){if(0===t.status&&console.warn("FileLoader: HTTP Status 0 received."),"undefined"==typeof ReadableStream||void 0===t.body.getReader)return t;const s=ec[e],n=t.body.getReader(),i=t.headers.get("Content-Length"),a=i?parseInt(i):0,r=0!==a;let l=0;const o=new ReadableStream({start(e){!function t(){n.read().then((({done:n,value:i})=>{if(n)e.close();else{l+=i.byteLength;const n=new ProgressEvent("progress",{lengthComputable:r,loaded:l,total:a});for(let e=0,t=s.length;e{switch(l){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"document":return e.text().then((e=>(new DOMParser).parseFromString(e,r)));case"json":return e.json();default:if(void 0===r)return e.text();{const t=/charset="?([^;"\s]*)"?/i.exec(r),s=t&&t[1]?t[1].toLowerCase():void 0,n=new TextDecoder(s);return e.arrayBuffer().then((e=>n.decode(e)))}}})).then((t=>{qo.add(e,t);const s=ec[e];delete ec[e];for(let e=0,n=s.length;e{const s=ec[e];if(void 0===s)throw this.manager.itemError(e),t;delete ec[e];for(let e=0,n=s.length;e{this.manager.itemEnd(e)})),this.manager.itemStart(e)}setResponseType(e){return this.responseType=e,this}setMimeType(e){return this.mimeType=e,this}}class sc{constructor(e=4){this.pool=e,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}_initWorker(e){if(!this.workers[e]){const t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}_getIdleWorker(){for(let e=0;e{const n=this._getIdleWorker();-1!==n?(this._initWorker(n),this.workerStatus|=1<e.terminate())),this.workersResolve.length=0,this.workers.length=0,this.queue.length=0,this.workerStatus=0}}let nc=0;class ic{constructor({viewer:e,transcoderPath:t,workerLimit:s}){this._transcoderPath=t||"https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/",this._transcoderBinary=null,this._transcoderPending=null,this._workerPool=new sc,this._workerSourceURL="",s&&this._workerPool.setWorkerLimit(s);const n=e.capabilities;this._workerConfig={astcSupported:n.astcSupported,etc1Supported:n.etc1Supported,etc2Supported:n.etc2Supported,dxtSupported:n.dxtSupported,bptcSupported:n.bptcSupported,pvrtcSupported:n.pvrtcSupported},this._supportedFileTypes=["xkt2"]}_init(){if(!this._transcoderPending){const e=new tc;e.setPath(this._transcoderPath),e.setWithCredentials(this.withCredentials);const t=e.loadAsync("basis_transcoder.js"),s=new tc;s.setPath(this._transcoderPath),s.setResponseType("arraybuffer"),s.setWithCredentials(this.withCredentials);const n=s.loadAsync("basis_transcoder.wasm");this._transcoderPending=Promise.all([t,n]).then((([e,t])=>{const s=ic.BasisWorker.toString(),n=["/* constants */","let _EngineFormat = "+JSON.stringify(ic.EngineFormat),"let _TranscoderFormat = "+JSON.stringify(ic.TranscoderFormat),"let _BasisFormat = "+JSON.stringify(ic.BasisFormat),"/* basis_transcoder.js */",e,"/* worker */",s.substring(s.indexOf("{")+1,s.lastIndexOf("}"))].join("\n");this._workerSourceURL=URL.createObjectURL(new Blob([n])),this._transcoderBinary=t,this._workerPool.setWorkerCreator((()=>{const e=new Worker(this._workerSourceURL),t=this._transcoderBinary.slice(0);return e.postMessage({type:"init",config:this._workerConfig,transcoderBinary:t},[t]),e}))})),nc>0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),nc++}return this._transcoderPending}transcode(e,t,s={}){return new Promise(((n,i)=>{const a=s;this._init().then((()=>this._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:a},e))).then((e=>{const s=e.data,{mipmaps:a,width:r,height:l,format:o,type:c,error:u,dfdTransferFn:h,dfdFlags:p}=s;if("error"===c)return i(u);t.setCompressedData({mipmaps:a,props:{format:o,minFilter:1===a.length?1006:1008,magFilter:1===a.length?1006:1008,encoding:2===h?3001:3e3,premultiplyAlpha:!!(1&p)}}),n()}))}))}destroy(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),nc--}}ic.BasisFormat={ETC1S:0,UASTC_4x4:1},ic.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},ic.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},ic.BasisWorker=function(){let e,t,s;const n=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(r){const u=r.data;switch(u.type){case"init":e=u.config,h=u.transcoderBinary,t=new Promise((e=>{s={wasmBinary:h,onRuntimeInitialized:e},BASIS(s)})).then((()=>{s.initializeBasis(),void 0===s.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((()=>{try{const{width:t,height:r,hasAlpha:h,mipmaps:p,format:A,dfdTransferFn:d,dfdFlags:f}=function(t){const r=new s.KTX2File(new Uint8Array(t));function u(){r.close(),r.delete()}if(!r.isValid())throw u(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");const h=r.isUASTC()?a.UASTC_4x4:a.ETC1S,p=r.getWidth(),A=r.getHeight(),d=r.getLevels(),f=r.getHasAlpha(),I=r.getDFDTransferFunc(),y=r.getDFDFlags(),{transcoderFormat:m,engineFormat:v}=function(t,s,r,u){let h,p;const A=t===a.ETC1S?l:o;for(let n=0;n{delete ac[t],s.destroy()}))),s} /** * @author https://github.com/tmarti, with support from https://tribia.com/ * @license MIT diff --git a/dist/xeokit-sdk.min.es5.js b/dist/xeokit-sdk.min.es5.js index 18f91a5ee1..9c8d912206 100644 --- a/dist/xeokit-sdk.min.es5.js +++ b/dist/xeokit-sdk.min.es5.js @@ -1,4 +1,4 @@ -var e,t=o().mark(RE),n=o().mark(CE),r=o().mark(UD);function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(o&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),b(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;b(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:P(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function l(e,t,n,r,i,a,s){try{var o=e[a](s),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(r,i)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function s(e){l(a,r,i,s,o,"next",e)}function o(e){l(a,r,i,s,o,"throw",e)}s(void 0)}))}}function c(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=A(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,a=[],s=!0,o=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(o)throw i}}return a}(e,t)||A(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._id=k.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==n.hideOnMouseDown&&(document.addEventListener("mousedown",(function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),n.items&&(this.items=n.items),this._hideOnAction=!1!==n.hideOnAction,this.context=n.context,this.enabled=!1!==n.enabled,this.hide()}return P(e,[{key:"on",value:function(e,t){var n=this._eventSubs[e];n||(n=[],this._eventSubs[e]=n),n.push(t)}},{key:"fire",value:function(e,t){var n=this._eventSubs[e];if(n)for(var r=0,i=n.length;r0,c=t._getNextId(),f=a.getTitle||function(){return a.title||""},p=a.doAction||a.callback||function(){},A=a.getEnabled||function(){return!0},d=a.getShown||function(){return!0},v=new Q(c,f,p,A,d);if(v.parentMenu=i,l.items.push(v),u){var h=e(s);v.subMenu=h,h.parentItem=v}t._itemList.push(v),t._itemMap[v.id]=v},c=0,f=o.length;c'),r.push("
    "),n)for(var i=0,a=n.length;i'+A+" [MORE]"):r.push('
  • '+A+"
  • ")}}r.push("
"),r.push("");var d=r.join("");document.body.insertAdjacentHTML("beforeend",d);var v=document.querySelector("."+e.id);e.menuElement=v,v.style["border-radius"]="4px",v.style.display="none",v.style["z-index"]=3e5,v.style.background="white",v.style.border="1px solid black",v.style["box-shadow"]="0 4px 5px 0 gray",v.oncontextmenu=function(e){e.preventDefault()};var h=this,I=null;if(n)for(var y=0,m=n.length;ywindow.innerWidth?h._showMenu(t.id,a.left-200,a.top-1):h._showMenu(t.id,a.right-5,a.top-1),I=t}}else I&&(h._hideMenu(I.id),I=null)})),i||(r.itemElement.addEventListener("click",(function(e){e.preventDefault(),h._context&&!1!==r.enabled&&(r.doAction&&r.doAction(h._context),t._hideOnAction?h.hide():(h._updateItemsTitles(),h._updateItemsEnabledStatus()))})),r.itemElement.addEventListener("mouseenter",(function(e){e.preventDefault(),!1!==r.enabled&&r.doHover&&r.doHover(h._context)})))},E=0,T=w.length;Ewindow.innerHeight&&(n=window.innerHeight-r),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=n+"px"}},{key:"_hideMenuElement",value:function(e){e.style.display="none"}}]),e}(),z=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.viewer=t,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=r.zoomLevel||2,this._active=!1!==r.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(function(){n._active&&n._visible&&n.update()}))}return P(e,[{key:"update",value:function(){if(this._active&&this._visible&&this._canvasPos){var e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),n=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",n&&(this._lensPosToggle?this._lensContainer.style.marginTop="".concat(t.bottom-t.top-this._lensCanvas.height-85,"px"):this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);var r=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-r/2,this._canvasPos[1]-r/2,r,r,0,0,this._lensCanvas.width,this._lensCanvas.height);var i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){var a=this._snappedCanvasPos[0]-this._canvasPos[0],s=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft="".concat(i[0]+a*this._zoomLevel-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]+s*this._zoomLevel-10,"px")}else this._lensCursorDiv.style.marginLeft="".concat(i[0]-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]-10,"px")}}},{key:"zoomFactor",get:function(){return this._zoomFactor},set:function(e){this._zoomFactor=e,this.update()}},{key:"canvasPos",get:function(){return this._canvasPos},set:function(e){this._canvasPos=e,this.update()}},{key:"snappedCanvasPos",get:function(){return this._snappedCanvasPos},set:function(e){this._snappedCanvasPos=e,this.update()}},{key:"snapped",get:function(){return this._snapped},set:function(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}},{key:"active",get:function(){return this._active},set:function(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"destroy",value:function(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}]),e}(),K=!0,Y=K?Float64Array:Float32Array,X=new Y(3),q=new Y(16),J=new Y(16),Z=new Y(4),$={setDoublePrecisionEnabled:function(e){Y=(K=e)?Float64Array:Float32Array},getDoublePrecisionEnabled:function(){return K},MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId:function(e,t){var n=t.indexOf("#");return n===e.length&&t.startsWith(e)?t.substring(n+1):t},globalizeObjectId:function(e,t){return e+"#"+t},safeInv:function(e){var t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:function(e){return new Y(e||2)},vec3:function(e){return new Y(e||3)},vec4:function(e){return new Y(e||4)},mat3:function(e){return new Y(e||9)},mat3ToMat4:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Y(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},mat4:function(e){return new Y(e||16)},mat4ToMat3:function(e,t){},doublesToFloats:function(e,t,n){for(var r=new Y(2),i=0,a=e.length;i>8&255]+e[t>>16&255]+e[t>>24&255],"-").concat(e[255&n]).concat(e[n>>8&255],"-").concat(e[n>>16&15|64]).concat(e[n>>24&255],"-").concat(e[63&r|128]).concat(e[r>>8&255],"-").concat(e[r>>16&255]).concat(e[r>>24&255]).concat(e[255&i]).concat(e[i>>8&255]).concat(e[i>>16&255]).concat(e[i>>24&255])}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},fmod:function(e,t){if(e1?1:n,Math.acos(n)},vec3FromMat4Scale:function(){var e=new Y(3);return function(t,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],n[0]=$.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],n[1]=$.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],n[2]=$.lenVec3(e),n}}(),vecToArray:function(){function e(e){return Math.round(1e5*e)/1e5}return function(t){for(var n=0,r=(t=Array.prototype.slice.call(t)).length;n0&&void 0!==arguments[0]?arguments[0]:new Y(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},identityMat3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Y(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},isIdentityMat4:function(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15]},negateMat4:function(e,t){return t||(t=e),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},addMat4:function(e,t,n){return n||(n=e),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n},addMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]+t,n[1]=e[1]+t,n[2]=e[2]+t,n[3]=e[3]+t,n[4]=e[4]+t,n[5]=e[5]+t,n[6]=e[6]+t,n[7]=e[7]+t,n[8]=e[8]+t,n[9]=e[9]+t,n[10]=e[10]+t,n[11]=e[11]+t,n[12]=e[12]+t,n[13]=e[13]+t,n[14]=e[14]+t,n[15]=e[15]+t,n},addScalarMat4:function(e,t,n){return $.addMat4Scalar(t,e,n)},subMat4:function(e,t,n){return n||(n=e),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n},subMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]-t,n[1]=e[1]-t,n[2]=e[2]-t,n[3]=e[3]-t,n[4]=e[4]-t,n[5]=e[5]-t,n[6]=e[6]-t,n[7]=e[7]-t,n[8]=e[8]-t,n[9]=e[9]-t,n[10]=e[10]-t,n[11]=e[11]-t,n[12]=e[12]-t,n[13]=e[13]-t,n[14]=e[14]-t,n[15]=e[15]-t,n},subScalarMat4:function(e,t,n){return n||(n=t),n[0]=e-t[0],n[1]=e-t[1],n[2]=e-t[2],n[3]=e-t[3],n[4]=e-t[4],n[5]=e-t[5],n[6]=e-t[6],n[7]=e-t[7],n[8]=e-t[8],n[9]=e-t[9],n[10]=e-t[10],n[11]=e-t[11],n[12]=e-t[12],n[13]=e-t[13],n[14]=e-t[14],n[15]=e-t[15],n},mulMat4:function(e,t,n){n||(n=e);var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],f=e[8],p=e[9],A=e[10],d=e[11],v=e[12],h=e[13],I=e[14],y=e[15],m=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],L=t[15];return n[0]=m*r+w*o+g*f+E*v,n[1]=m*i+w*l+g*p+E*h,n[2]=m*a+w*u+g*A+E*I,n[3]=m*s+w*c+g*d+E*y,n[4]=T*r+b*o+D*f+P*v,n[5]=T*i+b*l+D*p+P*h,n[6]=T*a+b*u+D*A+P*I,n[7]=T*s+b*c+D*d+P*y,n[8]=R*r+C*o+_*f+B*v,n[9]=R*i+C*l+_*p+B*h,n[10]=R*a+C*u+_*A+B*I,n[11]=R*s+C*c+_*d+B*y,n[12]=O*r+S*o+N*f+L*v,n[13]=O*i+S*l+N*p+L*h,n[14]=O*a+S*u+N*A+L*I,n[15]=O*s+S*c+N*d+L*y,n},mulMat3:function(e,t,n){n||(n=new Y(9));var r=e[0],i=e[3],a=e[6],s=e[1],o=e[4],l=e[7],u=e[2],c=e[5],f=e[8],p=t[0],A=t[3],d=t[6],v=t[1],h=t[4],I=t[7],y=t[2],m=t[5],w=t[8];return n[0]=r*p+i*v+a*y,n[3]=r*A+i*h+a*m,n[6]=r*d+i*I+a*w,n[1]=s*p+o*v+l*y,n[4]=s*A+o*h+l*m,n[7]=s*d+o*I+l*w,n[2]=u*p+c*v+f*y,n[5]=u*A+c*h+f*m,n[8]=u*d+c*I+f*w,n},mulMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n},mulMat4v4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=t[0],i=t[1],a=t[2],s=t[3];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12]*s,n[1]=e[1]*r+e[5]*i+e[9]*a+e[13]*s,n[2]=e[2]*r+e[6]*i+e[10]*a+e[14]*s,n[3]=e[3]*r+e[7]*i+e[11]*a+e[15]*s,n},transposeMat4:function(e,t){var n=e[4],r=e[14],i=e[8],a=e[13],s=e[12],o=e[9];if(!t||e===t){var l=e[1],u=e[2],c=e[3],f=e[6],p=e[7],A=e[11];return e[1]=n,e[2]=i,e[3]=s,e[4]=l,e[6]=o,e[7]=a,e[8]=u,e[9]=f,e[11]=r,e[12]=c,e[13]=p,e[14]=A,e}return t[0]=e[0],t[1]=n,t[2]=i,t[3]=s,t[4]=e[1],t[5]=e[5],t[6]=o,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=r,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3:function(e,t){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else 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];return t},determinantMat4:function(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],u=e[8],c=e[9],f=e[10],p=e[11],A=e[12],d=e[13],v=e[14],h=e[15];return A*c*o*i-u*d*o*i-A*s*f*i+a*d*f*i+u*s*v*i-a*c*v*i-A*c*r*l+u*d*r*l+A*n*f*l-t*d*f*l-u*n*v*l+t*c*v*l+A*s*r*p-a*d*r*p-A*n*o*p+t*d*o*p+a*n*v*p-t*s*v*p-u*s*r*h+a*c*r*h+u*n*o*h-t*c*o*h-a*n*f*h+t*s*f*h},inverseMat4:function(e,t){t||(t=e);var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],f=e[9],p=e[10],A=e[11],d=e[12],v=e[13],h=e[14],I=e[15],y=n*o-r*s,m=n*l-i*s,w=n*u-a*s,g=r*l-i*o,E=r*u-a*o,T=i*u-a*l,b=c*v-f*d,D=c*h-p*d,P=c*I-A*d,R=f*h-p*v,C=f*I-A*v,_=p*I-A*h,B=1/(y*_-m*C+w*R+g*P-E*D+T*b);return t[0]=(o*_-l*C+u*R)*B,t[1]=(-r*_+i*C-a*R)*B,t[2]=(v*T-h*E+I*g)*B,t[3]=(-f*T+p*E-A*g)*B,t[4]=(-s*_+l*P-u*D)*B,t[5]=(n*_-i*P+a*D)*B,t[6]=(-d*T+h*w-I*m)*B,t[7]=(c*T-p*w+A*m)*B,t[8]=(s*C-o*P+u*b)*B,t[9]=(-n*C+r*P-a*b)*B,t[10]=(d*E-v*w+I*y)*B,t[11]=(-c*E+f*w-A*y)*B,t[12]=(-s*R+o*D-l*b)*B,t[13]=(n*R-r*D+i*b)*B,t[14]=(-d*g+v*m-h*y)*B,t[15]=(c*g-f*m+p*y)*B,t},traceMat4:function(e){return e[0]+e[5]+e[10]+e[15]},translationMat4v:function(e,t){var n=t||$.identityMat4();return n[12]=e[0],n[13]=e[1],n[14]=e[2],n},translationMat3v:function(e,t){var n=t||$.identityMat3();return n[6]=e[0],n[7]=e[1],n},translationMat4c:(H=new Y(3),function(e,t,n,r){return H[0]=e,H[1]=t,H[2]=n,$.translationMat4v(H,r)}),translationMat4s:function(e,t){return $.translationMat4c(e,e,e,t)},translateMat4v:function(e,t){return $.translateMat4c(e[0],e[1],e[2],t)},translateMat4c:function(e,t,n,r){var i=r[3];r[0]+=i*e,r[1]+=i*t,r[2]+=i*n;var a=r[7];r[4]+=a*e,r[5]+=a*t,r[6]+=a*n;var s=r[11];r[8]+=s*e,r[9]+=s*t,r[10]+=s*n;var o=r[15];return r[12]+=o*e,r[13]+=o*t,r[14]+=o*n,r},setMat4Translation:function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=e[15],n},rotationMat4v:function(e,t,n){var r,i,a,s,o,l,u=$.normalizeVec4([t[0],t[1],t[2],0],[]),c=Math.sin(e),f=Math.cos(e),p=1-f,A=u[0],d=u[1],v=u[2];return r=A*d,i=d*v,a=v*A,s=A*c,o=d*c,l=v*c,(n=n||$.mat4())[0]=p*A*A+f,n[1]=p*r+l,n[2]=p*a-o,n[3]=0,n[4]=p*r-l,n[5]=p*d*d+f,n[6]=p*i+s,n[7]=0,n[8]=p*a+o,n[9]=p*i-s,n[10]=p*v*v+f,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},rotationMat4c:function(e,t,n,r,i){return $.rotationMat4v(e,[t,n,r],i)},scalingMat4v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat4();return t[0]=e[0],t[5]=e[1],t[10]=e[2],t},scalingMat3v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat3();return t[0]=e[0],t[4]=e[1],t},scalingMat4c:function(){var e=new Y(3);return function(t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,$.scalingMat4v(e,i)}}(),scaleMat4c:function(e,t,n,r){return r[0]*=e,r[4]*=t,r[8]*=n,r[1]*=e,r[5]*=t,r[9]*=n,r[2]*=e,r[6]*=t,r[10]*=n,r[3]*=e,r[7]*=t,r[11]*=n,r},scaleMat4v:function(e,t){var n=e[0],r=e[1],i=e[2];return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,t},scalingMat4s:function(e){return $.scalingMat4c(e,e,e)},rotationTranslationMat4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.mat4(),r=e[0],i=e[1],a=e[2],s=e[3],o=r+r,l=i+i,u=a+a,c=r*o,f=r*l,p=r*u,A=i*l,d=i*u,v=a*u,h=s*o,I=s*l,y=s*u;return n[0]=1-(A+v),n[1]=f+y,n[2]=p-I,n[3]=0,n[4]=f-y,n[5]=1-(c+v),n[6]=d+h,n[7]=0,n[8]=p+I,n[9]=d-h,n[10]=1-(c+A),n[11]=0,n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},mat4ToEuler:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=$.clamp,i=e[0],a=e[4],s=e[8],o=e[1],l=e[5],u=e[9],c=e[2],f=e[6],p=e[10];return"XYZ"===t?(n[1]=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(n[0]=Math.atan2(-u,p),n[2]=Math.atan2(-a,i)):(n[0]=Math.atan2(f,l),n[2]=0)):"YXZ"===t?(n[0]=Math.asin(-r(u,-1,1)),Math.abs(u)<.99999?(n[1]=Math.atan2(s,p),n[2]=Math.atan2(o,l)):(n[1]=Math.atan2(-c,i),n[2]=0)):"ZXY"===t?(n[0]=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(n[1]=Math.atan2(-c,p),n[2]=Math.atan2(-a,l)):(n[1]=0,n[2]=Math.atan2(o,i))):"ZYX"===t?(n[1]=Math.asin(-r(c,-1,1)),Math.abs(c)<.99999?(n[0]=Math.atan2(f,p),n[2]=Math.atan2(o,i)):(n[0]=0,n[2]=Math.atan2(-a,l))):"YZX"===t?(n[2]=Math.asin(r(o,-1,1)),Math.abs(o)<.99999?(n[0]=Math.atan2(-u,l),n[1]=Math.atan2(-c,i)):(n[0]=0,n[1]=Math.atan2(s,p))):"XZY"===t&&(n[2]=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(n[0]=Math.atan2(f,l),n[1]=Math.atan2(s,i)):(n[0]=Math.atan2(-u,p),n[1]=0)),n},composeMat4:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.mat4();return $.quaternionToRotationMat4(t,r),$.scaleMat4v(n,r),$.translateMat4v(e,r),r},decomposeMat4:function(){var e=new Y(3),t=new Y(16);return function(n,r,i,a){e[0]=n[0],e[1]=n[1],e[2]=n[2];var s=$.lenVec3(e);e[0]=n[4],e[1]=n[5],e[2]=n[6];var o=$.lenVec3(e);e[8]=n[8],e[9]=n[9],e[10]=n[10];var l=$.lenVec3(e);$.determinantMat4(n)<0&&(s=-s),r[0]=n[12],r[1]=n[13],r[2]=n[14],t.set(n);var u=1/s,c=1/o,f=1/l;return t[0]*=u,t[1]*=u,t[2]*=u,t[4]*=c,t[5]*=c,t[6]*=c,t[8]*=f,t[9]*=f,t[10]*=f,$.mat4ToQuaternion(t,i),a[0]=s,a[1]=o,a[2]=l,this}}(),getColMat4:function(e,t){var n=4*t;return[e[n],e[n+1],e[n+2],e[n+3]]},setRowMat4:function(e,t,n){e[t]=n[0],e[t+4]=n[1],e[t+8]=n[2],e[t+12]=n[3]},lookAtMat4v:function(e,t,n,r){r||(r=$.mat4());var i,a,s,o,l,u,c,f,p,A,d=e[0],v=e[1],h=e[2],I=n[0],y=n[1],m=n[2],w=t[0],g=t[1],E=t[2];return d===w&&v===g&&h===E?$.identityMat4():(i=d-w,a=v-g,s=h-E,o=y*(s*=A=1/Math.sqrt(i*i+a*a+s*s))-m*(a*=A),l=m*(i*=A)-I*s,u=I*a-y*i,(A=Math.sqrt(o*o+l*l+u*u))?(o*=A=1/A,l*=A,u*=A):(o=0,l=0,u=0),c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,(A=Math.sqrt(c*c+f*f+p*p))?(c*=A=1/A,f*=A,p*=A):(c=0,f=0,p=0),r[0]=o,r[1]=c,r[2]=i,r[3]=0,r[4]=l,r[5]=f,r[6]=a,r[7]=0,r[8]=u,r[9]=p,r[10]=s,r[11]=0,r[12]=-(o*d+l*v+u*h),r[13]=-(c*d+f*v+p*h),r[14]=-(i*d+a*v+s*h),r[15]=1,r)},lookAtMat4c:function(e,t,n,r,i,a,s,o,l){return $.lookAtMat4v([e,t,n],[r,i,a],[s,o,l],[])},orthoMat4c:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/l,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=-2/u,s[11]=0,s[12]=-(e+t)/o,s[13]=-(r+n)/l,s[14]=-(a+i)/u,s[15]=1,s},frustumMat4v:function(e,t,n){n||(n=$.mat4());var r=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];$.addVec4(i,r,q),$.subVec4(i,r,J);var a=2*r[2],s=J[0],o=J[1],l=J[2];return n[0]=a/s,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a/o,n[6]=0,n[7]=0,n[8]=q[0]/s,n[9]=q[1]/o,n[10]=-q[2]/l,n[11]=-1,n[12]=0,n[13]=0,n[14]=-a*i[2]/l,n[15]=0,n},frustumMat4:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2*i/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/l,s[6]=0,s[7]=0,s[8]=(t+e)/o,s[9]=(r+n)/l,s[10]=-(a+i)/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i*2/u,s[15]=0,s},perspectiveMat4:function(e,t,n,r,i){var a=[],s=[];return a[2]=n,s[2]=r,s[1]=a[2]*Math.tan(e/2),a[1]=-s[1],s[0]=s[1]*t,a[0]=-s[0],$.frustumMat4v(a,s,i)},compareMat4:function(e,t){return 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]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},transformPoint3:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12],n[1]=e[1]*r+e[5]*i+e[9]*a+e[13],n[2]=e[2]*r+e[6]*i+e[10]*a+e[14],n},transformPoint4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4();return n[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],n[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],n[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],n[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],n},transformPoints3:function(e,t,n){for(var r,i,a,s,o,l=n||[],u=t.length,c=e[0],f=e[1],p=e[2],A=e[3],d=e[4],v=e[5],h=e[6],I=e[7],y=e[8],m=e[9],w=e[10],g=e[11],E=e[12],T=e[13],b=e[14],D=e[15],P=0;P2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2];e[3];var f=e[4],p=e[5],A=e[6];e[7];var d=e[8],v=e[9],h=e[10];e[11];var I=e[12],y=e[13],m=e[14];for(e[15],n=0;n2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:e,i=Math.cos(n),a=Math.sin(n),s=e[0]-t[0],o=e[1]-t[1];return r[0]=s*i-o*a+t[0],r[1]=s*a+o*i+t[1],e},rotateVec3X:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Y:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Z:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},projectVec4:function(e,t){var n=1/e[3];return(t=t||$.vec2())[0]=e[0]*n,t[1]=e[1]*n,t},unprojectVec3:(x=new Y(16),M=new Y(16),F=new Y(16),function(e,t,n,r){return this.transformVec3(this.mulMat4(this.inverseMat4(t,x),this.inverseMat4(n,M),F),e,r)}),lerpVec3:function(e,t,n,r,i,a){var s=a||$.vec3(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s},lerpMat4:function(e,t,n,r,i,a){var s=a||$.mat4(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s[3]=r[3]+o*(i[3]-r[3]),s[4]=r[4]+o*(i[4]-r[4]),s[5]=r[5]+o*(i[5]-r[5]),s[6]=r[6]+o*(i[6]-r[6]),s[7]=r[7]+o*(i[7]-r[7]),s[8]=r[8]+o*(i[8]-r[8]),s[9]=r[9]+o*(i[9]-r[9]),s[10]=r[10]+o*(i[10]-r[10]),s[11]=r[11]+o*(i[11]-r[11]),s[12]=r[12]+o*(i[12]-r[12]),s[13]=r[13]+o*(i[13]-r[13]),s[14]=r[14]+o*(i[14]-r[14]),s[15]=r[15]+o*(i[15]-r[15]),s},flatten:function(e){var t,n,r,i,a,s=[];for(t=0,n=e.length;t0&&void 0!==arguments[0]?arguments[0]:$.vec4();return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},eulerToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0]*$.DEGTORAD/2,i=e[1]*$.DEGTORAD/2,a=e[2]*$.DEGTORAD/2,s=Math.cos(r),o=Math.cos(i),l=Math.cos(a),u=Math.sin(r),c=Math.sin(i),f=Math.sin(a);return"XYZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"YXZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"ZXY"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"ZYX"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"YZX"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l-u*c*f):"XZY"===t&&(n[0]=u*o*l-s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l+u*c*f),n},mat4ToQuaternion:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),r=e[0],i=e[4],a=e[8],s=e[1],o=e[5],l=e[9],u=e[2],c=e[6],f=e[10],p=r+o+f;return p>0?(t=.5/Math.sqrt(p+1),n[3]=.25/t,n[0]=(c-l)*t,n[1]=(a-u)*t,n[2]=(s-i)*t):r>o&&r>f?(t=2*Math.sqrt(1+r-o-f),n[3]=(c-l)/t,n[0]=.25*t,n[1]=(i+s)/t,n[2]=(a+u)/t):o>f?(t=2*Math.sqrt(1+o-r-f),n[3]=(a-u)/t,n[0]=(i+s)/t,n[1]=.25*t,n[2]=(l+c)/t):(t=2*Math.sqrt(1+f-r-o),n[3]=(s-i)/t,n[0]=(a+u)/t,n[1]=(l+c)/t,n[2]=.25*t),n},vec3PairToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=Math.sqrt($.dotVec3(e,e)*$.dotVec3(t,t)),i=r+$.dotVec3(e,t);return i<1e-8*r?(i=0,Math.abs(e[0])>Math.abs(e[2])?(n[0]=-e[1],n[1]=e[0],n[2]=0):(n[0]=0,n[1]=-e[2],n[2]=e[1])):$.cross3Vec3(e,t,n),n[3]=i,$.normalizeQuaternion(n)},angleAxisToQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=e[3]/2,r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t},quaternionToEuler:function(){var e=new Y(16);return function(t,n,r){return r=r||$.vec3(),$.quaternionToRotationMat4(t,e),$.mat4ToEuler(e,n,r),r}}(),mulQuaternions:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],c=t[3];return n[0]=s*o+r*c+i*u-a*l,n[1]=s*l+i*c+a*o-r*u,n[2]=s*u+a*c+r*l-i*o,n[3]=s*c-r*o-i*l-a*u,n},vec3ApplyQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2],s=e[0],o=e[1],l=e[2],u=e[3],c=u*r+o*a-l*i,f=u*i+l*r-s*a,p=u*a+s*i-o*r,A=-s*r-o*i-l*a;return n[0]=c*u+A*-s+f*-l-p*-o,n[1]=f*u+A*-o+p*-s-c*-l,n[2]=p*u+A*-l+c*-o-f*-s,n},quaternionToMat4:function(e,t){t=$.identityMat4(t);var n=e[0],r=e[1],i=e[2],a=e[3],s=2*n,o=2*r,l=2*i,u=s*a,c=o*a,f=l*a,p=s*n,A=o*n,d=l*n,v=o*r,h=l*r,I=l*i;return t[0]=1-(v+I),t[1]=A+f,t[2]=d-c,t[4]=A-f,t[5]=1-(p+I),t[6]=h+u,t[8]=d+c,t[9]=h-u,t[10]=1-(p+v),t},quaternionToRotationMat4:function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],s=n+n,o=r+r,l=i+i,u=n*s,c=n*o,f=n*l,p=r*o,A=r*l,d=i*l,v=a*s,h=a*o,I=a*l;return t[0]=1-(p+d),t[4]=c-I,t[8]=f+h,t[1]=c+I,t[5]=1-(u+d),t[9]=A-v,t[2]=f-h,t[6]=A+v,t[10]=1-(u+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=$.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n,t[3]=e[3]/n,t},conjugateQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},inverseQuaternion:function(e,t){return $.normalizeQuaternion($.conjugateQuaternion(e,t))},quaternionToAngleAxis:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=(e=$.normalizeQuaternion(e,Z))[3],r=2*Math.acos(n),i=Math.sqrt(1-n*n);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=r,t},AABB3:function(e){return new Y(e||6)},AABB2:function(e){return new Y(e||4)},OBB3:function(e){return new Y(e||32)},OBB2:function(e){return new Y(e||16)},Sphere3:function(e,t,n,r){return new Y([e,t,n,r])},transformOBB3:function(e,t){var n,r,i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;no?s:o,a[1]+=l>u?l:u,a[2]+=c>f?c:f,Math.abs($.lenVec3(a))}}(),getAABB3Area:function(e){return(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2])},getAABB3Center:function(e,t){var n=t||$.vec3();return n[0]=(e[0]+e[3])/2,n[1]=(e[1]+e[4])/2,n[2]=(e[2]+e[5])/2,n},getAABB2Center:function(e,t){var n=t||$.vec2();return n[0]=(e[2]+e[0])/2,n[1]=(e[3]+e[1])/2,n},collapseAABB3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$.AABB3();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MAX_DOUBLE,e[3]=$.MIN_DOUBLE,e[4]=$.MIN_DOUBLE,e[5]=$.MIN_DOUBLE,e},AABB3ToOBB3:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.OBB3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t},positions3ToAABB3:function(){var e=new Y(3);return function(t,n,r){n=n||$.AABB3();for(var i,a,s,o=$.MAX_DOUBLE,l=$.MAX_DOUBLE,u=$.MAX_DOUBLE,c=$.MIN_DOUBLE,f=$.MIN_DOUBLE,p=$.MIN_DOUBLE,A=0,d=t.length;Ac&&(c=i),a>f&&(f=a),s>p&&(p=s);return n[0]=o,n[1]=l,n[2]=u,n[3]=c,n[4]=f,n[5]=p,n}}(),OBB3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToSphere3:function(){var e=new Y(3);return function(t,n){n=n||$.vec4();var r,i=0,a=0,s=0,o=t.length;for(r=0;ru&&(u=l);return n[3]=u,n}}(),positions3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=0;for(i=0;iu&&(u=c);return r[3]=u,r}}(),OBB3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=l/4;for(i=0;if&&(f=c);return r[3]=f,r}}(),getSphere3Center:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},getPositionsCenter:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(),n=0,r=0,i=0,a=0,s=e.length;at[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]n&&(e[0]=n),e[1]>r&&(e[1]=r),e[2]>i&&(e[2]=i),e[3]0&&void 0!==arguments[0]?arguments[0]:$.AABB2();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MIN_DOUBLE,e[3]=$.MIN_DOUBLE,e},point3AABB3Intersect:function(e,t){return e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(r=e[0]*n[0],i=e[0]*n[3]):(r=e[0]*n[3],i=e[0]*n[0]),e[1]>0?(r+=e[1]*n[1],i+=e[1]*n[4]):(r+=e[1]*n[4],i+=e[1]*n[1]),e[2]>0?(r+=e[2]*n[2],i+=e[2]*n[5]):(r+=e[2]*n[5],i+=e[2]*n[2]),r<=-t&&i<=-t?-1:r>=-t&&i>=-t?1:0},OBB3ToAABB2:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB2(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MIN_DOUBLE,l=$.MIN_DOUBLE,u=0,c=e.length;uo&&(o=t),n>l&&(l=n);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i},expandAABB2:function(e,t){return e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]3&&void 0!==arguments[3]?arguments[3]:e,i=.5*(e[0]+1),a=.5*(e[1]+1),s=.5*(e[2]+1),o=.5*(e[3]+1);return r[0]=Math.floor(i*t),r[1]=n-Math.floor(o*n),r[2]=Math.floor(s*t),r[3]=n-Math.floor(a*n),r},tangentQuadraticBezier:function(e,t,n,r){return 2*(1-e)*(n-t)+2*e*(r-n)},tangentQuadraticBezier3:function(e,t,n,r,i){return-3*t*(1-e)*(1-e)+3*n*(1-e)*(1-e)-6*e*n*(1-e)+6*e*r*(1-e)-3*e*e*r+3*e*e*i},tangentSpline:function(e){return 6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e)},catmullRomInterpolate:function(e,t,n,r,i){var a=.5*(n-e),s=.5*(r-t),o=i*i;return(2*t-2*n+a+s)*(i*o)+(-3*t+3*n-2*a-s)*o+a*i+t},b2p0:function(e,t){var n=1-e;return n*n*t},b2p1:function(e,t){return 2*(1-e)*e*t},b2p2:function(e,t){return e*e*t},b2:function(e,t,n,r){return this.b2p0(e,t)+this.b2p1(e,n)+this.b2p2(e,r)},b3p0:function(e,t){var n=1-e;return n*n*n*t},b3p1:function(e,t){var n=1-e;return 3*n*n*e*t},b3p2:function(e,t){return 3*(1-e)*e*e*t},b3p3:function(e,t){return e*e*e*t},b3:function(e,t,n,r,i){return this.b3p0(e,t)+this.b3p1(e,n)+this.b3p2(e,r)+this.b3p3(e,i)},triangleNormal:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.vec3(),i=t[0]-e[0],a=t[1]-e[1],s=t[2]-e[2],o=n[0]-e[0],l=n[1]-e[1],u=n[2]-e[2],c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,A=Math.sqrt(c*c+f*f+p*p);return 0===A?(r[0]=0,r[1]=0,r[2]=0):(r[0]=c/A,r[1]=f/A,r[2]=p/A),r},rayTriangleIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3),i=new Y(3);return function(a,s,o,l,u,c){c=c||$.vec3();var f=$.subVec3(l,o,e),p=$.subVec3(u,o,t),A=$.cross3Vec3(s,p,n),d=$.dotVec3(f,A);if(d<1e-6)return null;var v=$.subVec3(a,o,r),h=$.dotVec3(v,A);if(h<0||h>d)return null;var I=$.cross3Vec3(v,f,i),y=$.dotVec3(s,I);if(y<0||h+y>d)return null;var m=$.dotVec3(p,I)/d;return c[0]=a[0]+m*s[0],c[1]=a[1]+m*s[1],c[2]=a[2]+m*s[2],c}}(),rayPlaneIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3);return function(i,a,s,o,l,u){u=u||$.vec3(),a=$.normalizeVec3(a,e);var c=$.subVec3(o,s,t),f=$.subVec3(l,s,n),p=$.cross3Vec3(c,f,r);$.normalizeVec3(p,p);var A=-$.dotVec3(s,p),d=-($.dotVec3(i,p)+A)/$.dotVec3(a,p);return u[0]=i[0]+d*a[0],u[1]=i[1]+d*a[1],u[2]=i[2]+d*a[2],u}}(),cartesianToBarycentric:function(){var e=new Y(3),t=new Y(3),n=new Y(3);return function(r,i,a,s,o){var l=$.subVec3(s,i,e),u=$.subVec3(a,i,t),c=$.subVec3(r,i,n),f=$.dotVec3(l,l),p=$.dotVec3(l,u),A=$.dotVec3(l,c),d=$.dotVec3(u,u),v=$.dotVec3(u,c),h=f*d-p*p;if(0===h)return null;var I=1/h,y=(d*A-p*v)*I,m=(f*v-p*A)*I;return o[0]=1-y-m,o[1]=m,o[2]=y,o}}(),barycentricInsideTriangle:function(e){var t=e[1],n=e[2];return n>=0&&t>=0&&n+t<1},barycentricToCartesian:function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:$.vec3(),a=e[0],s=e[1],o=e[2];return i[0]=t[0]*a+n[0]*s+r[0]*o,i[1]=t[1]*a+n[1]*s+r[1]*o,i[2]=t[2]*a+n[2]*s+r[2]*o,i},mergeVertices:function(e,t,n,r){var i,a,s,o,l,u,c={},f=[],p=[],A=t?[]:null,d=n?[]:null,v=[],h=Math.pow(10,4),I=0;for(l=0,u=e.length;l>24&255,s=f>>16&255,a=f>>8&255,i=255&f,r=3*t[d],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+1],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+2],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,f++;return{positions:u,colors:c}},faceToVertexNormals:function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=A.smoothNormalsAngleThreshold||20,v={},h=[],I={},y=4,m=Math.pow(10,y);for(l=0,c=e.length;ll[3]&&(l[3]=i[p]),i[p+1]l[4]&&(l[4]=i[p+1]),i[p+2]l[5]&&(l[5]=i[p+2])}if(n.length<20||a>10)return u.triangles=n,u.leaf=!0,u;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];var A=0;e[1]>e[A]&&(A=1),e[2]>e[A]&&(A=2),u.splitDim=A;var d=(l[A]+l[A+3])/2,v=new Array(n.length),h=0,I=new Array(n.length),y=0;for(s=0,o=n.length;s2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t},octDecodeVec2s:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t}};$.buildEdgeIndices=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}(),$.planeClipsPositions3=function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,i=0,a=n.length;i=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&$.containsAABB3(e.left.aabb,r))this._insertEntity(e.left,t,n+1);else if(e.right&&$.containsAABB3(e.right.aabb,r))this._insertEntity(e.right,t,n+1);else{var i=e.aabb;ee[0]=i[3]-i[0],ee[1]=i[4]-i[1],ee[2]=i[5]-i[2];var a=0;if(ee[1]>ee[a]&&(a=1),ee[2]>ee[a]&&(a=2),!e.left){var s=i.slice();if(s[a+3]=(i[a]+i[a+3])/2,e.left={aabb:s},$.containsAABB3(s,r))return void this._insertEntity(e.left,t,n+1)}if(!e.right){var o=i.slice();if(o[a]=(i[a]+i[a+3])/2,e.right={aabb:o},$.containsAABB3(o,r))return void this._insertEntity(e.right,t,n+1)}e.entities=e.entities||[],e.entities.push(t)}}},{key:"destroy",value:function(){var e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}]),e}(),ne=function(){function e(){b(this,e),this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}return P(e,[{key:"length",get:function(){return this._length}},{key:"shift",value:function(){if(this._index>=this._headLength){var e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}var t=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,t}},{key:"push",value:function(e){return this._length++,this._tail.push(e),this}},{key:"unshift",value:function(e){return this._head[--this._index]=e,this._length++,this}}]),e}(),re={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var ie=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],n=e[0].charCodeAt(0),r=n+e[1],i=n;i0&&void 0!==arguments[0]?arguments[0]:-1,r=(new Date).getTime(),i=0;fe.length>0&&(n<0||r0&&oe>0){var n=1e3/oe;ve+=n,Ae.push(n),Ae.length>=30&&(ve-=Ae.shift()),re.frame.fps=Math.round(ve/Ae.length)}!function(e){var t=he.runTasks(e+10),n=he.getNumTasks();re.frame.tasksRun=t,re.frame.tasksScheduled=n,re.frame.tasksBudget=10}(t),function(e){for(var t in pe.time=e,he.scenes)if(he.scenes.hasOwnProperty(t)){var n=he.scenes[t];pe.sceneId=t,pe.startTime=n.startTime,pe.deltaTime=null!=pe.prevTime?pe.time-pe.prevTime:0,n.fire("tick",pe,!0)}pe.prevTime=e}(t),function(){var e,t,n,r,i,a=he.scenes,s=!1;for(i in a)a.hasOwnProperty(i)&&(e=a[i],(t=ue[i])||(t=ue[i]={}),n=e.ticksPerOcclusionTest,t.ticksPerOcclusionTest!==n&&(t.ticksPerOcclusionTest=n,t.renderCountdown=n),--e.occlusionTestCountdown<=0&&(e.doOcclusionTest(),e.occlusionTestCountdown=n),r=e.ticksPerRender,t.ticksPerRender!==r&&(t.ticksPerRender=r,t.renderCountdown=r),0==--t.renderCountdown&&(e.render(s),t.renderCountdown=r))}(),de=t,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(e):requestAnimationFrame(e)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(Ie):requestAnimationFrame(Ie);var ye=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,e),this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=n.viewer;else{if("Scene"===t.type)this.scene=t;else{if(!(t instanceof e))throw"Invalid param: owner must be a Component";this.scene=t.scene}this._owner=t}this._dontClear=!!n.dontClear,this._renderer=this.scene._renderer,this.meta=n.meta||{},this.id=n.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,t&&t._own(this)}return P(e,[{key:"type",get:function(){return"Component"}},{key:"isComponent",get:function(){return!0}},{key:"glRedraw",value:function(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}},{key:"glResort",value:function(){this._renderer&&this._renderer.needStateSort()}},{key:"owner",get:function(){return this._owner}},{key:"isType",value:function(e){return this.type===e}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==n&&(this._events[e]=t||!0);var r,i=this._eventSubs[e];if(i)for(var a in i)i.hasOwnProperty(a)&&(r=i[a],this._eventCallDepth++,this._eventCallDepth<300?r.callback.call(r.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}},{key:"on",value:function(e,t,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new G),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});var r=this._eventSubs[e];r?this._eventSubsNum[e]++:(r={},this._eventSubs[e]=r,this._eventSubsNum[e]=1);var i=this._subIdMap.addItem();r[i]={callback:t,scope:n||this},this._subIdEvents[i]=e;var a=this._events[e];return void 0!==a&&t.call(n||this,a),i}},{key:"off",value:function(e){if(null!=e&&this._subIdEvents){var t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];var n=this._eventSubs[t];n&&(delete n[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}}},{key:"once",value:function(e,t,n){var r=this,i=this.on(e,(function(e){r.off(i),t.call(n||this,e)}),n)}},{key:"hasSubs",value:function(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}},{key:"log",value:function(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}},{key:"_message",value:function(e){return" ["+this.type+" "+le.inQuotes(this.id)+"]: "+e}},{key:"warn",value:function(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}},{key:"error",value:function(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}},{key:"_attach",value:function(e){var t=e.name;if(t){var n=e.component,r=e.sceneDefault,i=e.sceneSingleton,a=e.type,s=e.on,o=!1!==e.recompiles;if(n&&(le.isNumeric(n)||le.isString(n))){var l=n;if(!(n=this.scene.components[l]))return void this.error("Component not found: "+le.inQuotes(l))}if(!n)if(!0===i){var u=this.scene.types[a];for(var c in u)if(u.hasOwnProperty){n=u[c];break}if(!n)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===r&&!(n=this.scene[t]))return this.error("Scene has no default component for '"+t+"'"),null;if(n){if(n.scene.id!==this.scene.id)return void this.error("Not in same scene: "+n.type+" "+le.inQuotes(n.id));if(a&&!n.isType(a))return void this.error("Expected a "+a+" type or subtype: "+n.type+" "+le.inQuotes(n.id))}this._attachments||(this._attachments={});var f,p,A,d=this._attached[t];if(d){if(n&&d.id===n.id)return;var v=this._attachments[d.id];for(p=0,A=(f=v.subs).length;p=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}]),e}(),Te=P((function e(){b(this,e),this.planes=[new Ee,new Ee,new Ee,new Ee,new Ee,new Ee]}));function be(e,t,n){var r=$.mulMat4(n,t,ge),i=r[0],a=r[1],s=r[2],o=r[3],l=r[4],u=r[5],c=r[6],f=r[7],p=r[8],A=r[9],d=r[10],v=r[11],h=r[12],I=r[13],y=r[14],m=r[15];e.planes[0].set(o-i,f-l,v-p,m-h),e.planes[1].set(o+i,f+l,v+p,m+h),e.planes[2].set(o-a,f-u,v-A,m-I),e.planes[3].set(o+a,f+u,v+A,m+I),e.planes[4].set(o-s,f-c,v-d,m-y),e.planes[5].set(o+s,f+c,v+d,m+y)}function De(e,t){var n=Te.INSIDE,r=me,i=we;r[0]=t[0],r[1]=t[1],r[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];for(var a=[r,i],s=0;s<6;++s){var o=e.planes[s];if(o.normal[0]*a[o.testVertex[0]][0]+o.normal[1]*a[o.testVertex[1]][1]+o.normal[2]*a[o.testVertex[2]][2]+o.offset<0)return Te.OUTSIDE;o.normal[0]*a[1-o.testVertex[0]][0]+o.normal[1]*a[1-o.testVertex[1]][1]+o.normal[2]*a[1-o.testVertex[2]][2]+o.offset<0&&(n=Te.INTERSECT)}return n}Te.INSIDE=0,Te.INTERSECT=1,Te.OUTSIDE=2;var Pe=function(e){I(n,ye);var t=m(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(b(this,n),!r.viewer)throw"[MarqueePicker] Missing config: viewer";if(!r.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";return(e=t.call(this,r.viewer.scene,r)).viewer=r.viewer,e._objectsKdTree3=r.objectsKdTree3,e._canvasMarqueeCorner1=$.vec2(),e._canvasMarqueeCorner2=$.vec2(),e._canvasMarquee=$.AABB2(),e._marqueeFrustum=new Te,e._marqueeFrustumProjMat=$.mat4(),e._pickMode=!1,e._marqueeElement=document.createElement("div"),document.body.appendChild(e._marqueeElement),e._marqueeElement.style.position="absolute",e._marqueeElement.style["z-index"]="40000005",e._marqueeElement.style.width="8px",e._marqueeElement.style.height="8px",e._marqueeElement.style.visibility="hidden",e._marqueeElement.style.top="0px",e._marqueeElement.style.left="0px",e._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",e._marqueeElement.style.opacity=1,e._marqueeElement.style["pointer-events"]="none",e}return P(n,[{key:"setMarqueeCorner1",value:function(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarqueeCorner2",value:function(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarquee",value:function(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}},{key:"setMarqueeVisible",value:function(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}},{key:"getMarqueeVisible",value:function(){return this._marqueVisible}},{key:"setPickMode",value:function(e){if(e!==n.PICK_MODE_INSIDE&&e!==n.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===n.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}},{key:"getPickMode",value:function(){return this._pickMode}},{key:"clear",value:function(){this.fire("clear",{})}},{key:"pick",value:function(){var e=this;this._updateMarquee(),this._buildMarqueeFrustum();var t=[];return(this._canvasMarquee[2]-this._canvasMarquee[0]>3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&function r(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(a===Te.INTERSECT&&(a=De(e._marqueeFrustum,i.aabb)),a!==Te.OUTSIDE){if(i.entities)for(var s=i.entities,o=0,l=s.length;o3||n>3)&&f.pick()}})),document.addEventListener("mouseup",(function(e){r.getActive()&&0===e.button&&(clearTimeout(c),A&&(f.setMarqueeVisible(!1),A=!1,d=!1,v=!0,f.viewer.cameraControl.pointerEnabled=!0))}),!0),p.addEventListener("mousemove",(function(e){r.getActive()&&0===e.button&&d&&(clearTimeout(c),A&&(s=e.pageX,o=e.pageY,u=e.offsetX,f.setMarqueeVisible(!0),f.setMarqueeCorner2([s,o]),f.setPickMode(l0}},{key:"log",value:function(e){console.log("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"warn",value:function(e){console.warn("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"error",value:function(e){console.error("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.removePlugin(this)}}]),e}(),_e=$.vec3(),Be=function(){var e=new Float64Array(16),t=new Float64Array(4),n=new Float64Array(4);return function(r,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,$.transformVec4(r,t,n),$.setMat4Translation(r,n,a),a.slice()}}();function Oe(e,t,n){var r=Float32Array.from([e[0]])[0],i=e[0]-r,a=Float32Array.from([e[1]])[0],s=e[1]-a,o=Float32Array.from([e[2]])[0],l=e[2]-o;t[0]=r,t[1]=a,t[2]=o,n[0]=i,n[1]=s,n[2]=l}function Se(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e3,i=$.getPositionsCenter(e,_e),a=Math.round(i[0]/r)*r,s=Math.round(i[1]/r)*r,o=Math.round(i[2]/r)*r;n[0]=a,n[1]=s,n[2]=o;var l=0!==n[0]||0!==n[1]||0!==n[2];if(l)for(var u=0,c=e.length;u0?this.meshes[0]._colorize[3]/255:1},set:function(e){if(0!==this.meshes.length){var t=null!=e,n=this.meshes[0]._colorize[3],r=255;if(t){if(e<0?e=0:e>1&&(e=1),n===(r=Math.floor(255*e)))return}else if(n===(r=255))return;for(var i=0,a=this.meshes.length;i1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._color=r.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=r.thickness||1,this._thicknessClickable=r.thicknessClickable||6,this._visible=!0,this._culled=!1;var i=this._wire,a=i.style;a.border="solid "+this._thickness+"px "+this._color,a.position="absolute",a["z-index"]=void 0===r.zIndex?"2000001":r.zIndex,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._wireClickable,o=s.style;o.border="solid "+this._thicknessClickable+"px "+this._color,o.position="absolute",o["z-index"]=void 0===r.zIndex?"2000002":r.zIndex+1,o.width="0px",o.height="0px",o.visibility="visible",o.top="0px",o.left="0px",o["-webkit-transform-origin"]="0 0",o["-moz-transform-origin"]="0 0",o["-ms-transform-origin"]="0 0",o["-o-transform-origin"]="0 0",o["transform-origin"]="0 0",o["-webkit-transform"]="rotate(0deg)",o["-moz-transform"]="rotate(0deg)",o["-ms-transform"]="rotate(0deg)",o["-o-transform"]="rotate(0deg)",o.transform="rotate(0deg)",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}return P(e,[{key:"visible",get:function(){return"visible"===this._wire.style.visibility}},{key:"_update",value:function(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,n=this._wire.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)";var r=this._wireClickable.style;r.width=Math.round(e)+"px",r.left=Math.round(this._x1)+"px",r.top=Math.round(this._y1)+"px",r["-webkit-transform"]="rotate("+t+"deg)",r["-moz-transform"]="rotate("+t+"deg)",r["-ms-transform"]="rotate("+t+"deg)",r["-o-transform"]="rotate("+t+"deg)",r.transform="rotate("+t+"deg)"}},{key:"setStartAndEnd",value:function(e,t,n,r){this._x1=e,this._y1=t,this._x2=n,this._y2=r,this._update()}},{key:"setColor",value:function(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}},{key:"setOpacity",value:function(e){this._wire.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}},{key:"destroy",value:function(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}]),e}(),Je=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var i=this._dot,a=i.style;a["border-radius"]="25px",a.border="solid 2px white",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"40000005":r.zIndex,a.width="8px",a.height="8px",a.visibility=!1!==r.visible?"visible":"hidden",a.top="0px",a.left="0px",a["box-shadow"]="0 2px 5px 0 #182A3D;",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._dotClickable,o=s.style;o["border-radius"]="35px",o.border="solid 10px white",o.position="absolute",o["z-index"]=void 0===r.zIndex?"40000007":r.zIndex+1,o.width="8px",o.height="8px",o.visibility="visible",o.top="0px",o.left="0px",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.borderColor)}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._dot.style;n.left=Math.round(e)-4+"px",n.top=Math.round(t)-4+"px";var r=this._dotClickable.style;r.left=Math.round(e)-9+"px",r.top=Math.round(t)-9+"px"}},{key:"setFillColor",value:function(e){this._dot.style.background=e||"lightgreen"}},{key:"setBorderColor",value:function(e){this._dot.style.border="solid 2px"+(e||"black")}},{key:"setOpacity",value:function(e){this._dot.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}},{key:"destroy",value:function(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}]),e}(),Ze=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-label-highlighted",this._prefix=r.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var i=this._label,a=i.style;a["border-radius"]="5px",a.color="white",a.padding="4px",a.border="solid 1px",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"5000005":r.zIndex,a.width="auto",a.height="auto",a.visibility="visible",a.top="0px",a.left="0px",a["pointer-events"]="all",a.opacity=1,r.onContextMenu,i.innerText="",t.appendChild(i),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.fillColor),this.setText(r.text),r.onMouseOver&&i.addEventListener("mouseover",(function(e){r.onMouseOver(e,n),e.preventDefault()})),r.onMouseLeave&&i.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n),e.preventDefault()})),r.onMouseWheel&&i.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&i.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()}))}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._label.style;n.left=Math.round(e)-20+"px",n.top=Math.round(t)-12+"px"}},{key:"setPosOnWire",value:function(e,t,n,r){var i=e+.5*(n-e),a=t+.5*(r-t),s=this._label.style;s.left=Math.round(i)-20+"px",s.top=Math.round(a)-12+"px"}},{key:"setPosBetweenWires",value:function(e,t,n,r,i,a){var s=(e+n+i)/3,o=(t+r+a)/3,l=this._label.style;l.left=Math.round(s)-20+"px",l.top=Math.round(o)-12+"px"}},{key:"setText",value:function(e){this._label.innerHTML=this._prefix+(e||"")}},{key:"setFillColor",value:function(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}},{key:"setBorderColor",value:function(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}},{key:"setOpacity",value:function(e){this._label.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}},{key:"setClickable",value:function(e){this._label.style["pointer-events"]=e?"all":"none"}},{key:"destroy",value:function(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}]),e}(),$e=$.vec3(),et=$.vec3(),tt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._color=i.color||e.defaultColor;var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._cornerMarker=new Xe(a,i.corner),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._cornerWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(12),r._vp=new Float64Array(12),r._pp=new Float64Array(12),r._cp=new Int16Array(6);var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._cornerDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._originWire=new qe(r._container,{color:r._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetWire=new qe(r._container,{color:r._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._angleLabel=new Ze(r._container,{fillColor:r._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._visible=!1,r._originVisible=!1,r._cornerVisible=!1,r._targetVisible=!1,r._originWireVisible=!1,r._targetWireVisible=!1,r._angleVisible=!1,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._cornerMarker.on("worldPos",(function(e){r._cornerWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.cornerVisible=i.cornerVisible,r.targetVisible=i.targetVisible,r.originWireVisible=i.originWireVisible,r.targetWireVisible=i.targetWireVisible,r.angleVisible=i.angleVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){var t=-.3,n=this._originMarker.viewPos[2],r=this._cornerMarker.viewPos[2],i=this._targetMarker.viewPos[2];if(n>t||r>t||i>t)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var a=this._pp,s=this._cp,o=e.canvas.canvas.getBoundingClientRect(),l=this._container.getBoundingClientRect(),u=o.top-l.top,c=o.left-l.left,f=e.canvas.boundary,p=f[2],A=f[3],d=0,v=0,h=a.length;v1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._mouseState=0,r._currentAngleMeasurement=null,r._initMarkerDiv(),r._onMouseHoverSurface=null,r._onHoverNothing=null,r._onPickedNothing=null,r._onPickedSurface=null,r._onInputMouseDown=null,r._onInputMouseUp=null,r._snapping=!1!==i.snapping,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this.markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.angleMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this.markerDiv||this._initMarkerDiv(),this.angleMeasurementsPlugin;var t=this.scene;t.input;var n=t.canvas.canvas,r=this.angleMeasurementsPlugin.viewer.cameraControl,i=this.pointerLens,a=!1,s=!1,o=0,l=0,u=$.vec3(),c=$.vec2();this._currentAngleMeasurement=null,this._onMouseHoverSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){t.snappedToVertex||t.snappedToEdge?(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,i.snapped=!0),e.markerDiv.style.background="greenyellow",e.markerDiv.style.border="2px solid green"):(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.canvasPos,i.snapped=!1),e.markerDiv.style.background="pink",e.markerDiv.style.border="2px solid red");var r=t.snappedCanvasPos||t.canvasPos;switch(a=!0,s=t.entity,u.set(t.worldPos),c.set(r),e._mouseState){case 0:e.markerDiv.style.marginLeft="".concat(r[0]-5,"px"),e.markerDiv.style.marginTop="".concat(r[1]-5,"px");break;case 1:e._currentAngleMeasurement&&(e._currentAngleMeasurement.originWireVisible=!0,e._currentAngleMeasurement.targetWireVisible=!1,e._currentAngleMeasurement.cornerVisible=!0,e._currentAngleMeasurement.angleVisible=!1,e._currentAngleMeasurement.corner.worldPos=t.worldPos),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer";break;case 2:e._currentAngleMeasurement&&(e._currentAngleMeasurement.targetWireVisible=!0,e._currentAngleMeasurement.targetVisible=!0,e._currentAngleMeasurement.angleVisible=!0,e._currentAngleMeasurement.target.worldPos=t.worldPos),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer"}})),n.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(o=e.clientX,l=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=function(t){if(1===t.which&&!(t.clientX>o+20||t.clientXl+20||t.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"AngleMeasurements",e))._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new rt(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.corner,i=t.target,a=new tt(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},corner:{entity:r.entity,worldPos:r.worldPos},target:{entity:i.entity,worldPos:i.worldPos},visible:t.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[a.id]=a,a.on("destroyed",(function(){delete e._measurements[a.id]})),this.fire("measurementCreated",a),a}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t

";le.isArray(t)&&(t=t.join("")),t=this._renderTemplate(t);var n=document.createRange().createContextualFragment(t);this._marker=n.firstChild,this._container.appendChild(this._marker),this._marker.style.visibility=this._markerShown?"visible":"hidden",this._marker.addEventListener("click",(function(){e.plugin.fire("markerClicked",e)})),this._marker.addEventListener("mouseenter",(function(){e.plugin.fire("markerMouseEnter",e)})),this._marker.addEventListener("mouseleave",(function(){e.plugin.fire("markerMouseLeave",e)})),this._marker.addEventListener("wheel",(function(t){e.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",t))}))}if(!this._labelExternal){this._label&&(this._container.removeChild(this._label),this._label=null);var r=this._labelHTML||"

";le.isArray(r)&&(r=r.join("")),r=this._renderTemplate(r);var i=document.createRange().createContextualFragment(r);this._label=i.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(function(t){e.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",t))}))}}},{key:"_updatePosition",value:function(){var e=this.scene.canvas.boundary,t=e[0],n=e[1],r=this.canvasPos;this._marker.style.left=Math.floor(t+r[0])-12+"px",this._marker.style.top=Math.floor(n+r[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+r[0]+20)+"px",this._label.style.top=Math.floor(n+r[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}},{key:"_renderTemplate",value:function(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){var n=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),n)}return e}},{key:"setMarkerShown",value:function(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}},{key:"getMarkerShown",value:function(){return this._markerShown}},{key:"setLabelShown",value:function(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}},{key:"getLabelShown",value:function(){return this._labelShown}},{key:"setField",value:function(e,t){this._values[e]=t||"",this._htmlDirty=!0}},{key:"getField",value:function(e){return this._values[e]}},{key:"setValues",value:function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];this.setField(t,n)}}},{key:"getValues",value:function(){return this._values}},{key:"destroy",value:function(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),st=$.vec3(),ot=$.vec3(),lt=$.vec3(),ut=function(e){I(n,Ce);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,"Annotations",e))._labelHTML=r.labelHTML||"
",i._markerHTML=r.markerHTML||"
",i._container=r.container||document.body,i._values=r.values||{},i.annotations={},i.surfaceOffset=r.surfaceOffset,i}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){if("clearAnnotations"===e)this.clear()}},{key:"surfaceOffset",get:function(){return this._surfaceOffset},set:function(e){null==e&&(e=.3),this._surfaceOffset=e}},{key:"createAnnotation",value:function(e){var t,n,r=this;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){var i=e.pickResult;if(i.worldPos&&i.worldNormal){var a=$.normalizeVec3(i.worldNormal,st),s=$.mulVec3Scalar(a,this._surfaceOffset,ot);t=$.addVec3(i.worldPos,s,lt),n=i.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,n=e.entity;var o=null;e.markerElementId&&((o=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var l=null;e.labelElementId&&((l=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));var u=new at(this.viewer.scene,{id:e.id,plugin:this,entity:n,worldPos:t,container:this._container,markerElement:o,labelElement:l,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:le.apply(e.values,le.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[u.id]=u,u.on("destroyed",(function(){delete r.annotations[u.id],r.fire("annotationDestroyed",u.id)})),this.fire("annotationCreated",u.id),u}},{key:"destroyAnnotation",value:function(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}},{key:"clear",value:function(){for(var e=Object.keys(this.annotations),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._canvas=i.canvas,r._element=null,r._isCustom=!1,i.elementId&&(r._element=document.getElementById(i.elementId),r._element?r._adjustPosition():r.error("Can't find given Spinner HTML element: '"+i.elementId+"' - will automatically create default element")),r._element||r._createDefaultSpinner(),r.processes=0,r}return P(n,[{key:"type",get:function(){return"Spinner"}},{key:"_createDefaultSpinner",value:function(){this._injectDefaultCSS();var e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}},{key:"_injectDefaultCSS",value:function(){var e="xeokit-spinner-css";if(!document.getElementById(e)){var t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}}},{key:"_adjustPosition",value:function(){if(!this._isCustom){var e=this._canvas,t=this._element,n=t.style;n.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",n.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}}},{key:"processes",get:function(){return this._processes},set:function(e){if(e=e||0,this._processes!==e&&!(e<0)){var t=this._processes;this._processes=e;var n=this._element;n&&(n.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}}},{key:"_destroy",value:function(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);var e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}]),n}(),ft=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"],pt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._backgroundColor=$.vec3([i.backgroundColor?i.backgroundColor[0]:1,i.backgroundColor?i.backgroundColor[1]:1,i.backgroundColor?i.backgroundColor[2]:1]),r._backgroundColorFromAmbientLight=!!i.backgroundColorFromAmbientLight,r.canvas=i.canvas,r.gl=null,r.webgl2=!1,r.transparent=!!i.transparent,r.contextAttr=i.contextAttr||{},r.contextAttr.alpha=r.transparent,r.contextAttr.preserveDrawingBuffer=!!r.contextAttr.preserveDrawingBuffer,r.contextAttr.stencil=!1,r.contextAttr.premultipliedAlpha=!!r.contextAttr.premultipliedAlpha,r.contextAttr.antialias=!1!==r.contextAttr.antialias,r.resolutionScale=i.resolutionScale,r.canvas.width=Math.round(r.canvas.clientWidth*r._resolutionScale),r.canvas.height=Math.round(r.canvas.clientHeight*r._resolutionScale),r.boundary=[r.canvas.offsetLeft,r.canvas.offsetTop,r.canvas.clientWidth,r.canvas.clientHeight],r._initWebGL(i);var a=g(r);r.canvas.addEventListener("webglcontextlost",r._webglcontextlostListener=function(e){console.time("webglcontextrestored"),a.scene._webglContextLost(),a.fire("webglcontextlost"),e.preventDefault()},!1),r.canvas.addEventListener("webglcontextrestored",r._webglcontextrestoredListener=function(e){a._initWebGL(),a.gl&&(a.scene._webglContextRestored(a.gl),a.fire("webglcontextrestored",a.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);var s=!0,o=new ResizeObserver((function(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){t.value.contentBoxSize&&(s=!0)}}catch(e){n.e(e)}finally{n.f()}}));return o.observe(r.canvas),r._tick=r.scene.on("tick",(function(){s&&(s=!1,a.canvas.width=Math.round(a.canvas.clientWidth*a._resolutionScale),a.canvas.height=Math.round(a.canvas.clientHeight*a._resolutionScale),a.boundary[0]=a.canvas.offsetLeft,a.boundary[1]=a.canvas.offsetTop,a.boundary[2]=a.canvas.clientWidth,a.boundary[3]=a.canvas.clientHeight,a.fire("boundary",a.boundary))})),r._spinner=new ct(r.scene,{canvas:r.canvas,elementId:i.spinnerElementId}),r}return P(n,[{key:"type",get:function(){return"Canvas"}},{key:"backgroundColorFromAmbientLight",get:function(){return this._backgroundColorFromAmbientLight},set:function(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}},{key:"resolutionScale",get:function(){return this._resolutionScale},set:function(e){if((e=e||1)!==this._resolutionScale){this._resolutionScale=e;var t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}}},{key:"spinner",get:function(){return this._spinner}},{key:"_createCanvas",value:function(){var e="xeokit-canvas-"+$.createUUID(),t=document.getElementsByTagName("body")[0],n=document.createElement("div"),r=n.style;r.height="100%",r.width="100%",r.padding="0",r.margin="0",r.background="rgba(0,0,0,0);",r.float="left",r.left="0",r.top="0",r.position="absolute",r.opacity="1.0",r["z-index"]="-10000",n.innerHTML+='',t.appendChild(n),this.canvas=document.getElementById(e)}},{key:"_getElementXY",value:function(e){for(var t=0,n=0;e;)t+=e.offsetLeft-e.scrollLeft,n+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:n}}},{key:"_initWebGL",value:function(){if(!this.gl)for(var e=0;!this.gl&&e0?dt.FS_MAX_FLOAT_PRECISION="highp":ht.getShaderPrecisionFormat(ht.FRAGMENT_SHADER,ht.MEDIUM_FLOAT).precision>0?dt.FS_MAX_FLOAT_PRECISION="mediump":dt.FS_MAX_FLOAT_PRECISION="lowp":dt.FS_MAX_FLOAT_PRECISION="mediump",dt.DEPTH_BUFFER_BITS=ht.getParameter(ht.DEPTH_BITS),dt.MAX_TEXTURE_SIZE=ht.getParameter(ht.MAX_TEXTURE_SIZE),dt.MAX_CUBE_MAP_SIZE=ht.getParameter(ht.MAX_CUBE_MAP_TEXTURE_SIZE),dt.MAX_RENDERBUFFER_SIZE=ht.getParameter(ht.MAX_RENDERBUFFER_SIZE),dt.MAX_TEXTURE_UNITS=ht.getParameter(ht.MAX_COMBINED_TEXTURE_IMAGE_UNITS),dt.MAX_TEXTURE_IMAGE_UNITS=ht.getParameter(ht.MAX_TEXTURE_IMAGE_UNITS),dt.MAX_VERTEX_ATTRIBS=ht.getParameter(ht.MAX_VERTEX_ATTRIBS),dt.MAX_VERTEX_UNIFORM_VECTORS=ht.getParameter(ht.MAX_VERTEX_UNIFORM_VECTORS),dt.MAX_FRAGMENT_UNIFORM_VECTORS=ht.getParameter(ht.MAX_FRAGMENT_UNIFORM_VECTORS),dt.MAX_VARYING_VECTORS=ht.getParameter(ht.MAX_VARYING_VECTORS),ht.getSupportedExtensions().forEach((function(e){dt.SUPPORTED_EXTENSIONS[e]=!0})))}var It=function(){function e(){b(this,e),this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}return P(e,[{key:"canvasPos",get:function(){return this._gotCanvasPos?this._canvasPos:null},set:function(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}},{key:"origin",get:function(){return this._gotOrigin?this._origin:null},set:function(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}},{key:"direction",get:function(){return this._gotDirection?this._direction:null},set:function(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}},{key:"indices",get:function(){return this.entity&&this._gotIndices?this._indices:null},set:function(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}},{key:"localPos",get:function(){return this.entity&&this._gotLocalPos?this._localPos:null},set:function(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}},{key:"snappedCanvasPos",get:function(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null},set:function(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}},{key:"worldPos",get:function(){return this._gotWorldPos?this._worldPos:null},set:function(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}},{key:"viewPos",get:function(){return this.entity&&this._gotViewPos?this._viewPos:null},set:function(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}},{key:"bary",get:function(){return this.entity&&this._gotBary?this._bary:null},set:function(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}},{key:"worldNormal",get:function(){return this.entity&&this._gotWorldNormal?this._worldNormal:null},set:function(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}},{key:"uv",get:function(){return this.entity&&this._gotUV?this._uv:null},set:function(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}},{key:"reset",value:function(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}]),e}(),yt=function(){function e(t,n,r){if(b(this,e),this.allocated=!1,this.compiled=!1,this.handle=t.createShader(n),this.handle){if(this.allocated=!0,t.shaderSource(this.handle,r),t.compileShader(this.handle),this.compiled=t.getShaderParameter(this.handle,t.COMPILE_STATUS),!this.compiled&&!t.isContextLost()){for(var i=r.split("\n"),a=[],s=0;s0&&"/"===t.charAt(n+1)&&(t=t.substring(0,n)),r.push(t);return r.join("\n")}function Tt(e){console.error(e.join("\n"))}var bt=function(){function e(t,n){b(this,e),this.id=gt.addItem({}),this.source=n,this.init(t)}return P(e,[{key:"init",value:function(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new yt(e,e.VERTEX_SHADER,Et(this.source.vertex)),this._fragmentShader=new yt(e,e.FRAGMENT_SHADER,Et(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Tt(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Tt(this.errors);var t,n,r,i,a;if(this.compiled=!0,this.handle=e.createProgram(),this.handle){if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Tt(this.errors);var s=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(n=0;nthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}},{key:"setData",value:function(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}},{key:"bind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}},{key:"unbind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,null)}},{key:"destroy",value:function(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}]),e}(),Pt=function(){function e(t,n){b(this,e),this.scene=t,this.aabb=$.AABB3(),this.origin=$.vec3(n),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}return P(e,[{key:"addMarker",value:function(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}},{key:"markerWorldPosUpdated",value:function(e){if(this.markers[e.id]){var t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}}},{key:"removeMarker",value:function(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}},{key:"update",value:function(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}},{key:"_buildMarkerList",value:function(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}},{key:"_buildPositions",value:function(){for(var e=0,t=0;t-t)o._setVisible(!1);else{var l=o.canvasPos,u=l[0],c=l[1];u+10<0||c+10<0||u-10>r||c-10>i?o._setVisible(!1):!o.entity||o.entity.visible?o.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=o,this.pixels[a++]=u,this.pixels[a++]=c):o._setVisible(!0):o._setVisible(!1)}}}},{key:"_updateActiveSectionPlanes",value:function(){var e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(var n=0;n0,n=[];return n.push("#version 300 es"),n.push("// OcclusionTester vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("vec4 worldPosition = vec4(position, 1.0); "),n.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&n.push(" vWorldPosition = worldPosition;"),n.push(" vec4 clipPos = projMatrix * viewPosition;"),n.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?n.push("vFragDepth = 1.0 + clipPos.w;"):n.push("clipPos.z += -0.001;"),n.push(" gl_Position = clipPos;"),n.push("}"),n}},{key:"_buildFragmentShaderSource",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.sectionPlanes.length>0,r=[];if(r.push("#version 300 es"),r.push("// OcclusionTester fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;");for(var i=0;i 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),r.push("}"),r}},{key:"_buildProgram",value:function(){this._program&&this._program.destroy();var e=this._scene,t=e.canvas.gl,n=e._sectionPlanesState;if(this._program=new bt(t,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=n.sectionPlanes.length;i0)for(var p=r.sectionPlanes,A=0;A= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var r=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),this._uvBuf=new Dt(n,n.ARRAY_BUFFER,r,r.length,2,n.STATIC_DRAW),this._indicesBuf=new Dt(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}}},{key:"destroy",value:function(){this._program&&(this._program.destroy(),this._program=null)}}]),e}(),St=new Float32Array(Ht(17,[0,1])),Nt=new Float32Array(Ht(17,[1,0])),Lt=new Float32Array(function(e,t){for(var n=[],r=0;r<=e;r++)n.push(Ft(r,t));return n}(17,4)),xt=new Float32Array(2),Mt=function(){function e(t){b(this,e),this._scene=t,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}return P(e,[{key:"init",value:function(){var e=this._scene.canvas.gl;if(this._program=new bt(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS ".concat(16,"\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var t=new Float32Array([1,1,0,1,0,0,1,0]),n=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),r=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(e,e.ARRAY_BUFFER,n,n.length,3,e.STATIC_DRAW),this._uvBuf=new Dt(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Dt(e,e.ELEMENT_ARRAY_BUFFER,r,r.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}},{key:"render",value:function(e,t,n){var r=this;if(!this._programError){this._getInverseProjectMat||(this._getInverseProjectMat=function(){var e=!0;r._scene.camera.on("projMatrix",(function(){e=!0}));var t=$.mat4();return function(){return e&&$.inverseMat4(s.camera.projMatrix,t),t}}());var i=this._scene.canvas.gl,a=this._program,s=this._scene,o=i.drawingBufferWidth,l=i.drawingBufferHeight,u=s.camera.project._state,c=u.near,f=u.far;i.viewport(0,0,o,l),i.clearColor(0,0,0,1),i.enable(i.DEPTH_TEST),i.disable(i.BLEND),i.frontFace(i.CCW),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),a.bind(),xt[0]=o,xt[1]=l,i.uniform2fv(this._uViewport,xt),i.uniform1f(this._uCameraNear,c),i.uniform1f(this._uCameraFar,f),i.uniform1f(this._uDepthCutoff,.01),0===n?i.uniform2fv(this._uSampleOffsets,Nt):i.uniform2fv(this._uSampleOffsets,St),i.uniform1fv(this._uSampleWeights,Lt);var p=e.getDepthTexture(),A=t.getTexture();a.bindTexture(this._uDepthTexture,p,0),a.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),i.drawElements(i.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}}},{key:"destroy",value:function(){this._program.destroy()}}]),e}();function Ft(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Ht(e,t){for(var n=[],r=0;r<=e;r++)n.push(t[0]*r),n.push(t[1]*r);return n}var Ut=function(){function e(t,n,r){b(this,e),r=r||{},this.gl=n,this.allocated=!1,this.canvas=t,this.buffer=null,this.bound=!1,this.size=r.size,this._hasDepthTexture=!!r.depthTexture}return P(e,[{key:"setSize",value:function(e){this.size=e}},{key:"webglContextRestored",value:function(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}},{key:"bind",value:function(){if(this._touch.apply(this,arguments),!this.bound){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}}},{key:"createTexture",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=this.gl,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),n?r.texStorage2D(r.TEXTURE_2D,1,n,e,t):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null),i}},{key:"_touch",value:function(){var e,t,n=this,r=this.gl;if(this.size?(e=this.size[0],t=this.size[1]):(e=r.drawingBufferWidth,t=r.drawingBufferHeight),this.buffer){if(this.buffer.width===e&&this.buffer.height===t)return;this.buffer.textures.forEach((function(e){return r.deleteTexture(e)})),r.deleteFramebuffer(this.buffer.framebuf),r.deleteRenderbuffer(this.buffer.renderbuf)}for(var i,a=[],s=arguments.length,o=new Array(s),l=0;l0?a.push.apply(a,c(o.map((function(r){return n.createTexture(e,t,r)})))):a.push(this.createTexture(e,t)),this._hasDepthTexture&&(i=r.createTexture(),r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texImage2D(r.TEXTURE_2D,0,r.DEPTH_COMPONENT32F,e,t,0,r.DEPTH_COMPONENT,r.FLOAT,null));var u=r.createRenderbuffer();r.bindRenderbuffer(r.RENDERBUFFER,u),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT32F,e,t);var f=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,f);for(var p=0;p0&&r.drawBuffers(a.map((function(e,t){return r.COLOR_ATTACHMENT0+t}))),this._hasDepthTexture?r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,i,0):r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,u),r.bindTexture(r.TEXTURE_2D,null),r.bindRenderbuffer(r.RENDERBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,f),!r.isFramebuffer(f))throw"Invalid framebuffer";r.bindFramebuffer(r.FRAMEBUFFER,null);var A=r.checkFramebufferStatus(r.FRAMEBUFFER);switch(A){case r.FRAMEBUFFER_COMPLETE:break;case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case r.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+A}this.buffer={framebuf:f,renderbuf:u,texture:a[0],textures:a,depthTexture:i,width:e,height:t},this.bound=!1}},{key:"clear",value:function(){if(!this.bound)throw"Render buffer not bound";var e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}},{key:"read",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Uint8Array,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=e,l=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,u=new i(a),c=this.gl;return c.readBuffer(c.COLOR_ATTACHMENT0+s),c.readPixels(o,l,1,1,n||c.RGBA,r||c.UNSIGNED_BYTE,u,0),u}},{key:"readArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=new n(this.buffer.width*this.buffer.height*r),s=this.gl;return s.readBuffer(s.COLOR_ATTACHMENT0+i),s.readPixels(0,0,this.buffer.width,this.buffer.height,e||s.RGBA,t||s.UNSIGNED_BYTE,a,0),a}},{key:"readImageAsCanvas",value:function(){var e=this.gl,t=this._getImageDataCache(),n=t.pixelData,r=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,n);for(var s=this.buffer.width,o=this.buffer.height,l=o/2|0,u=4*s,c=new Uint8Array(4*s),f=0;f0&&void 0!==arguments[0]?arguments[0]:Uint8Array,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,n=this.buffer.width,r=this.buffer.height,i=this._imageDataCache;if(i&&(i.width===n&&i.height===r||(this._imageDataCache=null,i=null)),!i){var a=document.createElement("canvas"),s=a.getContext("2d");a.width=n,a.height=r,i={pixelData:new e(n*r*t),canvas:a,context:s,imageData:s.createImageData(n,r),width:n,height:r},this._imageDataCache=i}return i.context.resetTransform(),i}},{key:"unbind",value:function(){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,null),this.bound=!1}},{key:"getTexture",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this;return this._texture||(this._texture={renderBuffer:this,bind:function(n){return!(!t.buffer||!t.buffer.textures[e])&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,t.buffer.textures[e]),!0)},unbind:function(n){t.buffer&&t.buffer.textures[e]&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,null))}})}},{key:"hasDepthTexture",value:function(){return this._hasDepthTexture}},{key:"getDepthTexture",value:function(){if(!this._hasDepthTexture)return null;var e=this;return this._depthTexture||(this._dethTexture={renderBuffer:this,bind:function(t){return!(!e.buffer||!e.buffer.depthTexture)&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,e.buffer.depthTexture),!0)},unbind:function(t){e.buffer&&e.buffer.depthTexture&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,null))}})}},{key:"destroy",value:function(){if(this.allocated){var e=this.gl;this.buffer.textures.forEach((function(t){return e.deleteTexture(t)})),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}]),e}(),Gt=function(){function e(t){b(this,e),this.scene=t,this._renderBuffersBasic={},this._renderBuffersScaled={}}return P(e,[{key:"getRenderBuffer",value:function(e,t){var n=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled,r=n[e];return r||(r=new Ut(this.scene.canvas.canvas,this.scene.canvas.gl,t),n[e]=r),r}},{key:"destroy",value:function(){for(var e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(var t in this._renderBuffersScaled)this._renderBuffersScaled[t].destroy()}}]),e}();function kt(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];var n;switch(t){case"WEBGL_depth_texture":n=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=e.getExtension(t)}return e._cachedExtensions[t]=n,n}var jt=function(e,t){t=t||{};var n=new At(e),r=e.canvas.canvas,i=e.canvas.gl,a=!!t.transparent,s=t.alphaDepthMask,o=new G({}),l={},u={},c=!0,f=!0,p=!0,A=!0,d=!0,v=!0,h=!0,I=!0,y=new Gt(e),m=!1,w=new Ot(e),g=new Mt(e);function E(){c&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e],n=t.drawableMap,r=t.drawableListPreCull,i=0;for(var a in n)n.hasOwnProperty(a)&&(r[i++]=n[a]);r.length=i}}(),c=!1,f=!0),f&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),f=!1,p=!0),p&&function(){for(var e in l)if(l.hasOwnProperty(e)){for(var t=l[e],n=t.drawableListPreCull,r=t.drawableList,i=0,a=0,s=n.length;a0)for(n.withSAO=!0,O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||Q>0||U>0||G>0){if(i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):(i.blendEquation(i.FUNC_ADD),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,s||i.depthMask(!1),(U>0||G>0)&&i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),G>0)for(O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||z>0){if(n.lastProgramId=null,e.highlightMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),z>0)for(O=0;O0)for(O=0;O0||Y>0||W>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),i.enable(i.CULL_FACE),Y>0)for(O=0;O0)for(O=0;O0||q>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),q>0)for(O=0;O0)for(O=0;O0||Z>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),Z>0)for(O=0;O0)for(O=0;O1&&void 0!==arguments[1]?arguments[1]:s;d.reset(),E();var v=null,h=null;for(var I in d.pickSurface=p.pickSurface,p.canvasPos?(u[0]=p.canvasPos[0],u[1]=p.canvasPos[1],v=e.camera.viewMatrix,h=e.camera.projMatrix,d.canvasPos=p.canvasPos):(p.matrix?(v=p.matrix,h=e.camera.projMatrix):(c.set(p.origin||[0,0,0]),f.set(p.direction||[0,0,1]),A=$.addVec3(c,f,t),i[0]=Math.random(),i[1]=Math.random(),i[2]=Math.random(),$.normalizeVec3(i),$.cross3Vec3(f,i,a),v=$.lookAtMat4v(c,A,a,n),h=e.camera.ortho.matrix,d.origin=c,d.direction=f),u[0]=.5*r.clientWidth,u[1]=.5*r.clientHeight),l)if(l.hasOwnProperty(I))for(var m=l[I].drawableList,w=0,g=m.length;w4&&void 0!==arguments[4]?arguments[4]:P;if(!a&&!s)return this.pick({canvasPos:t,pickSurface:!0});var c=e.canvas.resolutionScale;n.reset(),n.backfaces=!0,n.frontface=!0,n.pickZNear=e.camera.project.near,n.pickZFar=e.camera.project.far,r=r||30;var f=y.getRenderBuffer("uniquePickColors-aabs",{depthTexture:!0,size:[2*r+1,2*r+1]});n.snapVectorA=[B(t[0]*c,i.drawingBufferWidth),O(t[1]*c,i.drawingBufferHeight)],n.snapInvVectorAB=[i.drawingBufferWidth/(2*r),i.drawingBufferHeight/(2*r)],f.bind(i.RGBA32I,i.RGBA32I,i.RGBA8UI),i.viewport(0,0,f.size[0],f.size[1]),i.enable(i.DEPTH_TEST),i.frontFace(i.CCW),i.disable(i.CULL_FACE),i.depthMask(!0),i.disable(i.BLEND),i.depthFunc(i.LEQUAL),i.clear(i.DEPTH_BUFFER_BIT),i.clearBufferiv(i.COLOR,0,new Int32Array([0,0,0,0])),i.clearBufferiv(i.COLOR,1,new Int32Array([0,0,0,0])),i.clearBufferuiv(i.COLOR,2,new Uint32Array([0,0,0,0]));var p=e.camera.viewMatrix,A=e.camera.projMatrix;for(var d in l)if(l.hasOwnProperty(d))for(var v=l[d].drawableList,h=0,I=v.length;h0){var V=Math.floor(j/4),Q=f.size[0],W=V%Q-Math.floor(Q/2),z=Math.floor(V/Q)-Math.floor(Q/2),K=Math.sqrt(Math.pow(W,2)+Math.pow(z,2));k.push({x:W,y:z,dist:K,isVertex:a&&s?E[j+3]>g.length/2:a,result:[E[j+0],E[j+1],E[j+2],E[j+3]],normal:[T[j+0],T[j+1],T[j+2],T[j+3]],id:[b[j+0],b[j+1],b[j+2],b[j+3]]})}var Y=null,X=null,q=null,J=null;if(k.length>0){k.sort((function(e,t){return e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist})),J=k[0].isVertex?"vertex":"edge";var Z=k[0].result,ee=k[0].normal,te=k[0].id,ne=g[Z[3]],re=ne.origin,ie=ne.coordinateScale;X=$.normalizeVec3([ee[0]/$.MAX_INT,ee[1]/$.MAX_INT,ee[2]/$.MAX_INT]),Y=[Z[0]*ie[0]+re[0],Z[1]*ie[1]+re[1],Z[2]*ie[2]+re[2]],q=o.items[te[0]+(te[1]<<8)+(te[2]<<16)+(te[3]<<24)]}if(null===D&&null==Y)return null;var ae=null;null!==Y&&(ae=e.camera.projectWorldPos(Y));var se=q&&q.delegatePickedEntity?q.delegatePickedEntity():q;return u.reset(),u.snappedToEdge="edge"===J,u.snappedToVertex="vertex"===J,u.worldPos=Y,u.worldNormal=X,u.entity=se,u.canvasPos=t,u.snappedCanvasPos=ae||t,u}),this.addMarker=function(t){this._occlusionTester=this._occlusionTester||new _t(e,y),this._occlusionTester.addMarker(t),e.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){for(var e in E(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,i.viewport(0,0,i.drawingBufferWidth,i.drawingBufferHeight),i.clearColor(0,0,0,0),i.enable(i.DEPTH_TEST),i.disable(i.CULL_FACE),i.disable(i.BLEND),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),l)if(l.hasOwnProperty(e))for(var t=l[e].drawableList,r=0,a=t.length;r0&&void 0!==arguments[0]?arguments[0]:{},t=y.getRenderBuffer("snapshot");e.width&&e.height&&t.setSize([e.width,e.height]),t.bind(),t.clear(),m=!0},this.renderSnapshot=function(){m&&(y.getRenderBuffer("snapshot").clear(),this.render({force:!0,opaqueOnly:!1}),p=!0)},this.readSnapshot=function(e){return y.getRenderBuffer("snapshot").readImage(e)},this.readSnapshotAsCanvas=function(){return y.getRenderBuffer("snapshot").readImageAsCanvas()},this.endSnapshot=function(){m&&(y.getRenderBuffer("snapshot").unbind(),m=!1)},this.destroy=function(){l={},u={},y.destroy(),w.destroy(),g.destroy(),this._occlusionTester&&this._occlusionTester.destroy()}},Vt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).KEY_BACKSPACE=8,r.KEY_TAB=9,r.KEY_ENTER=13,r.KEY_SHIFT=16,r.KEY_CTRL=17,r.KEY_ALT=18,r.KEY_PAUSE_BREAK=19,r.KEY_CAPS_LOCK=20,r.KEY_ESCAPE=27,r.KEY_PAGE_UP=33,r.KEY_PAGE_DOWN=34,r.KEY_END=35,r.KEY_HOME=36,r.KEY_LEFT_ARROW=37,r.KEY_UP_ARROW=38,r.KEY_RIGHT_ARROW=39,r.KEY_DOWN_ARROW=40,r.KEY_INSERT=45,r.KEY_DELETE=46,r.KEY_NUM_0=48,r.KEY_NUM_1=49,r.KEY_NUM_2=50,r.KEY_NUM_3=51,r.KEY_NUM_4=52,r.KEY_NUM_5=53,r.KEY_NUM_6=54,r.KEY_NUM_7=55,r.KEY_NUM_8=56,r.KEY_NUM_9=57,r.KEY_A=65,r.KEY_B=66,r.KEY_C=67,r.KEY_D=68,r.KEY_E=69,r.KEY_F=70,r.KEY_G=71,r.KEY_H=72,r.KEY_I=73,r.KEY_J=74,r.KEY_K=75,r.KEY_L=76,r.KEY_M=77,r.KEY_N=78,r.KEY_O=79,r.KEY_P=80,r.KEY_Q=81,r.KEY_R=82,r.KEY_S=83,r.KEY_T=84,r.KEY_U=85,r.KEY_V=86,r.KEY_W=87,r.KEY_X=88,r.KEY_Y=89,r.KEY_Z=90,r.KEY_LEFT_WINDOW=91,r.KEY_RIGHT_WINDOW=92,r.KEY_SELECT_KEY=93,r.KEY_NUMPAD_0=96,r.KEY_NUMPAD_1=97,r.KEY_NUMPAD_2=98,r.KEY_NUMPAD_3=99,r.KEY_NUMPAD_4=100,r.KEY_NUMPAD_5=101,r.KEY_NUMPAD_6=102,r.KEY_NUMPAD_7=103,r.KEY_NUMPAD_8=104,r.KEY_NUMPAD_9=105,r.KEY_MULTIPLY=106,r.KEY_ADD=107,r.KEY_SUBTRACT=109,r.KEY_DECIMAL_POINT=110,r.KEY_DIVIDE=111,r.KEY_F1=112,r.KEY_F2=113,r.KEY_F3=114,r.KEY_F4=115,r.KEY_F5=116,r.KEY_F6=117,r.KEY_F7=118,r.KEY_F8=119,r.KEY_F9=120,r.KEY_F10=121,r.KEY_F11=122,r.KEY_F12=123,r.KEY_NUM_LOCK=144,r.KEY_SCROLL_LOCK=145,r.KEY_SEMI_COLON=186,r.KEY_EQUAL_SIGN=187,r.KEY_COMMA=188,r.KEY_DASH=189,r.KEY_PERIOD=190,r.KEY_FORWARD_SLASH=191,r.KEY_GRAVE_ACCENT=192,r.KEY_OPEN_BRACKET=219,r.KEY_BACK_SLASH=220,r.KEY_CLOSE_BRACKET=221,r.KEY_SINGLE_QUOTE=222,r.KEY_SPACE=32,r.element=i.element,r.altDown=!1,r.ctrlDown=!1,r.mouseDownLeft=!1,r.mouseDownMiddle=!1,r.mouseDownRight=!1,r.keyDown=[],r.enabled=!0,r.keyboardEnabled=!0,r.mouseover=!1,r.mouseCanvasPos=$.vec2(),r._keyboardEventsElement=i.keyboardEventsElement||document,r._bindEvents(),r}return P(n,[{key:"_bindEvents",value:function(){var e=this;if(!this._eventsBound){this._keyboardEventsElement.addEventListener("keydown",this._keyDownListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!0:t.keyCode===e.KEY_ALT?e.altDown=!0:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!0),e.keyDown[t.keyCode]=!0,e.fire("keydown",t.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!1:t.keyCode===e.KEY_ALT?e.altDown=!1:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!1),e.keyDown[t.keyCode]=!1,e.fire("keyup",t.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=function(t){e.enabled&&(e.mouseover=!0,e._getMouseCanvasPos(t),e.fire("mouseenter",e.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=function(t){e.enabled&&(e.mouseover=!1,e._getMouseCanvasPos(t),e.fire("mouseleave",e.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!0;break;case 2:e.mouseDownMiddle=!0;break;case 3:e.mouseDownRight=!0}e._getMouseCanvasPos(t),e.element.focus(),e.fire("mousedown",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!1;break;case 2:e.mouseDownMiddle=!1;break;case 3:e.mouseDownRight=!1}e.fire("mouseup",e.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("click",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("dblclick",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}});var t=this.scene.tickify((function(){return e.fire("mousemove",e.mouseCanvasPos,!0)}));this.element.addEventListener("mousemove",this._mouseMoveListener=function(n){e.enabled&&(e._getMouseCanvasPos(n),t(),e.mouseover&&n.preventDefault())});var n=this.scene.tickify((function(t){e.fire("mousewheel",t,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=function(t,r){if(e.enabled){var i=Math.max(-1,Math.min(1,40*-t.deltaY));n(i)}},{passive:!0});var r,i;this.on("mousedown",(function(e){r=e[0],i=e[1]})),this.on("mouseup",(function(t){r>=t[0]-2&&r<=t[0]+2&&i>=t[1]-2&&i<=t[1]+2&&e.fire("mouseclicked",t,!0)})),this._eventsBound=!0}}},{key:"_unbindEvents",value:function(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}},{key:"_getMouseCanvasPos",value:function(e){if(e){for(var t=e.target,n=0,r=0;t.offsetParent;)n+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-n,this.mouseCanvasPos[1]=e.pageY-r}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}},{key:"setEnabled",value:function(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}},{key:"getEnabled",value:function(){return this.enabled}},{key:"setKeyboardEnabled",value:function(e){this.keyboardEnabled=e}},{key:"getKeyboardEnabled",value:function(){return this.keyboardEnabled}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._unbindEvents()}}]),n}(),Qt=new G({}),Wt=function(){function e(t){for(var n in b(this,e),this.id=Qt.addItem({}),t)t.hasOwnProperty(n)&&(this[n]=t[n])}return P(e,[{key:"destroy",value:function(){Qt.removeItem(this.id)}}]),e}(),zt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({boundary:[0,0,100,100]}),r.boundary=i.boundary,r.autoBoundary=i.autoBoundary,r}return P(n,[{key:"type",get:function(){return"Viewport"}},{key:"boundary",get:function(){return this._state.boundary},set:function(e){if(!this._autoBoundary){if(!e){var t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}},{key:"autoBoundary",get:function(){return this._autoBoundary},set:function(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){var t=e[2],n=e[3];this._state.boundary=[0,0,t,n],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Kt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r._fov=60,r._canvasResized=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r.fov=i.fov,r.fovAxis=i.fovAxis,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Perspective"}},{key:"_update",value:function(){var e=this.scene.canvas.boundary,t=e[2]/e[3],n=this._fovAxis,r=this._fov;("x"===n||"min"===n&&t<1||"max"===n&&t>1)&&(r/=t),r=Math.min(r,120),$.perspectiveMat4(r*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}},{key:"fov",get:function(){return this._fov},set:function(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}},{key:"fovAxis",get:function(){return this._fovAxis},set:function(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}]),n}(),Yt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.scale=i.scale,r.near=i.near,r.far=i.far,r._onCanvasBoundary=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r}return P(n,[{key:"type",get:function(){return"Ortho"}},{key:"_update",value:function(){var e,t,n,r,i=this.scene,a=.5*this._scale,s=i.canvas.boundary,o=s[2],l=s[3],u=o/l;o>l?(e=-a,t=a,n=a/u,r=-a/u):(e=-a*u,t=a*u,n=a,r=-a),$.orthoMat4c(e,t,r,n,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}]),n}(),Xt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:1e4}),r._left=-1,r._right=1,r._bottom=-1,r._top=1,r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.left=i.left,r.right=i.right,r.bottom=i.bottom,r.top=i.top,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Frustum"}},{key:"_update",value:function(){$.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"left",get:function(){return this._left},set:function(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}},{key:"right",get:function(){return this._right},set:function(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}},{key:"top",get:function(){return this._top},set:function(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}},{key:"bottom",get:function(){return this._bottom},set:function(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}},{key:"near",get:function(){return this._state.near},set:function(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}},{key:"far",get:function(){return this._state.far},set:function(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),qt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4()}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!1,r.matrix=i.matrix,r}return P(n,[{key:"type",get:function(){return"CustomProjection"}},{key:"matrix",get:function(){return this._state.matrix},set:function(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Jt=$.vec3(),Zt=$.vec3(),$t=$.vec3(),en=$.vec3(),tn=$.vec3(),nn=$.vec3(),rn=$.vec4(),an=$.vec4(),sn=$.vec4(),on=$.mat4(),ln=$.mat4(),un=$.vec3(),cn=$.vec3(),fn=$.vec3(),pn=$.vec3(),An=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({deviceMatrix:$.mat4(),hasDeviceMatrix:!1,matrix:$.mat4(),normalMatrix:$.mat4(),inverseMatrix:$.mat4()}),r._perspective=new Kt(g(r)),r._ortho=new Yt(g(r)),r._frustum=new Xt(g(r)),r._customProjection=new qt(g(r)),r._project=r._perspective,r._eye=$.vec3([0,0,10]),r._look=$.vec3([0,0,0]),r._up=$.vec3([0,1,0]),r._worldUp=$.vec3([0,1,0]),r._worldRight=$.vec3([1,0,0]),r._worldForward=$.vec3([0,0,-1]),r.deviceMatrix=i.deviceMatrix,r.eye=i.eye,r.look=i.look,r.up=i.up,r.worldAxis=i.worldAxis,r.gimbalLock=i.gimbalLock,r.constrainPitch=i.constrainPitch,r.projection=i.projection,r._perspective.on("matrix",(function(){"perspective"===r._projectionType&&r.fire("projMatrix",r._perspective.matrix)})),r._ortho.on("matrix",(function(){"ortho"===r._projectionType&&r.fire("projMatrix",r._ortho.matrix)})),r._frustum.on("matrix",(function(){"frustum"===r._projectionType&&r.fire("projMatrix",r._frustum.matrix)})),r._customProjection.on("matrix",(function(){"customProjection"===r._projectionType&&r.fire("projMatrix",r._customProjection.matrix)})),r}return P(n,[{key:"type",get:function(){return"Camera"}},{key:"_update",value:function(){var e,t=this._state;"ortho"===this.projection?($.subVec3(this._eye,this._look,un),$.normalizeVec3(un,cn),$.mulVec3Scalar(cn,1e3,fn),$.addVec3(this._look,fn,pn),e=pn):e=this._eye,t.hasDeviceMatrix?($.lookAtMat4v(e,this._look,this._up,ln),$.mulMat4(t.deviceMatrix,ln,t.matrix)):$.lookAtMat4v(e,this._look,this._up,t.matrix),$.inverseMat4(this._state.matrix,this._state.inverseMatrix),$.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}},{key:"orbitYaw",value:function(e){var t=$.subVec3(this._eye,this._look,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.eye=$.addVec3(this._look,t,$t),this.up=$.transformPoint3(on,this._up,en)}},{key:"orbitPitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._eye,this._look,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),t=$.transformPoint3(on,t,en),this.up=$.transformPoint3(on,this._up,tn),this.eye=$.addVec3(t,this._look,nn)}}},{key:"yaw",value:function(e){var t=$.subVec3(this._look,this._eye,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.look=$.addVec3(t,this._eye,$t),this._gimbalLock&&(this.up=$.transformPoint3(on,this._up,en))}},{key:"pitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._look,this._eye,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),this.up=$.transformPoint3(on,this._up,nn),t=$.transformPoint3(on,t,en),this.look=$.addVec3(t,this._eye,tn)}}},{key:"pan",value:function(e){var t,n=$.subVec3(this._eye,this._look,Jt),r=[0,0,0];if(0!==e[0]){var i=$.cross3Vec3($.normalizeVec3(n,[]),$.normalizeVec3(this._up,Zt));t=$.mulVec3Scalar(i,e[0]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]}0!==e[1]&&(t=$.mulVec3Scalar($.normalizeVec3(this._up,$t),e[1]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),0!==e[2]&&(t=$.mulVec3Scalar($.normalizeVec3(n,en),e[2]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),this.eye=$.addVec3(this._eye,r,tn),this.look=$.addVec3(this._look,r,nn)}},{key:"zoom",value:function(e){var t=$.subVec3(this._eye,this._look,Jt),n=Math.abs($.lenVec3(t,Zt)),r=Math.abs(n+e);if(!(r<.5)){var i=$.normalizeVec3(t,$t);this.eye=$.addVec3(this._look,$.mulVec3Scalar(i,r),en)}}},{key:"eye",get:function(){return this._eye},set:function(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}},{key:"look",get:function(){return this._look},set:function(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}},{key:"up",get:function(){return this._up},set:function(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}},{key:"deviceMatrix",get:function(){return this._state.deviceMatrix},set:function(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}},{key:"worldAxis",get:function(){return this._worldAxis},set:function(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=$.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}},{key:"worldUp",get:function(){return this._worldUp}},{key:"xUp",get:function(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}},{key:"yUp",get:function(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}},{key:"zUp",get:function(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}},{key:"worldRight",get:function(){return this._worldRight}},{key:"worldForward",get:function(){return this._worldForward}},{key:"gimbalLock",get:function(){return this._gimbalLock},set:function(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}},{key:"constrainPitch",set:function(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}},{key:"eyeLookDist",get:function(){return $.lenVec3($.subVec3(this._look,this._eye,Jt))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"viewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"normalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"viewNormalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"inverseViewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}},{key:"projMatrix",get:function(){return this[this.projection].matrix}},{key:"perspective",get:function(){return this._perspective}},{key:"ortho",get:function(){return this._ortho}},{key:"frustum",get:function(){return this._frustum}},{key:"customProjection",get:function(){return this._customProjection}},{key:"projection",get:function(){return this._projectionType},set:function(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}},{key:"project",get:function(){return this._project}},{key:"projectWorldPos",value:function(e){var t=rn,n=an,r=sn;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,$.mulMat4v4(this.viewMatrix,t,n),$.mulMat4v4(this.projMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1;var i=this.scene.canvas.canvas,a=i.offsetWidth/2,s=i.offsetHeight/2;return[r[0]*a+a,r[1]*s+s]}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),dn=function(e){I(n,ye);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n,[{key:"type",get:function(){return"Light"}},{key:"isLight",get:function(){return!0}}]),n}(),vn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var a=r.scene.camera,s=r.scene.canvas;return r._onCameraViewMatrix=a.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=a.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=s.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"dir",dir:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(r._shadowViewMatrixDirty){r._shadowViewMatrix||(r._shadowViewMatrix=$.identityMat4());var e=r.scene.camera,t=r._state.dir,n=e.look,i=[n[0]-t[0],n[1]-t[1],n[2]-t[2]];$.lookAtMat4v(i,n,[0,1,0],r._shadowViewMatrix),r._shadowViewMatrixDirty=!1}return r._shadowViewMatrix},getShadowProjMatrix:function(){return r._shadowProjMatrixDirty&&(r._shadowProjMatrix||(r._shadowProjMatrix=$.identityMat4()),$.orthoMat4c(-40,40,-40,40,-40,80,r._shadowProjMatrix),r._shadowProjMatrixDirty=!1),r._shadowProjMatrix},getShadowRenderBuf:function(){return r._shadowRenderBuf||(r._shadowRenderBuf=new Ut(r.scene.canvas.canvas,r.scene.canvas.gl,{size:[1024,1024]})),r._shadowRenderBuf}}),r.dir=i.dir,r.color=i.color,r.intensity=i.intensity,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"DirLight"}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}(),hn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state={type:"ambient",color:$.vec3([.7,.7,.7]),intensity:1},r.color=i.color,r.intensity=i.intensity,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"AmbientLight"}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightDestroyed(this)}}]),n}(),In=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.meshes++,r}return P(n,[{key:"type",get:function(){return"Geometry"}},{key:"isGeometry",get:function(){return!0}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.meshes--}}]),n}(),yn=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}();var mn=function(){var e=$.mat4(),t=$.mat4();return function(n,r){r=r||$.mat4();var i=n[0],a=n[1],s=n[2],o=n[3]-i,l=n[4]-a,u=n[5]-s,c=65535;return $.identityMat4(e),$.translationMat4v(n,e),$.identityMat4(t),$.scalingMat4v([o/c,l/c,u/c],t),$.mulMat4(e,t,r),r}}(),wn=function(){var e=$.mat4(),t=$.mat4();return function(n,r,i){var a,s=new Uint16Array(n.length),o=new Float32Array([i[0]!==r[0]?65535/(i[0]-r[0]):0,i[1]!==r[1]?65535/(i[1]-r[1]):0,i[2]!==r[2]?65535/(i[2]-r[2]):0]);for(a=0;a=0?1:-1),o=(1-Math.abs(i))*(a>=0?1:-1);i=s,a=o}return new Int8Array([Math[n](127.5*i+(i<0?-1:0)),Math[r](127.5*a+(a<0?-1:0))])}function Tn(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}function bn(e,t,n){return e[t]*n[0]+e[t+1]*n[1]+e[t+2]*n[2]}var Dn={getPositionsBounds:function(e){var t,n,r=new Float32Array(3),i=new Float32Array(3);for(t=0;t<3;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:e;return n[0]=e[0]*t[0]+t[12],n[1]=e[1]*t[5]+t[13],n[2]=e[2]*t[10]+t[14],n[3]=e[3]*t[0]+t[12],n[4]=e[4]*t[5]+t[13],n[5]=e[5]*t[10]+t[14],n},getUVBounds:function(e){var t,n,r=new Float32Array(2),i=new Float32Array(2);for(t=0;t<2;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;ri&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"floor","ceil"))))>i&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"ceil","ceil"))))>i&&(n=t,i=r),a[s]=n[0],a[s+1]=n[1];return a},decompressNormals:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t},decompressNormal:function(e,t){var n=e[0],r=e[1];n=(2*n+1)/255,r=(2*r+1)/255;var i=1-Math.abs(n)-Math.abs(r);i<0&&(n=(1-Math.abs(r))*(n>=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t}},Pn=re.memory,Rn=$.AABB3(),Cn=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!!i.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._edgeIndicesBuf=null,r._pickTrianglePositionsBuf=null,r._pickTriangleColorsBuf=null,r._aabbDirty=!0,r._boundingSphere=!0,r._aabb=null,r._aabbDirty=!0,r._obb=null,r._obbDirty=!0;var a=r._state,s=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":a.primitive=s.POINTS,a.primitiveName=i.primitive;break;case"lines":a.primitive=s.LINES,a.primitiveName=i.primitive;break;case"line-loop":a.primitive=s.LINE_LOOP,a.primitiveName=i.primitive;break;case"line-strip":a.primitive=s.LINE_STRIP,a.primitiveName=i.primitive;break;case"triangles":a.primitive=s.TRIANGLES,a.primitiveName=i.primitive;break;case"triangle-strip":a.primitive=s.TRIANGLE_STRIP,a.primitiveName=i.primitive;break;case"triangle-fan":a.primitive=s.TRIANGLE_FAN,a.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),a.primitive=s.TRIANGLES,a.primitiveName=i.primitive}if(i.positions)if(r._state.compressGeometry){var o=Dn.getPositionsBounds(i.positions),l=Dn.compressPositions(i.positions,o.min,o.max);a.positions=l.quantized,a.positionsDecodeMatrix=l.decodeMatrix}else a.positions=i.positions.constructor===Float32Array?i.positions:new Float32Array(i.positions);if(i.colors&&(a.colors=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors)),i.uv)if(r._state.compressGeometry){var u=Dn.getUVBounds(i.uv),c=Dn.compressUVs(i.uv,u.min,u.max);a.uv=c.quantized,a.uvDecodeMatrix=c.decodeMatrix}else a.uv=i.uv.constructor===Float32Array?i.uv:new Float32Array(i.uv);return i.normals&&(r._state.compressGeometry?a.normals=Dn.compressNormals(i.normals):a.normals=i.normals.constructor===Float32Array?i.normals:new Float32Array(i.normals)),i.indices&&(a.indices=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3)),r._buildHash(),Pn.meshes++,r._buildVBOs(),r}return P(n,[{key:"type",get:function(){return"ReadableGeometry"}},{key:"isReadableGeometry",get:function(){return!0}},{key:"_buildVBOs",value:function(){var e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Pn.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Pn.positions+=e.positionsBuf.numItems),e.normals){var n=e.compressGeometry;e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,n),Pn.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Pn.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Dt(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Pn.uvs+=e.uvBuf.numItems)}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}},{key:"_getPickTrianglePositions",value:function(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}},{key:"_getPickTriangleColors",value:function(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}},{key:"_buildEdgeIndices",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=yn(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,n,n.length,1,t.STATIC_DRAW),Pn.indices+=this._edgeIndicesBuf.numItems}}},{key:"_buildPickTriangleVBOs",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=$.buildPickTriangles(e.positions,e.indices,e.compressGeometry),r=n.positions,i=n.colors;this._pickTrianglePositionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Dt(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Pn.positions+=this._pickTrianglePositionsBuf.numItems,Pn.colors+=this._pickTriangleColorsBuf.numItems}}},{key:"_buildPickVertexVBOs",value:function(){}},{key:"_webglContextLost",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}},{key:"_webglContextRestored",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"compressGeometry",get:function(){return this._state.compressGeometry}},{key:"positions",get:function(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Dn.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null},set:function(e){var t=this._state,n=t.positions;if(n)if(n.length===e.length){if(this._state.compressGeometry){var r=Dn.getPositionsBounds(e),i=Dn.compressPositions(e,r.min,r.max);e=i.quantized,t.positionsDecodeMatrix=i.decodeMatrix}n.set(e),t.positionsBuf&&t.positionsBuf.setData(n),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}},{key:"normals",get:function(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){var e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Dn.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry normals - quantized geometry is immutable");else{var t=this._state,n=t.normals;n?n.length===e.length?(n.set(e),t.normalsBuf&&t.normalsBuf.setData(n),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}}},{key:"uv",get:function(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Dn.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry UVs - quantized geometry is immutable");else{var t=this._state,n=t.uv;n?n.length===e.length?(n.set(e),t.uvBuf&&t.uvBuf.setData(n),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}}},{key:"colors",get:function(){return this._state.colors},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry colors - quantized geometry is immutable");else{var t=this._state,n=t.colors;n?n.length===e.length?(n.set(e),t.colorsBuf&&t.colorsBuf.setData(n),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}}},{key:"indices",get:function(){return this._state.indices}},{key:"aabb",get:function(){return this._aabbDirty&&(this._aabb||(this._aabb=$.AABB3()),$.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}},{key:"obb",get:function(){return this._obbDirty&&(this._obb||(this._obb=$.OBB3()),$.positions3ToAABB3(this._state.positions,Rn,this._state.positionsDecodeMatrix),$.AABB3ToOBB3(Rn,this._obb),this._obbDirty=!1),this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_setAABBDirty",value:function(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Pn.meshes--}}]),n}();function _n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{positions:[f,p,A,l,p,A,l,u,A,f,u,A,f,p,A,f,u,A,f,u,c,f,p,c,f,p,A,f,p,c,l,p,c,l,p,A,l,p,A,l,p,c,l,u,c,l,u,A,l,u,c,f,u,c,f,u,A,l,u,A,f,u,c,l,u,c,l,p,c,f,p,c],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}var Bn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.materials++,r}return P(n,[{key:"type",get:function(){return"Material"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.materials--}}]),n}(),On={opaque:0,mask:1,blend:2},Sn=["opaque","mask","blend"],Nn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PhongMaterial",ambient:$.vec3([1,1,1]),diffuse:$.vec3([1,1,1]),specular:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.ambient=i.ambient,r.diffuse=i.diffuse,r.specular=i.specular,r.emissive=i.emissive,r.alpha=i.alpha,r.shininess=i.shininess,r.reflectivity=i.reflectivity,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,i.ambientMap&&(r._ambientMap=r._checkComponent("Texture",i.ambientMap)),i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.reflectivityMap&&(r._reflectivityMap=r._checkComponent("Texture",i.reflectivityMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.diffuseFresnel&&(r._diffuseFresnel=r._checkComponent("Fresnel",i.diffuseFresnel)),i.specularFresnel&&(r._specularFresnel=r._checkComponent("Fresnel",i.specularFresnel)),i.emissiveFresnel&&(r._emissiveFresnel=r._checkComponent("Fresnel",i.emissiveFresnel)),i.alphaFresnel&&(r._alphaFresnel=r._checkComponent("Fresnel",i.alphaFresnel)),i.reflectivityFresnel&&(r._reflectivityFresnel=r._checkComponent("Fresnel",i.reflectivityFresnel)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"PhongMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"shininess",get:function(){return this._state.shininess},set:function(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"reflectivity",get:function(){return this._state.reflectivity},set:function(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}},{key:"normalMap",get:function(){return this._normalMap}},{key:"ambientMap",get:function(){return this._ambientMap}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specularMap",get:function(){return this._specularMap}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"reflectivityMap",get:function(){return this._reflectivityMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"diffuseFresnel",get:function(){return this._diffuseFresnel}},{key:"specularFresnel",get:function(){return this._specularFresnel}},{key:"emissiveFresnel",get:function(){return this._emissiveFresnel}},{key:"alphaFresnel",get:function(){return this._alphaFresnel}},{key:"reflectivityFresnel",get:function(){return this._reflectivityFresnel}},{key:"alphaMode",get:function(){return Sn[this._state.alphaMode]},set:function(e){var t=On[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Ln={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}},xn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),r._preset="default",i.preset?(r.preset=i.preset,void 0!==i.fill&&(r.fill=i.fill),i.fillColor&&(r.fillColor=i.fillColor),void 0!==i.fillAlpha&&(r.fillAlpha=i.fillAlpha),void 0!==i.edges&&(r.edges=i.edges),i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth),void 0!==i.backfaces&&(r.backfaces=i.backfaces),void 0!==i.glowThrough&&(r.glowThrough=i.glowThrough)):(r.fill=i.fill,r.fillColor=i.fillColor,r.fillAlpha=i.fillAlpha,r.edges=i.edges,r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth,r.backfaces=i.backfaces,r.glowThrough=i.glowThrough),r}return P(n,[{key:"type",get:function(){return"EmphasisMaterial"}},{key:"presets",get:function(){return Ln}},{key:"fill",get:function(){return this._state.fill},set:function(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}},{key:"fillColor",get:function(){return this._state.fillColor},set:function(e){var t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}},{key:"fillAlpha",get:function(){return this._state.fillAlpha},set:function(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"glowThrough",get:function(){return this._state.glowThrough},set:function(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Ln[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ln).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Mn={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}},Fn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),r._preset="default",i.preset?(r.preset=i.preset,i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth)):(r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth),r.edges=!1!==i.edges,r}return P(n,[{key:"type",get:function(){return"EdgeMaterial"}},{key:"presets",get:function(){return Mn}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Mn[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Mn).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Hn={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}},Un=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._units="meters",r._scale=1,r._origin=$.vec3([0,0,0]),r.units=i.units,r.scale=i.scale,r.origin=i.origin,r}return P(n,[{key:"unitsInfo",get:function(){return Hn}},{key:"units",get:function(){return this._units},set:function(e){e||(e="meters"),Hn[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}},{key:"scale",get:function(){return this._scale},set:function(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}},{key:"origin",get:function(){return this._origin},set:function(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}},{key:"worldToRealPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}},{key:"realToWorldPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}]),n}(),Gn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._supported=dt.SUPPORTED_EXTENSIONS.OES_standard_derivatives,r.enabled=i.enabled,r.kernelRadius=i.kernelRadius,r.intensity=i.intensity,r.bias=i.bias,r.scale=i.scale,r.minResolution=i.minResolution,r.numSamples=i.numSamples,r.blur=i.blur,r.blendCutoff=i.blendCutoff,r.blendFactor=i.blendFactor,r}return P(n,[{key:"supported",get:function(){return this._supported}},{key:"enabled",get:function(){return this._enabled},set:function(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}},{key:"possible",get:function(){if(!this._supported)return!1;if(!this._enabled)return!1;var e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}},{key:"active",get:function(){return this._active}},{key:"kernelRadius",get:function(){return this._kernelRadius},set:function(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}},{key:"intensity",get:function(){return this._intensity},set:function(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}},{key:"bias",get:function(){return this._bias},set:function(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}},{key:"minResolution",get:function(){return this._minResolution},set:function(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}},{key:"numSamples",get:function(){return this._numSamples},set:function(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}},{key:"blur",get:function(){return this._blur},set:function(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}},{key:"blendCutoff",get:function(){return this._blendCutoff},set:function(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}},{key:"blendFactor",get:function(){return this._blendFactor},set:function(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),kn={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}},jn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),i.preset?(r.preset=i.preset,void 0!==i.pointSize&&(r.pointSize=i.pointSize),void 0!==i.roundPoints&&(r.roundPoints=i.roundPoints),void 0!==i.perspectivePoints&&(r.perspectivePoints=i.perspectivePoints),void 0!==i.minPerspectivePointSize&&(r.minPerspectivePointSize=i.minPerspectivePointSize),void 0!==i.maxPerspectivePointSize&&(r.maxPerspectivePointSize=i.minPerspectivePointSize)):(r._preset="default",r.pointSize=i.pointSize,r.roundPoints=i.roundPoints,r.perspectivePoints=i.perspectivePoints,r.minPerspectivePointSize=i.minPerspectivePointSize,r.maxPerspectivePointSize=i.maxPerspectivePointSize),r.filterIntensity=i.filterIntensity,r.minIntensity=i.minIntensity,r.maxIntensity=i.maxIntensity,r}return P(n,[{key:"type",get:function(){return"PointsMaterial"}},{key:"presets",get:function(){return kn}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||2,this.glRedraw()}},{key:"roundPoints",get:function(){return this._state.roundPoints},set:function(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"perspectivePoints",get:function(){return this._state.perspectivePoints},set:function(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minPerspectivePointSize",get:function(){return this._state.minPerspectivePointSize},set:function(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}},{key:"maxPerspectivePointSize",get:function(){return this._state.maxPerspectivePointSize},set:function(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}},{key:"filterIntensity",get:function(){return this._state.filterIntensity},set:function(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minIntensity",get:function(){return this._state.minIntensity},set:function(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}},{key:"maxIntensity",get:function(){return this._state.maxIntensity},set:function(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=kn[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(kn).join(", "))}}},{key:"hash",get:function(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Vn={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}},Qn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LinesMaterial",lineWidth:null}),i.preset?(r.preset=i.preset,void 0!==i.lineWidth&&(r.lineWidth=i.lineWidth)):(r._preset="default",r.lineWidth=i.lineWidth),r}return P(n,[{key:"type",get:function(){return"LinesMaterial"}},{key:"presets",get:function(){return Vn}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Vn[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Vn).join(", "))}}},{key:"hash",get:function(){return[""+this.lineWidth].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Wn(e,t){for(var n,r,i={},a=0,s=t.length;a1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,null,i);var a=i.canvasElement||document.getElementById(i.canvasId);if(!(a instanceof HTMLCanvasElement))throw"Mandatory config expected: valid canvasId or canvasElement";r._tickifiedFunctions={};var s=!!i.transparent,o=!!i.alphaDepthMask;return r._aabbDirty=!0,r.viewer=e,r.occlusionTestCountdown=0,r.loading=0,r.startTime=(new Date).getTime(),r.models={},r.objects={},r._numObjects=0,r.visibleObjects={},r._numVisibleObjects=0,r.xrayedObjects={},r._numXRayedObjects=0,r.highlightedObjects={},r._numHighlightedObjects=0,r.selectedObjects={},r._numSelectedObjects=0,r.colorizedObjects={},r._numColorizedObjects=0,r.opacityObjects={},r._numOpacityObjects=0,r.offsetObjects={},r._numOffsetObjects=0,r._modelIds=null,r._objectIds=null,r._visibleObjectIds=null,r._xrayedObjectIds=null,r._highlightedObjectIds=null,r._selectedObjectIds=null,r._colorizedObjectIds=null,r._opacityObjectIds=null,r._offsetObjectIds=null,r._collidables={},r._compilables={},r._needRecompile=!1,r.types={},r.components={},r.sectionPlanes={},r.lights={},r.lightMaps={},r.reflectionMaps={},r.bitmaps={},r.lineSets={},r.realWorldOffset=i.realWorldOffset||new Float64Array([0,0,0]),r.canvas=new pt(g(r),{dontClear:!0,canvas:a,spinnerElementId:i.spinnerElementId,transparent:s,webgl2:!1!==i.webgl2,contextAttr:i.contextAttr||{},backgroundColor:i.backgroundColor,backgroundColorFromAmbientLight:i.backgroundColorFromAmbientLight,premultipliedAlpha:i.premultipliedAlpha}),r.canvas.on("boundary",(function(){r.glRedraw()})),r.canvas.on("webglContextFailed",(function(){alert("xeokit failed to find WebGL!")})),r._renderer=new jt(g(r),{transparent:s,alphaDepthMask:o}),r._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;var e=null;this.getHash=function(){if(e)return e;var t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";for(var n=[],r=0,i=t;rthis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},r._sectionPlanesState.setNumCachedSectionPlanes(i.numCachedSectionPlanes||0),r._lightsState=new function(){var e=$.vec4([0,0,0,0]),t=$.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];var n=null,r=null;this.getHash=function(){if(n)return n;for(var e,t=[],r=this.lights,i=0,a=r.length;i0&&t.push("/lm"),this.reflectionMaps.length>0&&t.push("/rm"),t.push(";"),n=t.join("")},this.addLight=function(e){this.lights.push(e),r=null,n=null},this.removeLight=function(e){for(var t=0,i=this.lights.length;t1&&void 0!==arguments[1])||arguments[1];e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}},{key:"_objectXRayedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}},{key:"_objectHighlightedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}},{key:"_objectSelectedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}},{key:"_objectColorizeUpdated",value:function(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}},{key:"_objectOpacityUpdated",value:function(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}},{key:"_objectOffsetUpdated",value:function(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}},{key:"_webglContextLost",value:function(){for(var e in this.canvas.spinner.processes++,this.components)if(this.components.hasOwnProperty(e)){var t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}},{key:"_webglContextRestored",value:function(){var e=this.canvas.gl;for(var t in this.components)if(this.components.hasOwnProperty(t)){var n=this.components[t];n._webglContextRestored&&n._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}},{key:"capabilities",get:function(){return this._renderer.capabilities}},{key:"entityOffsetsEnabled",get:function(){return this._entityOffsetsEnabled}},{key:"pickSurfacePrecisionEnabled",get:function(){return!1}},{key:"logarithmicDepthBufferEnabled",get:function(){return this._logarithmicDepthBufferEnabled}},{key:"numCachedSectionPlanes",get:function(){return this._sectionPlanesState.getNumCachedSectionPlanes()},set:function(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}},{key:"pbrEnabled",get:function(){return this._pbrEnabled},set:function(e){this._pbrEnabled=!!e,this.glRedraw()}},{key:"dtxEnabled",get:function(){return this._dtxEnabled},set:function(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}},{key:"colorTextureEnabled",get:function(){return this._colorTextureEnabled},set:function(e){this._colorTextureEnabled=!!e,this.glRedraw()}},{key:"doOcclusionTest",value:function(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}},{key:"render",value:function(e){e&&he.runTasks();var t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),e||this._renderer.needsRender()){t.sceneId=this.id;var n,r,i=this._passes,a=this._clearEachPass;for(n=0;na&&(a=e[3]),e[4]>s&&(s=e[4]),e[5]>o&&(o=e[5]),u=!0}u||(n=-100,r=-100,i=-100,a=100,s=100,o=100),this._aabb[0]=n,this._aabb[1]=r,this._aabb[2]=i,this._aabb[3]=a,this._aabb[4]=s,this._aabb[5]=o,this._aabbDirty=!1}return this._aabb}},{key:"_setAABBDirty",value:function(){this._aabbDirty=!0,this.fire("boundary")}},{key:"pick",value:function(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");var n=e.includeEntities||e.include;n&&(e.includeEntityIds=Wn(this,n));var r=e.excludeEntities||e.exclude;return r&&(e.excludeEntityIds=Wn(this,r)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}},{key:"snapPick",value:function(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}},{key:"clear",value:function(){var e;for(var t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}},{key:"clearLights",value:function(){for(var e=Object.keys(this.lights),t=0,n=e.length;ts&&(s=t[3]),t[4]>o&&(o=t[4]),t[5]>l&&(l=t[5]),n=!0}})),n){var u=$.AABB3();return u[0]=r,u[1]=i,u[2]=a,u[3]=s,u[4]=o,u[5]=l,u}return this.aabb}},{key:"setObjectsVisible",value:function(e,t){return this.withObjects(e,(function(e){var n=e.visible!==t;return e.visible=t,n}))}},{key:"setObjectsCollidable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.collidable!==t;return e.collidable=t,n}))}},{key:"setObjectsCulled",value:function(e,t){return this.withObjects(e,(function(e){var n=e.culled!==t;return e.culled=t,n}))}},{key:"setObjectsSelected",value:function(e,t){return this.withObjects(e,(function(e){var n=e.selected!==t;return e.selected=t,n}))}},{key:"setObjectsHighlighted",value:function(e,t){return this.withObjects(e,(function(e){var n=e.highlighted!==t;return e.highlighted=t,n}))}},{key:"setObjectsXRayed",value:function(e,t){return this.withObjects(e,(function(e){var n=e.xrayed!==t;return e.xrayed=t,n}))}},{key:"setObjectsEdges",value:function(e,t){return this.withObjects(e,(function(e){var n=e.edges!==t;return e.edges=t,n}))}},{key:"setObjectsColorized",value:function(e,t){return this.withObjects(e,(function(e){e.colorize=t}))}},{key:"setObjectsOpacity",value:function(e,t){return this.withObjects(e,(function(e){var n=e.opacity!==t;return e.opacity=t,n}))}},{key:"setObjectsPickable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.pickable!==t;return e.pickable=t,n}))}},{key:"setObjectsOffset",value:function(e,t){this.withObjects(e,(function(e){e.offset=t}))}},{key:"withObjects",value:function(e,t){le.isString(e)&&(e=[e]);for(var n=!1,r=0,i=e.length;rr&&(r=i,e.apply(void 0,c(n)))}));return this._tickifiedFunctions[t]={tickSubId:s,wrapperFunc:a},a}},{key:"destroy",value:function(){for(var e in v(E(n.prototype),"destroy",this).call(this),this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}]),n}(),Kn=1e3,Yn=1001,Xn=1002,qn=1003,Jn=1004,Zn=1004,$n=1005,er=1005,tr=1006,nr=1007,rr=1007,ir=1008,ar=1008,sr=1009,or=1010,lr=1011,ur=1012,cr=1013,fr=1014,pr=1015,Ar=1016,dr=1017,vr=1018,hr=1020,Ir=1021,yr=1022,mr=1023,wr=1024,gr=1025,Er=1026,Tr=1027,br=1028,Dr=1029,Pr=1030,Rr=1031,Cr=1033,_r=33776,Br=33777,Or=33778,Sr=33779,Nr=35840,Lr=35841,xr=35842,Mr=35843,Fr=36196,Hr=37492,Ur=37496,Gr=37808,kr=37809,jr=37810,Vr=37811,Qr=37812,Wr=37813,zr=37814,Kr=37815,Yr=37816,Xr=37817,qr=37818,Jr=37819,Zr=37820,$r=37821,ei=36492,ti=3e3,ni=3001,ri=1e4,ii=10001,ai=10002,si=10003,oi=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,s=e._state.stationary,o=n.getNumAllocatedSectionPlanes()>0,l=!!i.compressGeometry,u=[];u.push("#version 300 es"),u.push("// Lambertian drawing vertex shader"),u.push("in vec3 position;"),u.push("uniform mat4 modelMatrix;"),u.push("uniform mat4 viewMatrix;"),u.push("uniform mat4 projMatrix;"),u.push("uniform vec4 colorize;"),u.push("uniform vec3 offset;"),l&&u.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(u.push("uniform float logDepthBufFC;"),u.push("out float vFragDepth;"),u.push("bool isPerspectiveMatrix(mat4 m) {"),u.push(" return (m[2][3] == - 1.0);"),u.push("}"),u.push("out float isPerspective;"));o&&u.push("out vec4 vWorldPosition;");if(u.push("uniform vec4 lightAmbient;"),u.push("uniform vec4 materialColor;"),u.push("uniform vec3 materialEmissive;"),i.normalsBuf){u.push("in vec3 normal;"),u.push("uniform mat4 modelNormalMatrix;"),u.push("uniform mat4 viewNormalMatrix;");for(var c=0,f=r.lights.length;c= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),u.push(" }"),u.push(" return normalize(v);"),u.push("}"))}u.push("out vec4 vColor;"),"points"===i.primitiveName&&u.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(u.push("void billboard(inout mat4 mat) {"),u.push(" mat[0][0] = 1.0;"),u.push(" mat[0][1] = 0.0;"),u.push(" mat[0][2] = 0.0;"),"spherical"===a&&(u.push(" mat[1][0] = 0.0;"),u.push(" mat[1][1] = 1.0;"),u.push(" mat[1][2] = 0.0;")),u.push(" mat[2][0] = 0.0;"),u.push(" mat[2][1] = 0.0;"),u.push(" mat[2][2] =1.0;"),u.push("}"));u.push("void main(void) {"),u.push("vec4 localPosition = vec4(position, 1.0); "),u.push("vec4 worldPosition;"),l&&u.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(l?u.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):u.push("vec4 localNormal = vec4(normal, 0.0); "),u.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),u.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));u.push("mat4 viewMatrix2 = viewMatrix;"),u.push("mat4 modelMatrix2 = modelMatrix;"),s&&u.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(u.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),u.push("billboard(modelMatrix2);"),u.push("billboard(viewMatrix2);"),u.push("billboard(modelViewMatrix);"),i.normalsBuf&&(u.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),u.push("billboard(modelNormalMatrix2);"),u.push("billboard(viewNormalMatrix2);"),u.push("billboard(modelViewNormalMatrix);")),u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&u.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(u.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),u.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),u.push("float lambertian = 1.0;"),i.normalsBuf)for(var A=0,d=r.lights.length;A0,a=t.gammaOutput,s=[];s.push("#version 300 es"),s.push("// Lambertian drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"));if(i){s.push("in vec4 vWorldPosition;"),s.push("uniform bool clippable;");for(var o=0,l=n.getNumAllocatedSectionPlanes();o 0.0) { discard; }"),s.push("}")}"points"===r.primitiveName&&(s.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),s.push("float r = dot(cxy, cxy);"),s.push("if (r > 1.0) {"),s.push(" discard;"),s.push("}"));t.logarithmicDepthBufferEnabled&&s.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?s.push("outColor = linearToGamma(vColor, gammaFactor);"):s.push("outColor = vColor;");return s.push("}"),s}(e)):(this.vertex=function(e){var t=e.scene;e._material;var n,r=e._state,i=t._sectionPlanesState,a=e._geometry._state,s=t._lightsState,o=r.billboard,l=r.background,u=r.stationary,c=function(e){if(!e._geometry._state.uvBuf)return!1;var t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),f=ci(e),p=i.getNumAllocatedSectionPlanes()>0,A=ui(e),d=!!a.compressGeometry,v=[];v.push("#version 300 es"),v.push("// Drawing vertex shader"),v.push("in vec3 position;"),d&&v.push("uniform mat4 positionsDecodeMatrix;");v.push("uniform mat4 modelMatrix;"),v.push("uniform mat4 viewMatrix;"),v.push("uniform mat4 projMatrix;"),v.push("out vec3 vViewPosition;"),v.push("uniform vec3 offset;"),p&&v.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(v.push("uniform float logDepthBufFC;"),v.push("out float vFragDepth;"),v.push("bool isPerspectiveMatrix(mat4 m) {"),v.push(" return (m[2][3] == - 1.0);"),v.push("}"),v.push("out float isPerspective;"));s.lightMaps.length>0&&v.push("out vec3 vWorldNormal;");if(f){v.push("in vec3 normal;"),v.push("uniform mat4 modelNormalMatrix;"),v.push("uniform mat4 viewNormalMatrix;"),v.push("out vec3 vViewNormal;");for(var h=0,I=s.lights.length;h= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),v.push(" }"),v.push(" return normalize(v);"),v.push("}"))}c&&(v.push("in vec2 uv;"),v.push("out vec2 vUV;"),d&&v.push("uniform mat3 uvDecodeMatrix;"));a.colors&&(v.push("in vec4 color;"),v.push("out vec4 vColor;"));"points"===a.primitiveName&&v.push("uniform float pointSize;");"spherical"!==o&&"cylindrical"!==o||(v.push("void billboard(inout mat4 mat) {"),v.push(" mat[0][0] = 1.0;"),v.push(" mat[0][1] = 0.0;"),v.push(" mat[0][2] = 0.0;"),"spherical"===o&&(v.push(" mat[1][0] = 0.0;"),v.push(" mat[1][1] = 1.0;"),v.push(" mat[1][2] = 0.0;")),v.push(" mat[2][0] = 0.0;"),v.push(" mat[2][1] = 0.0;"),v.push(" mat[2][2] =1.0;"),v.push("}"));if(A){v.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(var y=0,m=s.lights.length;y0&&v.push("vWorldNormal = worldNormal;"),v.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),v.push("vec3 tmpVec3;"),v.push("float lightDist;");for(var w=0,g=s.lights.length;w0,l=ci(e),u=r.uvBuf,c="PhongMaterial"===s.type,f="MetallicMaterial"===s.type,p="SpecularMaterial"===s.type,A=ui(e);t.gammaInput;var d=t.gammaOutput,v=[];v.push("#version 300 es"),v.push("// Drawing fragment shader"),v.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),v.push("precision highp float;"),v.push("precision highp int;"),v.push("#else"),v.push("precision mediump float;"),v.push("precision mediump int;"),v.push("#endif"),t.logarithmicDepthBufferEnabled&&(v.push("in float isPerspective;"),v.push("uniform float logDepthBufFC;"),v.push("in float vFragDepth;"));A&&(v.push("float unpackDepth (vec4 color) {"),v.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),v.push(" return dot(color, bitShift);"),v.push("}"));v.push("uniform float gammaFactor;"),v.push("vec4 linearToLinear( in vec4 value ) {"),v.push(" return value;"),v.push("}"),v.push("vec4 sRGBToLinear( in vec4 value ) {"),v.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),v.push("}"),v.push("vec4 gammaToLinear( in vec4 value) {"),v.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),v.push("}"),d&&(v.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),v.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),v.push("}"));if(o){v.push("in vec4 vWorldPosition;"),v.push("uniform bool clippable;");for(var h=0;h0&&(v.push("uniform samplerCube lightMap;"),v.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&v.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("uniform mat4 viewMatrix;"),v.push("#define PI 3.14159265359"),v.push("#define RECIPROCAL_PI 0.31830988618"),v.push("#define RECIPROCAL_PI2 0.15915494"),v.push("#define EPSILON 1e-6"),v.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),v.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),v.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),v.push("}"),v.push("struct IncidentLight {"),v.push(" vec3 color;"),v.push(" vec3 direction;"),v.push("};"),v.push("struct ReflectedLight {"),v.push(" vec3 diffuse;"),v.push(" vec3 specular;"),v.push("};"),v.push("struct Geometry {"),v.push(" vec3 position;"),v.push(" vec3 viewNormal;"),v.push(" vec3 worldNormal;"),v.push(" vec3 viewEyeDir;"),v.push("};"),v.push("struct Material {"),v.push(" vec3 diffuseColor;"),v.push(" float specularRoughness;"),v.push(" vec3 specularColor;"),v.push(" float shine;"),v.push("};"),c&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = "+li[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),v.push(" radiance *= PI;"),v.push(" reflectedLight.specular += radiance;")),v.push("}")),v.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),v.push(" vec3 irradiance = dotNL * directLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),v.push("}")),(f||p)&&(v.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),v.push(" float r = ggxRoughness + 0.0001;"),v.push(" return (2.0 / (r * r) - 2.0);"),v.push("}"),v.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),v.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),v.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),v.push("}"),a.reflectionMaps.length>0&&(v.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),v.push(" vec3 envMapColor = "+li[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),v.push(" return envMapColor;"),v.push("}")),v.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),v.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),v.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),v.push("}"),v.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" return 1.0 / ( gl * gv );"),v.push("}"),v.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" return 0.5 / max( gv + gl, EPSILON );"),v.push("}"),v.push("float D_GGX(const in float alpha, const in float dotNH) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),v.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float alpha = ( roughness * roughness );"),v.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),v.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),v.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),v.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),v.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),v.push(" vec3 F = F_Schlick( specularColor, dotLH );"),v.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),v.push(" float D = D_GGX( alpha, dotNH );"),v.push(" return F * (G * D);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),v.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),v.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),v.push(" vec4 r = roughness * c0 + c1;"),v.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),v.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),v.push(" return specularColor * AB.x + AB.y;"),v.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),v.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),v.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),v.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),v.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),v.push("}")),v.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),v.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),v.push("}")));v.push("in vec3 vViewPosition;"),r.colors&&v.push("in vec4 vColor;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._occlusionMap||n._alphaMap)&&v.push("in vec2 vUV;");l&&(a.lightMaps.length>0&&v.push("in vec3 vWorldNormal;"),v.push("in vec3 vViewNormal;"));s.ambient&&v.push("uniform vec3 materialAmbient;");s.baseColor&&v.push("uniform vec3 materialBaseColor;");void 0!==s.alpha&&null!==s.alpha&&v.push("uniform vec4 materialAlphaModeCutoff;");s.emissive&&v.push("uniform vec3 materialEmissive;");s.diffuse&&v.push("uniform vec3 materialDiffuse;");void 0!==s.glossiness&&null!==s.glossiness&&v.push("uniform float materialGlossiness;");void 0!==s.shininess&&null!==s.shininess&&v.push("uniform float materialShininess;");s.specular&&v.push("uniform vec3 materialSpecular;");void 0!==s.metallic&&null!==s.metallic&&v.push("uniform float materialMetallic;");void 0!==s.roughness&&null!==s.roughness&&v.push("uniform float materialRoughness;");void 0!==s.specularF0&&null!==s.specularF0&&v.push("uniform float materialSpecularF0;");u&&n._ambientMap&&(v.push("uniform sampler2D ambientMap;"),n._ambientMap._state.matrix&&v.push("uniform mat4 ambientMapMatrix;"));u&&n._baseColorMap&&(v.push("uniform sampler2D baseColorMap;"),n._baseColorMap._state.matrix&&v.push("uniform mat4 baseColorMapMatrix;"));u&&n._diffuseMap&&(v.push("uniform sampler2D diffuseMap;"),n._diffuseMap._state.matrix&&v.push("uniform mat4 diffuseMapMatrix;"));u&&n._emissiveMap&&(v.push("uniform sampler2D emissiveMap;"),n._emissiveMap._state.matrix&&v.push("uniform mat4 emissiveMapMatrix;"));l&&u&&n._metallicMap&&(v.push("uniform sampler2D metallicMap;"),n._metallicMap._state.matrix&&v.push("uniform mat4 metallicMapMatrix;"));l&&u&&n._roughnessMap&&(v.push("uniform sampler2D roughnessMap;"),n._roughnessMap._state.matrix&&v.push("uniform mat4 roughnessMapMatrix;"));l&&u&&n._metallicRoughnessMap&&(v.push("uniform sampler2D metallicRoughnessMap;"),n._metallicRoughnessMap._state.matrix&&v.push("uniform mat4 metallicRoughnessMapMatrix;"));l&&n._normalMap&&(v.push("uniform sampler2D normalMap;"),n._normalMap._state.matrix&&v.push("uniform mat4 normalMapMatrix;"),v.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),v.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),v.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),v.push(" vec2 st0 = dFdx( uv.st );"),v.push(" vec2 st1 = dFdy( uv.st );"),v.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),v.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),v.push(" vec3 N = normalize( surf_norm );"),v.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),v.push(" mat3 tsn = mat3( S, T, N );"),v.push(" return normalize( tsn * mapN );"),v.push("}"));u&&n._occlusionMap&&(v.push("uniform sampler2D occlusionMap;"),n._occlusionMap._state.matrix&&v.push("uniform mat4 occlusionMapMatrix;"));u&&n._alphaMap&&(v.push("uniform sampler2D alphaMap;"),n._alphaMap._state.matrix&&v.push("uniform mat4 alphaMapMatrix;"));l&&u&&n._specularMap&&(v.push("uniform sampler2D specularMap;"),n._specularMap._state.matrix&&v.push("uniform mat4 specularMapMatrix;"));l&&u&&n._glossinessMap&&(v.push("uniform sampler2D glossinessMap;"),n._glossinessMap._state.matrix&&v.push("uniform mat4 glossinessMapMatrix;"));l&&u&&n._specularGlossinessMap&&(v.push("uniform sampler2D materialSpecularGlossinessMap;"),n._specularGlossinessMap._state.matrix&&v.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));l&&(n._diffuseFresnel||n._specularFresnel||n._alphaFresnel||n._emissiveFresnel||n._reflectivityFresnel)&&(v.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),v.push(" float fr = abs(dot(eyeDir, normal));"),v.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),v.push(" return pow(finalFr, power);"),v.push("}"),n._diffuseFresnel&&(v.push("uniform float diffuseFresnelCenterBias;"),v.push("uniform float diffuseFresnelEdgeBias;"),v.push("uniform float diffuseFresnelPower;"),v.push("uniform vec3 diffuseFresnelCenterColor;"),v.push("uniform vec3 diffuseFresnelEdgeColor;")),n._specularFresnel&&(v.push("uniform float specularFresnelCenterBias;"),v.push("uniform float specularFresnelEdgeBias;"),v.push("uniform float specularFresnelPower;"),v.push("uniform vec3 specularFresnelCenterColor;"),v.push("uniform vec3 specularFresnelEdgeColor;")),n._alphaFresnel&&(v.push("uniform float alphaFresnelCenterBias;"),v.push("uniform float alphaFresnelEdgeBias;"),v.push("uniform float alphaFresnelPower;"),v.push("uniform vec3 alphaFresnelCenterColor;"),v.push("uniform vec3 alphaFresnelEdgeColor;")),n._reflectivityFresnel&&(v.push("uniform float materialSpecularF0FresnelCenterBias;"),v.push("uniform float materialSpecularF0FresnelEdgeBias;"),v.push("uniform float materialSpecularF0FresnelPower;"),v.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),v.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),n._emissiveFresnel&&(v.push("uniform float emissiveFresnelCenterBias;"),v.push("uniform float emissiveFresnelEdgeBias;"),v.push("uniform float emissiveFresnelPower;"),v.push("uniform vec3 emissiveFresnelCenterColor;"),v.push("uniform vec3 emissiveFresnelEdgeColor;")));if(v.push("uniform vec4 lightAmbient;"),l)for(var I=0,y=a.lights.length;I 0.0) { discard; }"),v.push("}")}"points"===r.primitiveName&&(v.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),v.push("float r = dot(cxy, cxy);"),v.push("if (r > 1.0) {"),v.push(" discard;"),v.push("}"));v.push("float occlusion = 1.0;"),s.ambient?v.push("vec3 ambientColor = materialAmbient;"):v.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");s.diffuse?v.push("vec3 diffuseColor = materialDiffuse;"):s.baseColor?v.push("vec3 diffuseColor = materialBaseColor;"):v.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");r.colors&&v.push("diffuseColor *= vColor.rgb;");s.emissive?v.push("vec3 emissiveColor = materialEmissive;"):v.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");s.specular?v.push("vec3 specular = materialSpecular;"):v.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==s.alpha?v.push("float alpha = materialAlphaModeCutoff[0];"):v.push("float alpha = 1.0;");r.colors&&v.push("alpha *= vColor.a;");void 0!==s.glossiness?v.push("float glossiness = materialGlossiness;"):v.push("float glossiness = 1.0;");void 0!==s.metallic?v.push("float metallic = materialMetallic;"):v.push("float metallic = 1.0;");void 0!==s.roughness?v.push("float roughness = materialRoughness;"):v.push("float roughness = 1.0;");void 0!==s.specularF0?v.push("float specularF0 = materialSpecularF0;"):v.push("float specularF0 = 1.0;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._occlusionMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._alphaMap)&&(v.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),v.push("vec2 textureCoord;"));u&&n._ambientMap&&(n._ambientMap._state.matrix?v.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),v.push("ambientTexel = "+li[n._ambientMap._state.encoding]+"(ambientTexel);"),v.push("ambientColor *= ambientTexel.rgb;"));u&&n._diffuseMap&&(n._diffuseMap._state.matrix?v.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),v.push("diffuseTexel = "+li[n._diffuseMap._state.encoding]+"(diffuseTexel);"),v.push("diffuseColor *= diffuseTexel.rgb;"),v.push("alpha *= diffuseTexel.a;"));u&&n._baseColorMap&&(n._baseColorMap._state.matrix?v.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),v.push("baseColorTexel = "+li[n._baseColorMap._state.encoding]+"(baseColorTexel);"),v.push("diffuseColor *= baseColorTexel.rgb;"),v.push("alpha *= baseColorTexel.a;"));u&&n._emissiveMap&&(n._emissiveMap._state.matrix?v.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),v.push("emissiveTexel = "+li[n._emissiveMap._state.encoding]+"(emissiveTexel);"),v.push("emissiveColor = emissiveTexel.rgb;"));u&&n._alphaMap&&(n._alphaMap._state.matrix?v.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("alpha *= texture(alphaMap, textureCoord).r;"));u&&n._occlusionMap&&(n._occlusionMap._state.matrix?v.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(l&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){u&&n._normalMap?(n._normalMap._state.matrix?v.push("textureCoord = (normalMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):v.push("vec3 viewNormal = normalize(vViewNormal);"),u&&n._specularMap&&(n._specularMap._state.matrix?v.push("textureCoord = (specularMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("specular *= texture(specularMap, textureCoord).rgb;")),u&&n._glossinessMap&&(n._glossinessMap._state.matrix?v.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("glossiness *= texture(glossinessMap, textureCoord).r;")),u&&n._specularGlossinessMap&&(n._specularGlossinessMap._state.matrix?v.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),v.push("specular *= specGlossRGB.rgb;"),v.push("glossiness *= specGlossRGB.a;")),u&&n._metallicMap&&(n._metallicMap._state.matrix?v.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("metallic *= texture(metallicMap, textureCoord).r;")),u&&n._roughnessMap&&(n._roughnessMap._state.matrix?v.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("roughness *= texture(roughnessMap, textureCoord).r;")),u&&n._metallicRoughnessMap&&(n._metallicRoughnessMap._state.matrix?v.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),v.push("metallic *= metalRoughRGB.b;"),v.push("roughness *= metalRoughRGB.g;")),v.push("vec3 viewEyeDir = normalize(-vViewPosition);"),n._diffuseFresnel&&(v.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),v.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),n._specularFresnel&&(v.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),v.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),n._alphaFresnel&&(v.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),v.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),n._emissiveFresnel&&(v.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),v.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),v.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),v.push(" discard;"),v.push("}"),v.push("IncidentLight light;"),v.push("Material material;"),v.push("Geometry geometry;"),v.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),v.push("vec3 viewLightDir;"),c&&(v.push("material.diffuseColor = diffuseColor;"),v.push("material.specularColor = specular;"),v.push("material.shine = materialShininess;")),p&&(v.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),v.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),v.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),v.push("material.specularColor = specular;")),f&&(v.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),v.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),v.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),v.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),v.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&v.push("geometry.worldNormal = normalize(vWorldNormal);"),v.push("geometry.viewNormal = viewNormal;"),v.push("geometry.viewEyeDir = viewEyeDir;"),c&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||f)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePBRLightMapping(geometry, material, reflectedLight);"),v.push("float shadow = 1.0;"),v.push("float shadowAcneRemover = 0.007;"),v.push("vec3 fragmentDepth;"),v.push("float texelSize = 1.0 / 1024.0;"),v.push("float amountInLight = 0.0;"),v.push("vec3 shadowCoord;"),v.push("vec4 rgbaDepth;"),v.push("float depth;");for(var E=0,T=a.lights.length;E0)for(var v=r._sectionPlanesState.sectionPlanes,h=t.renderFlags,I=0;I0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(c=0,f=a.sectionPlanes.length;c0&&a.lightMaps[0].texture&&this._uLightMap&&(o.bindTexture(this._uLightMap,a.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),a.reflectionMaps.length>0&&a.reflectionMaps[0].texture&&this._uReflectionMap&&(o.bindTexture(this._uReflectionMap,a.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),this._uGammaFactor&&i.uniform1f(this._uGammaFactor,r.gammaFactor),this._baseTextureUnit=e.textureUnit};var vi=P((function e(t){b(this,e),this.vertex=function(e){var t=e.scene,n=t._lightsState,r=function(e){var t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,s=e._state.billboard,o=e._state.stationary,l=[];l.push("#version 300 es"),l.push("// EmphasisFillShaderSource vertex shader"),l.push("in vec3 position;"),l.push("uniform mat4 modelMatrix;"),l.push("uniform mat4 viewMatrix;"),l.push("uniform mat4 projMatrix;"),l.push("uniform vec4 colorize;"),l.push("uniform vec3 offset;"),a&&l.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;"));i&&l.push("out vec4 vWorldPosition;");if(l.push("uniform vec4 lightAmbient;"),l.push("uniform vec4 fillColor;"),r){l.push("in vec3 normal;"),l.push("uniform mat4 modelNormalMatrix;"),l.push("uniform mat4 viewNormalMatrix;");for(var u=0,c=n.lights.length;u= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"))}l.push("out vec4 vColor;"),("spherical"===s||"cylindrical"===s)&&(l.push("void billboard(inout mat4 mat) {"),l.push(" mat[0][0] = 1.0;"),l.push(" mat[0][1] = 0.0;"),l.push(" mat[0][2] = 0.0;"),"spherical"===s&&(l.push(" mat[1][0] = 0.0;"),l.push(" mat[1][1] = 1.0;"),l.push(" mat[1][2] = 0.0;")),l.push(" mat[2][0] = 0.0;"),l.push(" mat[2][1] = 0.0;"),l.push(" mat[2][2] =1.0;"),l.push("}"));l.push("void main(void) {"),l.push("vec4 localPosition = vec4(position, 1.0); "),l.push("vec4 worldPosition;"),a&&l.push("localPosition = positionsDecodeMatrix * localPosition;");r&&(a?l.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):l.push("vec4 localNormal = vec4(normal, 0.0); "),l.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),l.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));l.push("mat4 viewMatrix2 = viewMatrix;"),l.push("mat4 modelMatrix2 = modelMatrix;"),o&&l.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===s||"cylindrical"===s?(l.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),l.push("billboard(modelMatrix2);"),l.push("billboard(viewMatrix2);"),l.push("billboard(modelViewMatrix);"),r&&(l.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),l.push("billboard(modelNormalMatrix2);"),l.push("billboard(viewNormalMatrix2);"),l.push("billboard(modelViewNormalMatrix);")),l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r&&l.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),r)for(var p=0,A=n.lights.length;p0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var hi=new G({}),Ii=$.vec3(),yi=function(e,t){this.id=hi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new vi(t),this._allocate(t)},mi={};yi.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=mi[t];return n||(n=new yi(t,e),mi[t]=n,re.memory.programs++),n._useCount++,n},yi.prototype.put=function(){0==--this._useCount&&(hi.removeItem(this.id),this._program&&this._program.destroy(),delete mi[this._hash],re.memory.programs--)},yi.prototype.webglContextRestored=function(){this._program=null},yi.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r=this._scene,i=r.camera,a=r.canvas.gl,s=0===n?t._xrayMaterial._state:1===n?t._highlightMaterial._state:t._selectedMaterial._state,o=t._state,l=t._geometry._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(o.originHash,u):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),o.clippable){var c=r._sectionPlanesState.getNumAllocatedSectionPlanes(),f=r._sectionPlanesState.sectionPlanes.length;if(c>0)for(var p=r._sectionPlanesState.sectionPlanes,A=t.renderFlags,d=0;d0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Edges drawing vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec4 edgeColor;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));n&&s.push("out vec4 vWorldPosition;");s.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s.push("vColor = edgeColor;"),n&&s.push("vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene.gammaOutput,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var gi=new G({}),Ei=$.vec3(),Ti=function(e,t){this.id=gi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new wi(t),this._allocate(t)},bi={};Ti.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=bi[t];return n||(n=new Ti(t,e),bi[t]=n,re.memory.programs++),n._useCount++,n},Ti.prototype.put=function(){0==--this._useCount&&(gi.removeItem(this.id),this._program&&this._program.destroy(),delete bi[this._hash],re.memory.programs--)},Ti.prototype.webglContextRestored=function(){this._program=null},Ti.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r,i,a=this._scene,s=a.camera,o=a.canvas.gl,l=t._state,u=t._geometry,c=u._state,f=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),o.uniformMatrix4fv(this._uViewMatrix,!1,f?e.getRTCViewMatrix(l.originHash,f):s.viewMatrix),l.clippable){var p=a._sectionPlanesState.getNumAllocatedSectionPlanes(),A=a._sectionPlanesState.sectionPlanes.length;if(p>0)for(var d=a._sectionPlanesState.sectionPlanes,v=t.renderFlags,h=0;h0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh picking vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("out vec4 vViewPosition;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("uniform vec2 pickClipPos;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy -= pickClipPos;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"));s.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(t)}));var Pi=$.vec3(),Ri=function(e,t){this._hash=e,this._shaderSource=new Di(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ci={};Ri.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),n=Ci[t];if(!n){if((n=new Ri(t,e)).errors)return console.log(n.errors.join("\n")),null;Ci[t]=n,re.memory.programs++}return n._useCount++,n},Ri.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ci[this._hash],re.memory.programs--)},Ri.prototype.webglContextRestored=function(){this._program=null},Ri.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){var l=n._sectionPlanesState.getNumAllocatedSectionPlanes(),u=n._sectionPlanesState.sectionPlanes.length;if(l>0)for(var c=n._sectionPlanesState.sectionPlanes,f=t.renderFlags,p=0;p>24&255,g=m>>16&255,E=m>>8&255,T=255&m;r.uniform4f(this._uPickColor,T/255,E/255,g/255,w/255),r.uniform2fv(this._uPickClipPos,e.pickClipPos),s.indicesBuf?(r.drawElements(s.primitive,s.indicesBuf.numItems,s.indicesBuf.itemType,0),e.drawElements++):s.positions&&r.drawArrays(r.TRIANGLES,0,s.positions.numItems)},Ri.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0,r=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),n&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),r&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),r&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),n&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(t)}));var Bi=$.vec3(),Oi=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new _i(t),this._allocate(t)},Si={};Oi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=Si[t];if(!n){if((n=new Oi(t,e)).errors)return console.log(n.errors.join("\n")),null;Si[t]=n,re.memory.programs++}return n._useCount++,n},Oi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Si[this._hash],re.memory.programs--)},Oi.prototype.webglContextRestored=function(){this._program=null},Oi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry,o=t._geometry._state,l=t.origin,u=a.backfaces,c=a.frontface,f=n.camera.project,p=s._getPickTrianglePositions(),A=s._getPickTriangleColors();if(this._program.bind(),e.useProgram++,n.logarithmicDepthBufferEnabled){var d=2/(Math.log(f.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,d)}if(r.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){var v=n._sectionPlanesState.getNumAllocatedSectionPlanes(),h=n._sectionPlanesState.sectionPlanes.length;if(v>0)for(var I=n._sectionPlanesState.sectionPlanes,y=t.renderFlags,m=0;m0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh occlusion vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(t)}));var Li=$.vec3(),xi=function(e,t){this._hash=e,this._shaderSource=new Ni(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Mi={};xi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";"),n=Mi[t];if(!n){if((n=new xi(t,e)).errors)return console.log(n.errors.join("\n")),null;Mi[t]=n,re.memory.programs++}return n._useCount++,n},xi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Mi[this._hash],re.memory.programs--)},xi.prototype.webglContextRestored=function(){this._program=null},xi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._material._state,a=t._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){var l=i.backfaces;e.backfaces!==l&&(l?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),e.backfaces=l);var u=i.frontface;e.frontface!==u&&(u?r.frontFace(r.CCW):r.frontFace(r.CW),e.frontface=u),this._lastMaterialId=i.id}var c=n.camera;if(r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCViewMatrix(a.originHash,o):c.viewMatrix),a.clippable){var f=n._sectionPlanesState.getNumAllocatedSectionPlanes(),p=n._sectionPlanesState.sectionPlanes.length;if(f>0)for(var A=n._sectionPlanesState.sectionPlanes,d=t.renderFlags,v=0;v0,n=!!e._geometry._state.compressGeometry,r=[];r.push("// Mesh shadow vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 shadowViewMatrix;"),r.push("uniform mat4 shadowProjMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t&&r.push("out vec4 vWorldPosition;");r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("worldPosition = modelMatrix * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&r.push("vWorldPosition = worldPosition;");return r.push(" gl_Position = shadowProjMatrix * viewPosition;"),r.push("}"),r}(t),this.fragment=function(e){var t=e.scene;t.canvas.gl;var n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(t)}));var Hi=function(e,t){this._hash=e,this._shaderSource=new Fi(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ui={};Hi.get=function(e){var t=e.scene,n=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),r=Ui[n];if(!r){if((r=new Hi(n,e)).errors)return console.log(r.errors.join("\n")),null;Ui[n]=r,re.memory.programs++}return r._useCount++,r},Hi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ui[this._hash],re.memory.programs--)},Hi.prototype.webglContextRestored=function(){this._program=null},Hi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene.canvas.gl,r=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.id!==this._lastMaterialId){var a=r.backfaces;e.backfaces!==a&&(a?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=a);var s=r.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),e.lineWidth!==r.lineWidth&&(n.lineWidth(r.lineWidth),e.lineWidth=r.lineWidth),this._uPointSize&&n.uniform1i(this._uPointSize,r.pointSize),this._lastMaterialId=r.id}if(n.uniformMatrix4fv(this._uModelMatrix,n.FALSE,t.worldMatrix),i.combineGeometry){var o=t.vertexBufs;o.id!==this._lastVertexBufsId&&(o.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(o.positionsBuf,o.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),this._lastVertexBufsId=o.id)}this._uClippable&&n.uniform1i(this._uClippable,t._state.clippable),n.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&n.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(n.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(n.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(n.drawArrays(n.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Hi.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uShadowViewMatrix=r.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=r.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0)for(var i,a,s,o=0,l=this._uSectionPlanes.length;o1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).originalSystemId=i.originalSystemId||r.id,r.renderFlags=new Gi,r._state=new Wt({visible:!0,culled:!1,pickable:null,clippable:null,collidable:null,occluder:!1!==i.occluder,castsShadow:null,receivesShadow:null,xrayed:!1,highlighted:!1,selected:!1,edges:!1,stationary:!!i.stationary,background:!!i.background,billboard:r._checkBillboard(i.billboard),layer:null,colorize:null,pickID:r.scene._renderer.getPickID(g(r)),drawHash:"",pickHash:"",offset:$.vec3(),origin:null,originHash:null}),r._drawRenderer=null,r._shadowRenderer=null,r._emphasisFillRenderer=null,r._emphasisEdgesRenderer=null,r._pickMeshRenderer=null,r._pickTriangleRenderer=null,r._occlusionRenderer=null,r._geometry=i.geometry?r._checkComponent2(["ReadableGeometry","VBOGeometry"],i.geometry):r.scene.geometry,r._material=i.material?r._checkComponent2(["PhongMaterial","MetallicMaterial","SpecularMaterial","LambertMaterial"],i.material):r.scene.material,r._xrayMaterial=i.xrayMaterial?r._checkComponent("EmphasisMaterial",i.xrayMaterial):r.scene.xrayMaterial,r._highlightMaterial=i.highlightMaterial?r._checkComponent("EmphasisMaterial",i.highlightMaterial):r.scene.highlightMaterial,r._selectedMaterial=i.selectedMaterial?r._checkComponent("EmphasisMaterial",i.selectedMaterial):r.scene.selectedMaterial,r._edgeMaterial=i.edgeMaterial?r._checkComponent("EdgeMaterial",i.edgeMaterial):r.scene.edgeMaterial,r._parentNode=null,r._aabb=null,r._aabbDirty=!0,r._numTriangles=r._geometry?r._geometry.numTriangles:0,r.scene._aabbDirty=!0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._worldMatrix=$.identityMat4(),r._worldNormalMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,r._worldNormalMatrixDirty=!0;var a=i.origin||i.rtcCenter;if(a&&(r._state.origin=$.vec3(a),r._state.originHash=a.join()),i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.layer=i.layer,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.parentId){var s=r.scene.components[i.parentId];s?s.isNode?s.addChild(g(r)):r.error("Parent is not a Node: '"+i.parentId+"'"):r.error("Parent not found: '"+i.parentId+"'"),r._parentNode=s}else i.parent&&(i.parent.isNode||r.error("Parent is not a Node"),i.parent.addChild(g(r)),r._parentNode=i.parent);return r.compile(),r}return P(n,[{key:"type",get:function(){return"Mesh"}},{key:"isMesh",get:function(){return!0}},{key:"parent",get:function(){return this._parentNode}},{key:"geometry",get:function(){return this._geometry}},{key:"material",get:function(){return this._material}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this.__localMatrix||(this.__localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this.__localMatrix),this._localMatrixDirty=!1),this.__localMatrix},set:function(e){this.__localMatrix||(this.__localMatrix=$.identityMat4()),this.__localMatrix.set(e||qi),$.decomposeMat4(this.__localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._setWorldMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"worldNormalMatrix",get:function(){return this._worldNormalMatrixDirty&&this._buildWorldNormalMatrix(),this._worldNormalMatrix}},{key:"isEntity",get:function(){return!0}},{key:"isModel",get:function(){return this._isModel}},{key:"isObject",get:function(){return this._isObject}},{key:"aabb",get:function(){return this._aabbDirty&&this._updateAABB(),this._aabb}},{key:"origin",get:function(){return this._state.origin},set:function(e){e?(this._state.origin||(this._state.origin=$.vec3()),this._state.origin.set(e),this._state.originHash=e.join(),this._setAABBDirty(),this.scene._aabbDirty=!0):this._state.origin&&(this._state.origin=null,this._state.originHash=null,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"rtcCenter",get:function(){return this.origin},set:function(e){this.origin=e}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"visible",get:function(){return this._state.visible},set:function(e){e=!1!==e,this._state.visible=e,this._isObject&&this.scene._objectVisibilityUpdated(this,e),this.glRedraw()}},{key:"xrayed",get:function(){return this._state.xrayed},set:function(e){e=!!e,this._state.xrayed!==e&&(this._state.xrayed=e,this._isObject&&this.scene._objectXRayedUpdated(this,e),this.glRedraw())}},{key:"highlighted",get:function(){return this._state.highlighted},set:function(e){(e=!!e)!==this._state.highlighted&&(this._state.highlighted=e,this._isObject&&this.scene._objectHighlightedUpdated(this,e),this.glRedraw())}},{key:"selected",get:function(){return this._state.selected},set:function(e){(e=!!e)!==this._state.selected&&(this._state.selected=e,this._isObject&&this.scene._objectSelectedUpdated(this,e),this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){(e=!!e)!==this._state.edges&&(this._state.edges=e,this.glRedraw())}},{key:"culled",get:function(){return this._state.culled},set:function(e){this._state.culled=!!e,this.glRedraw()}},{key:"clippable",get:function(){return this._state.clippable},set:function(e){e=!1!==e,this._state.clippable!==e&&(this._state.clippable=e,this.glRedraw())}},{key:"collidable",get:function(){return this._state.collidable},set:function(e){(e=!1!==e)!==this._state.collidable&&(this._state.collidable=e,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"pickable",get:function(){return this._state.pickable},set:function(e){e=!1!==e,this._state.pickable!==e&&(this._state.pickable=e)}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){(e=!1!==e)!==this._state.castsShadow&&(this._state.castsShadow=e,this.glRedraw())}},{key:"receivesShadow",get:function(){return this._state.receivesShadow},set:function(e){(e=!1!==e)!==this._state.receivesShadow&&(this._state.receivesShadow=e,this._state.hash=e?"/mod/rs;":"/mod;",this.fire("dirty",this))}},{key:"saoEnabled",get:function(){return!1}},{key:"colorize",get:function(){return this._state.colorize},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[3]=1),e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1);var n=!!e;this.scene._objectColorizeUpdated(this,n),this.glRedraw()}},{key:"opacity",get:function(){return this._state.colorize[3]},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[0]=1,t[1]=1,t[2]=1);var n=null!=e;t[3]=n?e:1,this.scene._objectOpacityUpdated(this,n),this.glRedraw()}},{key:"transparent",get:function(){return 2===this._material.alphaMode||this._state.colorize[3]<1}},{key:"layer",get:function(){return this._state.layer},set:function(e){e=e||0,(e=Math.round(e))!==this._state.layer&&(this._state.layer=e,this._renderer.needStateSort())}},{key:"stationary",get:function(){return this._state.stationary}},{key:"billboard",get:function(){return this._state.billboard}},{key:"offset",get:function(){return this._state.offset},set:function(e){this._state.offset.set(e||[0,0,0]),this._setAABBDirty(),this.glRedraw()}},{key:"isDrawable",get:function(){return!0}},{key:"isStateSortable",get:function(){return!0}},{key:"xrayMaterial",get:function(){return this._xrayMaterial}},{key:"highlightMaterial",get:function(){return this._highlightMaterial}},{key:"selectedMaterial",get:function(){return this._selectedMaterial}},{key:"edgeMaterial",get:function(){return this._edgeMaterial}},{key:"_checkBillboard",value:function(e){return"spherical"!==(e=e||"none")&&"cylindrical"!==e&&"none"!==e&&(this.error("Unsupported value for 'billboard': "+e+" - accepted values are 'spherical', 'cylindrical' and 'none' - defaulting to 'none'."),e="none"),e}},{key:"compile",value:function(){var e=this._makeDrawHash();this._state.drawHash!==e&&(this._state.drawHash=e,this._putDrawRenderers(),this._drawRenderer=Ai.get(this),this._emphasisFillRenderer=yi.get(this),this._emphasisEdgesRenderer=Ti.get(this));var t=this._makePickHash();if(this._state.pickHash!==t&&(this._state.pickHash=t,this._putPickRenderers(),this._pickMeshRenderer=Ri.get(this)),this._state.occluder){var n=this._makeOcclusionHash();this._state.occlusionHash!==n&&(this._state.occlusionHash=n,this._putOcclusionRenderer(),this._occlusionRenderer=xi.get(this))}}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._setWorldMatrixDirty()}},{key:"_setWorldMatrixDirty",value:function(){this._worldMatrixDirty=!0,this._worldNormalMatrixDirty=!0}},{key:"_buildWorldMatrix",value:function(){var e=this.matrix;if(this._parentNode)$.mulMat4(this._parentNode.worldMatrix,e,this._worldMatrix);else for(var t=0,n=e.length;t0)for(var n=0;n-1){var x=B.geometry._state,M=B.scene,F=M.camera,H=M.canvas;if("triangles"===x.primitiveName){N.primitive="triangle";var U,G,k,j=L,V=x.indices,Q=x.positions;if(V){var W=V[j+0],z=V[j+1],K=V[j+2];a[0]=W,a[1]=z,a[2]=K,N.indices=a,U=3*W,G=3*z,k=3*K}else k=(G=(U=3*j)+3)+3;if(n[0]=Q[U+0],n[1]=Q[U+1],n[2]=Q[U+2],r[0]=Q[G+0],r[1]=Q[G+1],r[2]=Q[G+2],i[0]=Q[k+0],i[1]=Q[k+1],i[2]=Q[k+2],x.compressGeometry){var Y=x.positionsDecodeMatrix;Y&&(Dn.decompressPosition(n,Y,n),Dn.decompressPosition(r,Y,r),Dn.decompressPosition(i,Y,i))}N.canvasPos?$.canvasPosToLocalRay(H.canvas,B.origin?Be(O,B.origin):O,S,B.worldMatrix,N.canvasPos,e,t):N.origin&&N.direction&&$.worldRayToLocalRay(B.worldMatrix,N.origin,N.direction,e,t),$.normalizeVec3(t),$.rayPlaneIntersect(e,t,n,r,i,s),N.localPos=s,N.position=s,h[0]=s[0],h[1]=s[1],h[2]=s[2],h[3]=1,$.transformVec4(B.worldMatrix,h,I),o[0]=I[0],o[1]=I[1],o[2]=I[2],N.canvasPos&&B.origin&&(o[0]+=B.origin[0],o[1]+=B.origin[1],o[2]+=B.origin[2]),N.worldPos=o,$.transformVec4(F.matrix,I,y),l[0]=y[0],l[1]=y[1],l[2]=y[2],N.viewPos=l,$.cartesianToBarycentric(s,n,r,i,u),N.bary=u;var X=x.normals;if(X){if(x.compressGeometry){var q=3*W,J=3*z,Z=3*K;Dn.decompressNormal(X.subarray(q,q+2),c),Dn.decompressNormal(X.subarray(J,J+2),f),Dn.decompressNormal(X.subarray(Z,Z+2),p)}else c[0]=X[U],c[1]=X[U+1],c[2]=X[U+2],f[0]=X[G],f[1]=X[G+1],f[2]=X[G+2],p[0]=X[k],p[1]=X[k+1],p[2]=X[k+2];var ee=$.addVec3($.addVec3($.mulVec3Scalar(c,u[0],m),$.mulVec3Scalar(f,u[1],w),g),$.mulVec3Scalar(p,u[2],E),T);N.worldNormal=$.normalizeVec3($.transformVec3(B.worldNormalMatrix,ee,b))}var te=x.uv;if(te){if(A[0]=te[2*W],A[1]=te[2*W+1],d[0]=te[2*z],d[1]=te[2*z+1],v[0]=te[2*K],v[1]=te[2*K+1],x.compressGeometry){var ne=x.uvDecodeMatrix;ne&&(Dn.decompressUV(A,ne,A),Dn.decompressUV(d,ne,d),Dn.decompressUV(v,ne,v))}N.uv=$.addVec3($.addVec3($.mulVec2Scalar(A,u[0],D),$.mulVec2Scalar(d,u[1],P),R),$.mulVec2Scalar(v,u[2],C),_)}}}}}();function $i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);var n=e.radiusBottom||1;n<0&&(console.error("negative radiusBottom not allowed - will invert"),n*=-1);var r=e.height||1;r<0&&(console.error("negative height not allowed - will invert"),r*=-1);var i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);var a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);var s,o,l,u,c,f,p,A,d,v,h,I=!!e.openEnded,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=r/2,T=r/a,b=2*Math.PI/i,D=1/i,P=(t-n)/a,R=[],C=[],_=[],B=[],O=(90-180*Math.atan(r/(n-t))/Math.PI)/90;for(s=0;s<=a;s++)for(c=t-s*P,f=E-s*T,o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),C.push(c*l),C.push(O),C.push(c*u),_.push(o*D),_.push(1*s/a),R.push(c*l+m),R.push(f+w),R.push(c*u+g);for(s=0;s0){for(d=R.length/3,C.push(0),C.push(1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(t*l),C.push(1),C.push(t*u),_.push(v),_.push(h),R.push(t*l+m),R.push(E+w),R.push(t*u+g);for(o=0;o0){for(d=R.length/3,C.push(0),C.push(-1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(0-E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(n*l),C.push(-1),C.push(n*u),_.push(v),_.push(h),R.push(n*l+m),R.push(0-E+w),R.push(n*u+g);for(o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.lod||1,n=e.center?e.center[0]:0,r=e.center?e.center[1]:0,i=e.center?e.center[2]:0,a=e.radius||1;a<0&&(console.error("negative radius not allowed - will invert"),a*=-1);var s=e.heightSegments||18;s<0&&(console.error("negative heightSegments not allowed - will invert"),s*=-1),(s=Math.floor(t*s))<18&&(s=18);var o=e.widthSegments||18;o<0&&(console.error("negative widthSegments not allowed - will invert"),o*=-1),(o=Math.floor(t*o))<18&&(o=18);var l,u,c,f,p,A,d,v,h,I,y,m,w,g,E=[],T=[],b=[],D=[];for(l=0;l<=s;l++)for(c=l*Math.PI/s,f=Math.sin(c),p=Math.cos(c),u=0;u<=o;u++)A=2*u*Math.PI/o,d=Math.sin(A),v=Math.cos(A)*f,h=p,I=d*f,y=1-u/o,m=l/s,T.push(v),T.push(h),T.push(I),b.push(y),b.push(m),E.push(n+a*v),E.push(r+a*h),E.push(i+a*I);for(l=0;l":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function na(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.origin||[0,0,0],n=t[0],r=t[1],i=t[2],a=e.size||1,s=[],o=[],l=e.text;le.isNumeric(l)&&(l=""+l);for(var u,c,f,p,A,d,v,h,I,y=(l||"").split("\n"),m=0,w=0,g=.04,E=0;E1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({active:!0,pos:$.vec3(),dir:$.vec3(),dist:0}),r.active=i.active,r.pos=i.pos,r.dir=i.dir,r.scene._sectionPlaneCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"SectionPlane"}},{key:"active",get:function(){return this._state.active},set:function(e){this._state.active=!1!==e,this.glRedraw(),this.fire("active",this._state.active)}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[0,0,0]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("pos",this._state.pos),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[0,0,-1]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.glRedraw(),this.fire("dir",this._state.dir),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dist",get:function(){return this._state.dist}},{key:"flipDir",value:function(){var e=this._state.dir;e[0]*=-1,e[1]*=-1,e[2]*=-1,this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("dir",this._state.dir),this.glRedraw()}},{key:"destroy",value:function(){this._state.destroy(),this.scene._sectionPlaneDestroyed(this),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aa=$.vec4(4),sa=$.vec4(),oa=$.vec4(),la=$.vec3([1,0,0]),ua=$.vec3([0,1,0]),ca=$.vec3([0,0,1]),fa=$.vec3(3),pa=$.vec3(3),Aa=$.identityMat4(),da=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e,i))._parentNode=null,r._children=[],r._aabb=null,r._aabbDirty=!0,r.scene._aabbDirty=!0,r._numTriangles=0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._offset=$.vec3(),r._localMatrix=$.identityMat4(),r._worldMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r.origin=i.origin,r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.children)for(var a=i.children,s=0,o=a.length;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LambertMaterial",ambient:$.vec3([1,1,1]),color:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,alphaMode:0,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:"/lam;"}),r.ambient=i.ambient,r.color=i.color,r.emissive=i.emissive,r.alpha=i.alpha,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r.backfaces=i.backfaces,r.frontface=i.frontface,r}return P(n,[{key:"type",get:function(){return"LambertMaterial"}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){var t=this._state.color;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.color=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this._state.alphaMode=e<1?2:0,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ha={opaque:0,mask:1,blend:2},Ia=["opaque","mask","blend"],ya=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"MetallicMaterial",baseColor:$.vec4([1,1,1]),emissive:$.vec4([0,0,0]),metallic:null,roughness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.baseColor=i.baseColor,r.metallic=i.metallic,r.roughness=i.roughness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.baseColorMap&&(r._baseColorMap=r._checkComponent("Texture",i.baseColorMap)),i.metallicMap&&(r._metallicMap=r._checkComponent("Texture",i.metallicMap)),i.roughnessMap&&(r._roughnessMap=r._checkComponent("Texture",i.roughnessMap)),i.metallicRoughnessMap&&(r._metallicRoughnessMap=r._checkComponent("Texture",i.metallicRoughnessMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"MetallicMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/met"];this._baseColorMap&&(t.push("/bm"),this._baseColorMap._state.hasMatrix&&t.push("/mat"),t.push("/"+this._baseColorMap._state.encoding)),this._metallicMap&&(t.push("/mm"),this._metallicMap._state.hasMatrix&&t.push("/mat")),this._roughnessMap&&(t.push("/rm"),this._roughnessMap._state.hasMatrix&&t.push("/mat")),this._metallicRoughnessMap&&(t.push("/mrm"),this._metallicRoughnessMap._state.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap._state.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap._state.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/am"),this._alphaMap._state.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap._state.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"baseColor",get:function(){return this._state.baseColor},set:function(e){var t=this._state.baseColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.baseColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"baseColorMap",get:function(){return this._baseColorMap}},{key:"metallic",get:function(){return this._state.metallic},set:function(e){e=null!=e?e:1,this._state.metallic!==e&&(this._state.metallic=e,this.glRedraw())}},{key:"metallicMap",get:function(){return this._attached.metallicMap}},{key:"roughness",get:function(){return this._state.roughness},set:function(e){e=null!=e?e:1,this._state.roughness!==e&&(this._state.roughness=e,this.glRedraw())}},{key:"roughnessMap",get:function(){return this._attached.roughnessMap}},{key:"metallicRoughnessMap",get:function(){return this._attached.metallicRoughnessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._attached.emissiveMap}},{key:"occlusionMap",get:function(){return this._attached.occlusionMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._attached.alphaMap}},{key:"normalMap",get:function(){return this._attached.normalMap}},{key:"alphaMode",get:function(){return Ia[this._state.alphaMode]},set:function(e){var t=ha[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ma={opaque:0,mask:1,blend:2},wa=["opaque","mask","blend"],ga=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"SpecularMaterial",diffuse:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),specular:$.vec3([1,1,1]),glossiness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.diffuse=i.diffuse,r.specular=i.specular,r.glossiness=i.glossiness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.glossinessMap&&(r._glossinessMap=r._checkComponent("Texture",i.glossinessMap)),i.specularGlossinessMap&&(r._specularGlossinessMap=r._checkComponent("Texture",i.specularGlossinessMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"SpecularMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/spe"];this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat")),this._glossinessMap&&(t.push("/gm"),this._glossinessMap.hasMatrix&&t.push("/mat")),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._specularGlossinessMap&&(t.push("/sgm"),this._specularGlossinessMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specularMap",get:function(){return this._specularMap}},{key:"specularGlossinessMap",get:function(){return this._specularGlossinessMap}},{key:"glossiness",get:function(){return this._state.glossiness},set:function(e){e=null!=e?e:1,this._state.glossiness!==e&&(this._state.glossiness=e,this.glRedraw())}},{key:"glossinessMap",get:function(){return this._glossinessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"normalMap",get:function(){return this._normalMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"alphaMode",get:function(){return wa[this._state.alphaMode]},set:function(e){var t=ma[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Ea(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=t;if(1009===i)return e.UNSIGNED_BYTE;if(1017===i)return e.UNSIGNED_SHORT_4_4_4_4;if(1018===i)return e.UNSIGNED_SHORT_5_5_5_1;if(1010===i)return e.BYTE;if(1011===i)return e.SHORT;if(1012===i)return e.UNSIGNED_SHORT;if(1013===i)return e.INT;if(1014===i)return e.UNSIGNED_INT;if(1015===i)return e.FLOAT;if(1016===i)return e.HALF_FLOAT;if(1021===i)return e.ALPHA;if(1023===i)return e.RGBA;if(1024===i)return e.LUMINANCE;if(1025===i)return e.LUMINANCE_ALPHA;if(1026===i)return e.DEPTH_COMPONENT;if(1027===i)return e.DEPTH_STENCIL;if(1028===i)return e.RED;if(1022===i)return e.RGBA;if(1029===i)return e.RED_INTEGER;if(1030===i)return e.RG;if(1031===i)return e.RG_INTEGER;if(1033===i)return e.RGBA_INTEGER;if(33776===i||33777===i||33778===i||33779===i)if(3001===r){var a=kt(e,"WEBGL_compressed_texture_s3tc_srgb");if(null===a)return null;if(33776===i)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(33777===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(33778===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(33779===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(null===(n=kt(e,"WEBGL_compressed_texture_s3tc")))return null;if(33776===i)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===i)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===i)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===i)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===i||35841===i||35842===i||35843===i){var s=kt(e,"WEBGL_compressed_texture_pvrtc");if(null===s)return null;if(35840===i)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===i)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===i)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===i)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===i){var o=kt(e,"WEBGL_compressed_texture_etc1");return null!==o?o.COMPRESSED_RGB_ETC1_WEBGL:null}if(37492===i||37496===i){var l=kt(e,"WEBGL_compressed_texture_etc");if(null===l)return null;if(37492===i)return 3001===r?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(37496===i)return 3001===r?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}if(37808===i||37809===i||37810===i||37811===i||37812===i||37813===i||37814===i||37815===i||37816===i||37817===i||37818===i||37819===i||37820===i||37821===i){var u=kt(e,"WEBGL_compressed_texture_astc");if(null===u)return null;if(37808===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:u.COMPRESSED_RGBA_ASTC_4x4_KHR;if(37809===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:u.COMPRESSED_RGBA_ASTC_5x4_KHR;if(37810===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:u.COMPRESSED_RGBA_ASTC_5x5_KHR;if(37811===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:u.COMPRESSED_RGBA_ASTC_6x5_KHR;if(37812===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:u.COMPRESSED_RGBA_ASTC_6x6_KHR;if(37813===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:u.COMPRESSED_RGBA_ASTC_8x5_KHR;if(37814===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:u.COMPRESSED_RGBA_ASTC_8x6_KHR;if(37815===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:u.COMPRESSED_RGBA_ASTC_8x8_KHR;if(37816===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:u.COMPRESSED_RGBA_ASTC_10x5_KHR;if(37817===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:u.COMPRESSED_RGBA_ASTC_10x6_KHR;if(37818===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:u.COMPRESSED_RGBA_ASTC_10x8_KHR;if(37819===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:u.COMPRESSED_RGBA_ASTC_10x10_KHR;if(37820===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:u.COMPRESSED_RGBA_ASTC_12x10_KHR;if(37821===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:u.COMPRESSED_RGBA_ASTC_12x12_KHR}if(36492===i){var c=kt(e,"EXT_texture_compression_bptc");if(null===c)return null;if(36492===i)return 3001===r?c.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:c.COMPRESSED_RGBA_BPTC_UNORM_EXT}return 1020===i?e.UNSIGNED_INT_24_8:1e3===i?e.REPEAT:1001===i?e.CLAMP_TO_EDGE:1004===i||1005===i?e.NEAREST_MIPMAP_LINEAR:1007===i?e.LINEAR_MIPMAP_NEAREST:1008===i?e.LINEAR_MIPMAP_LINEAR:1003===i?e.NEAREST:1006===i?e.LINEAR:null}var Ta=new Uint8Array([0,0,0,1]),ba=function(){function e(t){var n=t.gl,r=t.target,i=t.format,a=t.type,s=t.wrapS,o=t.wrapT,l=t.wrapR,u=t.encoding,c=t.preloadColor,f=t.premultiplyAlpha,p=t.flipY;b(this,e),this.gl=n,this.target=r||n.TEXTURE_2D,this.format=i||1023,this.type=a||1009,this.internalFormat=null,this.premultiplyAlpha=!!f,this.flipY=!!p,this.unpackAlignment=4,this.wrapS=s||1e3,this.wrapT=o||1e3,this.wrapR=l||1e3,this.encoding=u||3001,this.texture=n.createTexture(),c&&this.setPreloadColor(c),this.allocated=!0}return P(e,[{key:"setPreloadColor",value:function(e){e?(Ta[0]=Math.floor(255*e[0]),Ta[1]=Math.floor(255*e[1]),Ta[2]=Math.floor(255*e[2]),Ta[3]=Math.floor(255*(void 0!==e[3]?e[3]:1))):(Ta[0]=0,Ta[1]=0,Ta[2]=0,Ta[3]=255);var t=this.gl;if(t.bindTexture(this.target,this.texture),this.target===t.TEXTURE_CUBE_MAP)for(var n=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],r=0,i=n.length;r1&&void 0!==arguments[1]?arguments[1]:{},n=this.gl;void 0!==t.format&&(this.format=t.format),void 0!==t.internalFormat&&(this.internalFormat=t.internalFormat),void 0!==t.encoding&&(this.encoding=t.encoding),void 0!==t.type&&(this.type=t.type),void 0!==t.flipY&&(this.flipY=t.flipY),void 0!==t.premultiplyAlpha&&(this.premultiplyAlpha=t.premultiplyAlpha),void 0!==t.unpackAlignment&&(this.unpackAlignment=t.unpackAlignment),void 0!==t.minFilter&&(this.minFilter=t.minFilter),void 0!==t.magFilter&&(this.magFilter=t.magFilter),void 0!==t.wrapS&&(this.wrapS=t.wrapS),void 0!==t.wrapT&&(this.wrapT=t.wrapT),void 0!==t.wrapR&&(this.wrapR=t.wrapR);var r=!1;n.bindTexture(this.target,this.texture);var i=n.getParameter(n.UNPACK_FLIP_Y_WEBGL);n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,this.flipY);var a=n.getParameter(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL);n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha);var s=n.getParameter(n.UNPACK_ALIGNMENT);n.pixelStorei(n.UNPACK_ALIGNMENT,this.unpackAlignment);var o=n.getParameter(n.UNPACK_COLORSPACE_CONVERSION_WEBGL);n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE);var l=Ea(n,this.minFilter);n.texParameteri(this.target,n.TEXTURE_MIN_FILTER,l),l!==n.NEAREST_MIPMAP_NEAREST&&l!==n.LINEAR_MIPMAP_NEAREST&&l!==n.NEAREST_MIPMAP_LINEAR&&l!==n.LINEAR_MIPMAP_LINEAR||(r=!0);var u=Ea(n,this.magFilter);u&&n.texParameteri(this.target,n.TEXTURE_MAG_FILTER,u);var c=Ea(n,this.wrapS);c&&n.texParameteri(this.target,n.TEXTURE_WRAP_S,c);var f=Ea(n,this.wrapT);f&&n.texParameteri(this.target,n.TEXTURE_WRAP_T,f);var p=Ea(n,this.format,this.encoding),A=Ea(n,this.type),d=Da(n,this.internalFormat,p,A,this.encoding,!1);if(this.target===n.TEXTURE_CUBE_MAP){if(le.isArray(e))for(var v=e,h=[n.TEXTURE_CUBE_MAP_POSITIVE_X,n.TEXTURE_CUBE_MAP_NEGATIVE_X,n.TEXTURE_CUBE_MAP_POSITIVE_Y,n.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.TEXTURE_CUBE_MAP_POSITIVE_Z,n.TEXTURE_CUBE_MAP_NEGATIVE_Z],I=0,y=h.length;I1;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,this.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,i.NONE);var o=Ea(i,this.wrapS);o&&i.texParameteri(this.target,i.TEXTURE_WRAP_S,o);var l=Ea(i,this.wrapT);if(l&&i.texParameteri(this.target,i.TEXTURE_WRAP_T,l),this.type===i.TEXTURE_3D||this.type===i.TEXTURE_2D_ARRAY){var u=Ea(i,this.wrapR);u&&i.texParameteri(this.target,i.TEXTURE_WRAP_R,u),i.texParameteri(this.type,i.TEXTURE_WRAP_R,u)}s?(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Pa(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Pa(i,this.magFilter))):(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Ea(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Ea(i,this.magFilter)));var c=Ea(i,this.format,this.encoding),f=Ea(i,this.type),p=Da(i,this.internalFormat,c,f,this.encoding,!1);i.texStorage2D(i.TEXTURE_2D,a,p,t[0].width,t[0].height);for(var A=0,d=t.length;A5&&void 0!==arguments[5]&&arguments[5];if(null!==t){if(void 0!==e[t])return e[t];console.warn("Attempt to use non-existing WebGL internal format '"+t+"'")}var s=n;return n===e.RED&&(r===e.FLOAT&&(s=e.R32F),r===e.HALF_FLOAT&&(s=e.R16F),r===e.UNSIGNED_BYTE&&(s=e.R8)),n===e.RG&&(r===e.FLOAT&&(s=e.RG32F),r===e.HALF_FLOAT&&(s=e.RG16F),r===e.UNSIGNED_BYTE&&(s=e.RG8)),n===e.RGBA&&(r===e.FLOAT&&(s=e.RGBA32F),r===e.HALF_FLOAT&&(s=e.RGBA16F),r===e.UNSIGNED_BYTE&&(s=3001===i&&!1===a?e.SRGB8_ALPHA8:e.RGBA8),r===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),r===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)),s!==e.R16F&&s!==e.R32F&&s!==e.RG16F&&s!==e.RG32F&&s!==e.RGBA16F&&s!==e.RGBA32F||kt(e,"EXT_color_buffer_float"),s}function Pa(e,t){return 1003===t||1004===t||1005===t?e.NEAREST:e.LINEAR}function Ra(e){if(!Ca(e.width)||!Ca(e.height)){var t=document.createElement("canvas");t.width=_a(e.width),t.height=_a(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function Ca(e){return 0==(e&e-1)}function _a(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Ba=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({texture:new ba({gl:r.scene.canvas.gl}),matrix:$.identityMat4(),hasMatrix:i.translate&&(0!==i.translate[0]||0!==i.translate[1])||!!i.rotate||i.scale&&(0!==i.scale[0]||0!==i.scale[1]),minFilter:r._checkMinFilter(i.minFilter),magFilter:r._checkMagFilter(i.magFilter),wrapS:r._checkWrapS(i.wrapS),wrapT:r._checkWrapT(i.wrapT),flipY:r._checkFlipY(i.flipY),encoding:r._checkEncoding(i.encoding)}),r._src=null,r._image=null,r._translate=$.vec2([0,0]),r._scale=$.vec2([1,1]),r._rotate=$.vec2([0,0]),r._matrixDirty=!1,r.translate=i.translate,r.scale=i.scale,r.rotate=i.rotate,i.src?r.src=i.src:i.image&&(r.image=i.image),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"Texture"}},{key:"_checkMinFilter",value:function(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}},{key:"_checkMagFilter",value:function(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}},{key:"_checkWrapS",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkWrapT",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this._state.texture=new ba({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}},{key:"_update",value:function(){var e,t,n=this._state;this._matrixDirty&&(0===this._translate[0]&&0===this._translate[1]||(e=$.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(t=$.scalingMat4v([this._scale[0],this._scale[1],1]),e=e?$.mulMat4(e,t):t),0!==this._rotate&&(t=$.rotationMat4v(.0174532925*this._rotate,[0,0,1]),e=e?$.mulMat4(e,t):t),e&&(n.matrix=e),this._matrixDirty=!1);this.glRedraw()}},{key:"image",get:function(){return this._image},set:function(e){this._image=Ra(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}},{key:"src",get:function(){return this._src},set:function(e){this.scene.loading++,this.scene.canvas.spinner.processes++;var t=this,n=new Image;n.onload=function(){n=Ra(n),t._state.texture.setImage(n,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},n.src=e,this._src=e,this._image=null}},{key:"translate",get:function(){return this._translate},set:function(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}},{key:"rotate",get:function(){return this._rotate},set:function(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}},{key:"minFilter",get:function(){return this._state.minFilter}},{key:"magFilter",get:function(){return this._state.magFilter}},{key:"wrapS",get:function(){return this._state.wrapS}},{key:"wrapT",get:function(){return this._state.wrapT}},{key:"flipY",get:function(){return this._state.flipY}},{key:"encoding",get:function(){return this._state.encoding}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),re.memory.textures--}}]),n}(),Oa=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({edgeColor:$.vec3([0,0,0]),centerColor:$.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),r.edgeColor=i.edgeColor,r.centerColor=i.centerColor,r.edgeBias=i.edgeBias,r.centerBias=i.centerBias,r.power=i.power,r}return P(n,[{key:"type",get:function(){return"Fresnel"}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}},{key:"centerColor",get:function(){return this._state.centerColor},set:function(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}},{key:"edgeBias",get:function(){return this._state.edgeBias},set:function(e){this._state.edgeBias=e||0,this.glRedraw()}},{key:"centerBias",get:function(){return this._state.centerBias},set:function(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}},{key:"power",get:function(){return this._state.power},set:function(e){this._state.power=null!=e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Sa=re.memory,Na=$.AABB3(),La=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._aabb=null,r._obb=$.OBB3();var a,s=r._state,o=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":s.primitive=o.POINTS,s.primitiveName=i.primitive;break;case"lines":s.primitive=o.LINES,s.primitiveName=i.primitive;break;case"line-loop":s.primitive=o.LINE_LOOP,s.primitiveName=i.primitive;break;case"line-strip":s.primitive=o.LINE_STRIP,s.primitiveName=i.primitive;break;case"triangles":s.primitive=o.TRIANGLES,s.primitiveName=i.primitive;break;case"triangle-strip":s.primitive=o.TRIANGLE_STRIP,s.primitiveName=i.primitive;break;case"triangle-fan":s.primitive=o.TRIANGLE_FAN,s.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=o.TRIANGLES,s.primitiveName=i.primitive}if(!i.positions)return r.error("Config expected: positions"),w(r);if(!i.indices)return r.error("Config expected: indices"),w(r);var l=i.positionsDecodeMatrix;if(l);else{var u=Dn.getPositionsBounds(i.positions),c=Dn.compressPositions(i.positions,u.min,u.max);a=c.quantized,s.positionsDecodeMatrix=c.decodeMatrix,s.positionsBuf=new Dt(o,o.ARRAY_BUFFER,a,a.length,3,o.STATIC_DRAW),Sa.positions+=s.positionsBuf.numItems,$.positions3ToAABB3(i.positions,r._aabb),$.positions3ToAABB3(a,Na,s.positionsDecodeMatrix),$.AABB3ToOBB3(Na,r._obb)}if(i.colors){var f=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors);s.colorsBuf=new Dt(o,o.ARRAY_BUFFER,f,f.length,4,o.STATIC_DRAW),Sa.colors+=s.colorsBuf.numItems}if(i.uv){var p=Dn.getUVBounds(i.uv),A=Dn.compressUVs(i.uv,p.min,p.max),d=A.quantized;s.uvDecodeMatrix=A.decodeMatrix,s.uvBuf=new Dt(o,o.ARRAY_BUFFER,d,d.length,2,o.STATIC_DRAW),Sa.uvs+=s.uvBuf.numItems}if(i.normals){var v=Dn.compressNormals(i.normals),h=s.compressGeometry;s.normalsBuf=new Dt(o,o.ARRAY_BUFFER,v,v.length,3,o.STATIC_DRAW,h),Sa.normals+=s.normalsBuf.numItems}var I=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices);s.indicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,I,I.length,1,o.STATIC_DRAW),Sa.indices+=s.indicesBuf.numItems;var y=yn(a,I,s.positionsDecodeMatrix,r._edgeThreshold);return r._edgeIndicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,y,y.length,1,o.STATIC_DRAW),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3),r._buildHash(),Sa.meshes++,r}return P(n,[{key:"type",get:function(){return"VBOGeometry"}},{key:"isVBOGeometry",get:function(){return!0}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"aabb",get:function(){return this._aabb}},{key:"obb",get:function(){return this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Sa.meshes--}}]),n}(),xa={};function Ma(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("load3DSGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,r());var a=xa.parse.from3DS(e).edit.objects[0].mesh,s=a.vertices,o=a.uvt,l=a.indices;i.processes--,n(le.apply(t,{primitive:"triangles",positions:s,normals:null,uv:o,indices:l}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,r()}))}))}function Fa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,r());for(var a=xa.parse.fromOBJ(e),s=xa.edit.unwrap(a.i_verts,a.c_verts,3),o=xa.edit.unwrap(a.i_norms,a.c_norms,3),l=xa.edit.unwrap(a.i_uvt,a.c_uvt,2),u=new Int32Array(a.i_verts.length),c=0;c0?o:null,autoNormals:0===o.length,uv:l,indices:u}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,r()}))}))}function Ha(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{primitive:"lines",positions:[l,u,c,l,u,A,l,p,c,l,p,A,f,u,c,f,u,A,f,p,c,f,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Ua(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);var n=e.divisions||1;n<0&&(console.error("negative divisions not allowed - will invert"),n*=-1),n<1&&(n=1);for(var r=(t=t||10)/(n=n||10),i=t/2,a=[],s=[],o=0,l=0,u=-i;l<=n;l++,u+=r)a.push(-i),a.push(0),a.push(u),a.push(i),a.push(0),a.push(u),a.push(u),a.push(0),a.push(-i),a.push(u),a.push(0),a.push(i),s.push(o++),s.push(o++),s.push(o++),s.push(o++);return le.apply(e,{primitive:"lines",positions:a,indices:s})}function Ga(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);var r=e.xSegments||1;r<0&&(console.error("negative xSegments not allowed - will invert"),r*=-1),r<1&&(r=1);var i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);var a,s,o,l,u,c,f,p=e.center,A=p?p[0]:0,d=p?p[1]:0,v=p?p[2]:0,h=t/2,I=n/2,y=Math.floor(r)||1,m=Math.floor(i)||1,w=y+1,g=m+1,E=t/y,T=n/m,b=new Float32Array(w*g*3),D=new Float32Array(w*g*3),P=new Float32Array(w*g*2),R=0,C=0;for(a=0;a65535?Uint32Array:Uint16Array)(y*m*6);for(a=0;a0&&void 0!==arguments[0]?arguments[0]:{},t=e.radius||1;t<0&&(console.error("negative radius not allowed - will invert"),t*=-1),t*=.5;var n=e.tube||.3;n<0&&(console.error("negative tube not allowed - will invert"),n*=-1);var r=e.radialSegments||32;r<0&&(console.error("negative radialSegments not allowed - will invert"),r*=-1),r<4&&(r=4);var i=e.tubeSegments||24;i<0&&(console.error("negative tubeSegments not allowed - will invert"),i*=-1),i<4&&(i=4);var a=e.arc||2*Math.PI;a<0&&(console.warn("negative arc not allowed - will invert"),a*=-1),a>360&&(a=360);var s,o,l,u,c,f,p,A,d,v,h,I,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=[],T=[],b=[],D=[];for(A=0;A<=i;A++)for(p=0;p<=r;p++)s=p/r*a,o=.785398+A/i*Math.PI*2,m=t*Math.cos(s),w=t*Math.sin(s),l=(t+n*Math.cos(o))*Math.cos(s),u=(t+n*Math.cos(o))*Math.sin(s),c=n*Math.sin(o),E.push(l+m),E.push(u+w),E.push(c+g),b.push(1-p/r),b.push(A/i),f=$.normalizeVec3($.subVec3([l,u,c],[m,w,g],[]),[]),T.push(f[0]),T.push(f[1]),T.push(f[2]);for(A=1;A<=i;A++)for(p=1;p<=r;p++)d=(r+1)*A+p-1,v=(r+1)*(A-1)+p-1,h=(r+1)*(A-1)+p,I=(r+1)*A+p,D.push(d),D.push(v),D.push(h),D.push(h),D.push(I),D.push(d);return le.apply(e,{positions:E,normals:T,uv:b,indices:D})}xa.load=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(e){t(e.target.response)},n.send()},xa.save=function(e,t){var n="data:application/octet-stream;base64,"+btoa(xa.parse._buffToStr(e));window.location.href=n},xa.clone=function(e){return JSON.parse(JSON.stringify(e))},xa.bin={},xa.bin.f=new Float32Array(1),xa.bin.fb=new Uint8Array(xa.bin.f.buffer),xa.bin.rf=function(e,t){for(var n=xa.bin.f,r=xa.bin.fb,i=0;i<4;i++)r[i]=e[t+i];return n[0]},xa.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},xa.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},xa.bin.rASCII0=function(e,t){for(var n="";0!=e[t];)n+=String.fromCharCode(e[t++]);return n},xa.bin.wf=function(e,t,n){new Float32Array(e.buffer,t,1)[0]=n},xa.bin.wsl=function(e,t,n){e[t]=n,e[t+1]=n>>8},xa.bin.wil=function(e,t,n){e[t]=n,e[t+1]=n>>8,e[t+2]=n>>16,e[t+3]},xa.parse={},xa.parse._buffToStr=function(e){for(var t=new Uint8Array(e),n="",r=0;ri&&(i=l),ua&&(a=u),cs&&(s=c)}return{min:{x:t,y:n,z:r},max:{x:i,y:a,z:s}}};var ja=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._type=i.type||(i.src?i.src.split(".").pop():null)||"jpg",r._pos=$.vec3(i.pos||[0,0,0]),r._up=$.vec3(i.up||[0,1,0]),r._normal=$.vec3(i.normal||[0,0,1]),r._height=i.height||1,r._origin=$.vec3(),r._rtcPos=$.vec3(),r._imageSize=$.vec2(),r._texture=new Ba(g(r),{flipY:!0}),r._image=new Image,"jpg"!==r._type&&"png"!==r._type&&(r.error('Unsupported type - defaulting to "jpg"'),r._type="jpg"),r._node=new da(g(r),{matrix:$.inverseMat4($.lookAtMat4v(r._pos,$.subVec3(r._pos,r._normal,$.mat4()),r._up,$.mat4())),children:[r._bitmapMesh=new Ji(g(r),{scale:[1,1,1],rotation:[-90,0,0],collidable:i.collidable,pickable:i.pickable,opacity:i.opacity,clippable:i.clippable,geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0})})]}),i.image?r.image=i.image:i.src?r.src=i.src:i.imageData&&(r.imageData=i.imageData),r.scene._bitmapCreated(g(r)),r}return P(n,[{key:"visible",get:function(){return this._bitmapMesh.visible},set:function(e){this._bitmapMesh.visible=e}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}},{key:"src",get:function(){return this._image.src},set:function(e){var t=this;if(e)switch(this._image.onload=function(){t._texture.image=t._image,t._imageSize[0]=t._image.width,t._imageSize[1]=t._image.height,t._updateBitmapMeshScale()},this._image.src=e,e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}},{key:"imageData",get:function(){var e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")},set:function(e){var t=this;this._image.onload=function(){t._texture.image=image,t._imageSize[0]=image.width,t._imageSize[1]=image.height,t._updateBitmapMeshScale()},this._image.src=e}},{key:"type",get:function(){return this._type},set:function(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}},{key:"pos",get:function(){return this._pos}},{key:"normal",get:function(){return this._normal}},{key:"up",get:function(){return this._up}},{key:"height",get:function(){return this._height},set:function(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}},{key:"collidable",get:function(){return this._bitmapMesh.collidable},set:function(e){this._bitmapMesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._bitmapMesh.clippable},set:function(e){this._bitmapMesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._bitmapMesh.pickable},set:function(e){this._bitmapMesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._bitmapMesh.opacity},set:function(e){this._bitmapMesh.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._bitmapDestroyed(this)}},{key:"_updateBitmapMeshScale",value:function(){var e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}]),n}(),Va=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._positions=i.positions||[];var a=new Float32Array(r._positions.length),s=$.vec3(),o=100,l=Se(r._positions,new Float32Array(r._positions.length),s,o);if(i.indices)r._indices=i.indices;else{r._indices=[];for(var u=0,c=r._positions.length/3-1;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"BCFViewpoints",e,i)).originatingSystem=i.originatingSystem||"xeokit.io",r.authoringTool=i.authoringTool||"xeokit.io",r}return P(n,[{key:"getViewpoint",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.viewer.scene,r=n.camera,i=n.realWorldOffset,a=!0===t.reverseClippingPlanes,s={},o=$.normalizeVec3($.subVec3(r.look,r.eye,$.vec3())),l=r.eye,u=r.up;r.yUp&&(o=Ja(o),l=Ja(l),u=Ja(u));var c=Xa($.addVec3(l,i));"ortho"===r.projection?s.orthogonal_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),view_to_world_scale:r.ortho.scale}:s.perspective_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),field_of_view:r.perspective.fov};var f=n.sectionPlanes;for(var A in f)if(f.hasOwnProperty(A)){var d=f[A];if(!d.active)continue;var v=d.pos,h=void 0;h=a?$.negateVec3(d.dir,$.vec3()):d.dir,r.yUp&&(v=Ja(v),h=Ja(h)),$.addVec3(v,i),v=Xa(v),h=Xa(h),s.clipping_planes||(s.clipping_planes=[]),s.clipping_planes.push({location:v,direction:h})}var I=n.lineSets;for(var y in I)if(I.hasOwnProperty(y)){var m=I[y];s.lines||(s.lines=[]);for(var w=m.positions,g=m.indices,E=0,T=g.length/2;E1&&void 0!==arguments[1]?arguments[1]:{};if(e){var r=this.viewer,i=r.scene,a=i.camera,s=!1!==n.rayCast,o=!1!==n.immediate,l=!1!==n.reset,u=i.realWorldOffset,c=!0===n.reverseClippingPlanes;if(i.clearSectionPlanes(),e.clipping_planes&&e.clipping_planes.length>0&&e.clipping_planes.forEach((function(e){var t=qa(e.location,Qa),n=qa(e.direction,Qa);c&&$.negateVec3(n),$.subVec3(t,u),a.yUp&&(t=Za(t),n=Za(n)),new ia(i,{pos:t,dir:n})})),i.clearLines(),e.lines&&e.lines.length>0){var f=[],p=[],A=0;e.lines.forEach((function(e){e.start_point&&e.end_point&&(f.push(e.start_point.x),f.push(e.start_point.y),f.push(e.start_point.z),f.push(e.end_point.x),f.push(e.end_point.y),f.push(e.end_point.z),p.push(A++),p.push(A++))})),new Va(i,{positions:f,indices:p,clippable:!1,collidable:!0})}if(i.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){var t=e.bitmap_type||"jpg",n=e.bitmap_data,r=qa(e.location,Wa),s=qa(e.normal,za),o=qa(e.up,Ka),l=e.height||1;t&&n&&r&&s&&o&&(a.yUp&&(r=Za(r),s=Za(s),o=Za(o)),new ja(i,{src:n,type:t,pos:r,normal:s,up:o,clippable:!1,collidable:!0,height:l}))})),l&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),i.setObjectsHighlighted(i.highlightedObjectIds,!1),i.setObjectsSelected(i.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(i.setObjectsVisible(i.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!1}))}))):(i.setObjectsVisible(i.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!0}))})));var d=e.components.visibility.view_setup_hints;d&&(!1===d.spaces_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==d.spaces_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcSpace"),!0),d.space_boundaries_visible,!1===d.openings_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcOpening"),!0),d.space_boundaries_translucent,void 0!==d.openings_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(i.setObjectsSelected(i.selectedObjectIds,!1),e.components.selection.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.selected=!0}))}))),e.components.translucency&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),e.components.translucency.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.xrayed=!0}))}))),e.components.coloring&&e.components.coloring.forEach((function(e){var r=e.color,i=0,a=!1;8===r.length&&((i=parseInt(r.substring(0,2),16)/256)<=1&&i>=.95&&(i=1),r=r.substring(2),a=!0);var s=[parseInt(r.substring(0,2),16)/256,parseInt(r.substring(2,4),16)/256,parseInt(r.substring(4,6),16)/256];e.components.map((function(e){return t._withBCFComponent(n,e,(function(e){e.colorize=s,a&&(e.opacity=i)}))}))}))}if(e.perspective_camera||e.orthogonal_camera){var v,h,I,y;if(e.perspective_camera?(v=qa(e.perspective_camera.camera_view_point,Qa),h=qa(e.perspective_camera.camera_direction,Qa),I=qa(e.perspective_camera.camera_up_vector,Qa),a.perspective.fov=e.perspective_camera.field_of_view,y="perspective"):(v=qa(e.orthogonal_camera.camera_view_point,Qa),h=qa(e.orthogonal_camera.camera_direction,Qa),I=qa(e.orthogonal_camera.camera_up_vector,Qa),a.ortho.scale=e.orthogonal_camera.view_to_world_scale,y="ortho"),$.subVec3(v,u),a.yUp&&(v=Za(v),h=Za(h),I=Za(I)),s){var m=i.pick({pickSurface:!0,origin:v,direction:h});h=m?m.worldPos:$.addVec3(v,h,Qa)}else h=$.addVec3(v,h,Qa);o?(a.eye=v,a.look=h,a.up=I,a.projection=y):r.cameraFlight.flyTo({eye:v,look:h,up:I,duration:n.duration,projection:y})}}}},{key:"_withBCFComponent",value:function(e,t,n){var r=this.viewer,i=r.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){var a=t.authoring_tool_id,s=i.objects[a];if(s)return void n(s);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[a])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}if(t.ifc_guid){var o=t.ifc_guid,l=i.objects[o];if(l)return void n(l);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[o])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(o),n);Object.keys(i.models).forEach((function(t){var a=$.globalizeObjectId(t,o),s=i.objects[a];s?n(s):e.updateCompositeObjects&&r.metaScene.metaObjects[a]&&i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}();function Xa(e){return{x:e[0],y:e[1],z:e[2]}}function qa(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function Ja(e){return new Float64Array([e[0],-e[2],e[1]])}function Za(e){return new Float64Array([e[0],e[2],-e[1]])}function $a(e){var t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0")}var es=$.vec3(),ts=function(e,t,n,r){var i=e-n,a=t-r;return Math.sqrt(i*i+a*a)},ns=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._eventSubs={};var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(24),r._vp=new Float64Array(24),r._pp=new Float64Array(24),r._cp=new Float64Array(8),r._xAxisLabelCulled=!1,r._yAxisLabelCulled=!1,r._zAxisLabelCulled=!1,r._color=i.color||r.plugin.defaultColor;var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthWire=new qe(r._container,{color:r._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisWire=new qe(r._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisWire=new qe(r._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisWire=new qe(r._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthLabel=new Ze(r._container,{fillColor:r._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisLabel=new Ze(r._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisLabel=new Ze(r._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisLabel=new Ze(r._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._sectionPlanesDirty=!0,r._visible=!1,r._originVisible=!1,r._targetVisible=!1,r._wireVisible=!1,r._axisVisible=!1,r._xAxisVisible=!1,r._yAxisVisible=!1,r._zAxisVisible=!1,r._axisEnabled=!0,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onMetricsUnits=a.metrics.on("units",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsScale=a.metrics.on("scale",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsOrigin=a.metrics.on("origin",(function(){r._cpDirty=!0,r._needUpdate()})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.targetVisible=i.targetVisible,r.wireVisible=i.wireVisible,r.axisVisible=i.axisVisible,r.xAxisVisible=i.xAxisVisible,r.yAxisVisible=i.yAxisVisible,r.zAxisVisible=i.zAxisVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}var t=this._originMarker.viewPos[2],n=this._targetMarker.viewPos[2];if(t>-.3||n>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var r=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect(),s=this._container.getBoundingClientRect(),o=a.top-s.top,l=a.left-s.left,u=e.canvas.boundary,c=u[2],f=u[3],p=0,A=this.plugin.viewer.scene.metrics,d=A.scale,v=A.units,h=A.unitsInfo[v].abbrev,I=0,y=r.length;I1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._currentDistanceMeasurement=null,r._currentDistanceMeasurementInitState={wireVisible:null,axisVisible:null,xAxisVisible:null,yaxisVisible:null,zAxisVisible:null,targetVisible:null},r._initMarkerDiv(),r._onCameraControlHoverSnapOrSurface=null,r._onCameraControlHoverSnapOrSurfaceOff=null,r._onMouseDown=null,r._onMouseUp=null,r._onCanvasTouchStart=null,r._onCanvasTouchEnd=null,r._snapping=!1!==i.snapping,r._mouseState=0,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this._markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.distanceMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this._markerDiv||this._initMarkerDiv(),this.fire("activated",!0);var t=this.distanceMeasurementsPlugin,n=this.scene,r=t.viewer.cameraControl,i=n.canvas.canvas;n.input;var a,s,o=!1,l=$.vec3(),u=$.vec2();this._mouseState=0,this._onCameraControlHoverSnapOrSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){var n=t.snappedCanvasPos||t.canvasPos;o=!0,l.set(t.worldPos),u.set(t.canvasPos),0===e._mouseState?(e._markerDiv.style.marginLeft="".concat(n[0]-5,"px"),e._markerDiv.style.marginTop="".concat(n[1]-5,"px"),e._markerDiv.style.background="pink",t.snappedToVertex||t.snappedToEdge?(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,e.pointerLens.snapped=!0),e._markerDiv.style.background="greenyellow",e._markerDiv.style.border="2px solid green"):(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.canvasPos,e.pointerLens.snapped=!1),e._markerDiv.style.background="pink",e._markerDiv.style.border="2px solid red")):(e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px"),i.style.cursor="pointer",e._currentDistanceMeasurement&&(e._currentDistanceMeasurement.wireVisible=e._currentDistanceMeasurementInitState.wireVisible,e._currentDistanceMeasurement.axisVisible=e._currentDistanceMeasurementInitState.axisVisible&&e.distanceMeasurementsPlugin.defaultAxisVisible,e._currentDistanceMeasurement.xAxisVisible=e._currentDistanceMeasurementInitState.xAxisVisible&&e.distanceMeasurementsPlugin.defaultXAxisVisible,e._currentDistanceMeasurement.yAxisVisible=e._currentDistanceMeasurementInitState.yAxisVisible&&e.distanceMeasurementsPlugin.defaultYAxisVisible,e._currentDistanceMeasurement.zAxisVisible=e._currentDistanceMeasurementInitState.zAxisVisible&&e.distanceMeasurementsPlugin.defaultZAxisVisible,e._currentDistanceMeasurement.targetVisible=e._currentDistanceMeasurementInitState.targetVisible,e._currentDistanceMeasurement.target.worldPos=l.slice(),e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px")})),i.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(a=e.clientX,s=e.clientY)}),i.addEventListener("mouseup",this._onMouseUp=function(n){1===n.which&&(n.clientX>a+20||n.clientXs+20||n.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"DistanceMeasurements",e))._pointerLens=i.pointerLens,r._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.labelMinAxisLength=i.labelMinAxisLength,r.defaultVisible=!1!==i.defaultVisible,r.defaultOriginVisible=!1!==i.defaultOriginVisible,r.defaultTargetVisible=!1!==i.defaultTargetVisible,r.defaultWireVisible=!1!==i.defaultWireVisible,r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.defaultAxisVisible=!1!==i.defaultAxisVisible,r.defaultXAxisVisible=!1!==i.defaultXAxisVisible,r.defaultYAxisVisible=!1!==i.defaultYAxisVisible,r.defaultZAxisVisible=!1!==i.defaultZAxisVisible,r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"pointerLens",get:function(){return this._pointerLens}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new is(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"labelMinAxisLength",get:function(){return this._labelMinAxisLength},set:function(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.target,i=new ns(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},target:{entity:r.entity,worldPos:r.worldPos},visible:t.visible,wireVisible:t.wireVisible,axisVisible:!1!==t.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==t.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==t.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==t.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==t.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:t.originVisible,targetVisible:t.targetVisible,color:t.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(function(){delete e._measurements[i.id]})),this.fire("measurementCreated",i),i}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"FastNav",e))._hideColorTexture=!1!==i.hideColorTexture,r._hidePBR=!1!==i.hidePBR,r._hideSAO=!1!==i.hideSAO,r._hideEdges=!1!==i.hideEdges,r._hideTransparentObjects=!!i.hideTransparentObjects,r._scaleCanvasResolution=!!i.scaleCanvasResolution,r._scaleCanvasResolutionFactor=i.scaleCanvasResolutionFactor||.6,r._delayBeforeRestore=!1!==i.delayBeforeRestore,r._delayBeforeRestoreSeconds=i.delayBeforeRestoreSeconds||.5;var a=1e3*r._delayBeforeRestoreSeconds,s=!1,o=function(){a=1e3*r._delayBeforeRestoreSeconds,s||(e.scene._renderer.setColorTextureEnabled(!r._hideColorTexture),e.scene._renderer.setPBREnabled(!r._hidePBR),e.scene._renderer.setSAOEnabled(!r._hideSAO),e.scene._renderer.setTransparentEnabled(!r._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!r._hideEdges),r._scaleCanvasResolution?e.scene.canvas.resolutionScale=r._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,s=!0)},l=function(){e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),s=!1};r._onCanvasBoundary=e.scene.canvas.on("boundary",o),r._onCameraMatrix=e.scene.camera.on("matrix",o),r._onSceneTick=e.scene.on("tick",(function(e){s&&(a-=e.deltaTime,(!r._delayBeforeRestore||a<=0)&&l())}));var u=!1;return r._onSceneMouseDown=e.scene.input.on("mousedown",(function(){u=!0})),r._onSceneMouseUp=e.scene.input.on("mouseup",(function(){u=!1})),r._onSceneMouseMove=e.scene.input.on("mousemove",(function(){u&&o()})),r}return P(n,[{key:"hideColorTexture",get:function(){return this._hideColorTexture},set:function(e){this._hideColorTexture=e}},{key:"hidePBR",get:function(){return this._hidePBR},set:function(e){this._hidePBR=e}},{key:"hideSAO",get:function(){return this._hideSAO},set:function(e){this._hideSAO=e}},{key:"hideEdges",get:function(){return this._hideEdges},set:function(e){this._hideEdges=e}},{key:"hideTransparentObjects",get:function(){return this._hideTransparentObjects},set:function(e){this._hideTransparentObjects=!1!==e}},{key:"scaleCanvasResolution",get:function(){return this._scaleCanvasResolution},set:function(e){this._scaleCanvasResolution=e}},{key:"scaleCanvasResolutionFactor",get:function(){return this._scaleCanvasResolutionFactor},set:function(e){this._scaleCanvasResolutionFactor=e||.6}},{key:"delayBeforeRestore",get:function(){return this._delayBeforeRestore},set:function(e){this._delayBeforeRestore=e}},{key:"delayBeforeRestoreSeconds",get:function(){return this._delayBeforeRestoreSeconds},set:function(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),os=function(){function e(){b(this,e)}return P(e,[{key:"getMetaModel",value:function(e,t,n){le.loadJSON(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLTF",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLB",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getArrayBuffer",value:function(e,t,n,r){!function(e,t,n,r){var i=function(){};n=n||i,r=r||i;var a=/^data:(.*?)(;base64)?,(.*)$/,s=t.match(a);if(s){var o=!!s[2],l=s[3];l=window.decodeURIComponent(l),o&&(l=window.atob(l));try{for(var u=new ArrayBuffer(l.length),c=new Uint8Array(u),f=0;f0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=t.messages,this.locale=t.locale}return P(e,[{key:"messages",set:function(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}},{key:"loadMessages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e)this._messages[t]=e[t];this.messages=this._messages}},{key:"clearMessages",value:function(){this.messages={}}},{key:"locales",get:function(){return this._locales}},{key:"locale",get:function(){return this._locale},set:function(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}},{key:"translate",value:function(e,t){var n=this._messages[this._locale];if(!n)return null;var r=us(e,n);return r?t?cs(r,t):r:null}},{key:"translatePlurals",value:function(e,t,n){var r=this._messages[this._locale];if(!r)return null;var i=us(e,r);return(i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one)?(i=cs(i,[t]),n&&(i=cs(i,n)),i):null}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==n&&(this._events[e]=t||!0);var r=this._eventSubs[e];if(r)for(var i in r){if(r.hasOwnProperty(i))r[i].callback(t)}}},{key:"on",value:function(e,t){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new G),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});var n=this._eventSubs[e];n||(n={},this._eventSubs[e]=n);var r=this._eventSubIDMap.addItem();n[r]={callback:t},this._eventSubEvents[r]=e;var i=this._events[e];return void 0!==i&&t(i),r}},{key:"off",value:function(e){if(null!=e&&this._eventSubEvents){var t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];var n=this._eventSubs[t];n&&delete n[e],this._eventSubIDMap.removeItem(e)}}}}]),e}();function us(e,t){if(t[e])return t[e];for(var n=e.split("."),r=t,i=0,a=n.length;r&&i1&&void 0!==arguments[1]?arguments[1]:[];return e.replace(/\{\{|\}\}|\{(\d+)\}/g,(function(e,n){return"{{"===e?"{":"}}"===e?"}":t[n]}))}var fs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).t=i.t,r}return P(n,[{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"tangent",get:function(){return this.getTangent(this._t)}},{key:"length",get:function(){var e=this._getLengths();return e[e.length-1]}},{key:"getTangent",value:function(e){var t=1e-4;void 0===e&&(e=this._t);var n=e-t,r=e+t;n<0&&(n=0),r>1&&(r=1);var i=this.getPoint(n),a=this.getPoint(r),s=$.subVec3(a,i,[]);return $.normalizeVec3(s,[])}},{key:"getPointAt",value:function(e){var t=this.getUToTMapping(e);return this.getPoint(t)}},{key:"getPoints",value:function(e){e||(e=5);var t,n=[];for(t=0;t<=e;t++)n.push(this.getPoint(t/e));return n}},{key:"_getLengths",value:function(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n,r=[],i=this.getPoint(0),a=0;for(r.push(0),n=1;n<=e;n++)t=this.getPoint(n/e),a+=$.lenVec3($.subVec3(t,i,[])),r.push(a),i=t;return this.cacheArcLengths=r,r}},{key:"_updateArcLengths",value:function(){this.needsUpdate=!0,this._getLengths()}},{key:"getUToTMapping",value:function(e,t){var n,r=this._getLengths(),i=0,a=r.length;n=t||e*r[a-1];for(var s,o=0,l=a-1;o<=l;)if((s=r[i=Math.floor(o+(l-o)/2)]-n)<0)o=i+1;else{if(!(s>0)){l=i;break}l=i-1}if(r[i=l]===n)return i/(a-1);var u=r[i];return(i+(n-u)/(r[i+1]-u))/(a-1)}}]),n}(),ps=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).points=i.points,r.t=i.t,r}return P(n,[{key:"points",get:function(){return this._points},set:function(e){this._points=e||[]}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=this.points;if(!(t.length<3)){var n=(t.length-1)*e,r=Math.floor(n),i=n-r,a=t[0===r?r:r-1],s=t[r],o=t[r>t.length-2?t.length-1:r+1],l=t[r>t.length-3?t.length-1:r+2],u=$.vec3();return u[0]=$.catmullRomInterpolate(a[0],s[0],o[0],l[0],i),u[1]=$.catmullRomInterpolate(a[1],s[1],o[1],l[1],i),u[2]=$.catmullRomInterpolate(a[2],s[2],o[2],l[2],i),u}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}},{key:"getJSON",value:function(){return{points:points,t:this._t}}}]),n}(),As=$.vec3(),ds=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._frames=[],r._eyeCurve=new ps(g(r)),r._lookCurve=new ps(g(r)),r._upCurve=new ps(g(r)),i.frames&&(r.addFrames(i.frames),r.smoothFrameTimes(1)),r}return P(n,[{key:"type",get:function(){return"CameraPath"}},{key:"frames",get:function(){return this._frames}},{key:"eyeCurve",get:function(){return this._eyeCurve}},{key:"lookCurve",get:function(){return this._lookCurve}},{key:"upCurve",get:function(){return this._upCurve}},{key:"saveFrame",value:function(e){var t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}},{key:"addFrame",value:function(e,t,n,r){var i={t:e,eye:t.slice(0),look:n.slice(0),up:r.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}},{key:"addFrames",value:function(e){for(var t,n=0,r=e.length;n1?1:e,t.eye=this._eyeCurve.getPoint(e,As),t.look=this._lookCurve.getPoint(e,As),t.up=this._upCurve.getPoint(e,As)}},{key:"sampleFrame",value:function(e,t,n,r){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,n),this._upCurve.getPoint(e,r)}},{key:"smoothFrameTimes",value:function(e){if(0!==this._frames.length){var t=$.vec3(),n=0;this._frames[0].t=0;for(var r=[],i=1,a=this._frames.length;i1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._look1=$.vec3(),r._eye1=$.vec3(),r._up1=$.vec3(),r._look2=$.vec3(),r._eye2=$.vec3(),r._up2=$.vec3(),r._orthoScale1=1,r._orthoScale2=1,r._flying=!1,r._flyEyeLookUp=!1,r._flyingEye=!1,r._flyingLook=!1,r._callback=null,r._callbackScope=null,r._time1=null,r._time2=null,r.easing=!1!==i.easing,r.duration=i.duration,r.fit=i.fit,r.fitFOV=i.fitFOV,r.trail=i.trail,r}return P(n,[{key:"type",get:function(){return"CameraFlightAnimation"}},{key:"flyTo",value:function(e,t,n){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=n;var r,i,a,s,o,l=this.scene.camera,u=!!e.projection&&e.projection!==l.projection;if(this._eye1[0]=l.eye[0],this._eye1[1]=l.eye[1],this._eye1[2]=l.eye[2],this._look1[0]=l.look[0],this._look1[1]=l.look[1],this._look1[2]=l.look[2],this._up1[0]=l.up[0],this._up1[1]=l.up[1],this._up1[2]=l.up[2],this._orthoScale1=l.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)r=e.aabb;else if(6===e.length)r=e;else if(e.eye&&e.look||e.up)i=e.eye,a=e.look,s=e.up;else if(e.eye)i=e.eye;else if(e.look)a=e.look;else{var c=e;if((le.isNumeric(c)||le.isString(c))&&(o=c,!(c=this.scene.components[o])))return this.error("Component not found: "+le.inQuotes(o)),void(t&&(n?t.call(n):t()));u||(r=c.aabb||this.scene.aabb)}var f=e.poi;if(r){if(r[3]=1;e>1&&(e=1);var r=this.easing?n._ease(e,0,1,1):e,i=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?($.subVec3(i.eye,i.look,ms),i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.subVec3(Is,ms,hs)):this._flyingLook&&(i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)):this._flyingEyeLookUp&&(i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)),this._projection2){var a="ortho"===this._projection2?n._easeOutExpo(e,0,1,1):n._easeInCubic(e,0,1,1);i.customProjection.matrix=$.lerpMat4(a,0,1,this._projMatrix1,this._projMatrix2)}else i.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return i.ortho.scale=this._orthoScale2,void this.stop();he.scheduleTask(this._update,this)}}},{key:"stop",value:function(){if(this._flying){this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);var e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}}},{key:"cancel",value:function(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}},{key:"duration",get:function(){return this._duration/1e3},set:function(e){this._duration=e?1e3*e:500,this.stop()}},{key:"fit",get:function(){return this._fit},set:function(e){this._fit=!1!==e}},{key:"fitFOV",get:function(){return this._fitFOV},set:function(e){this._fitFOV=e||45}},{key:"trail",get:function(){return this._trail},set:function(e){this._trail=!!e}},{key:"destroy",value:function(){this.stop(),v(E(n.prototype),"destroy",this).call(this)}}],[{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"_easeInCubic",value:function(e,t,n,r){return n*(e/=r)*e*e+t}},{key:"_easeOutExpo",value:function(e,t,n,r){return n*(1-Math.pow(2,-10*e/r))+t}}]),n}(),gs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cameraFlightAnimation=new ws(g(r)),r._t=0,r.state=n.SCRUBBING,r._playingFromT=0,r._playingToT=0,r._playingRate=i.playingRate||1,r._playingDir=1,r._lastTime=null,r.cameraPath=i.cameraPath,r._tick=r.scene.on("tick",r._updateT,g(r)),r}return P(n,[{key:"type",get:function(){return"CameraPathAnimation"}},{key:"_updateT",value:function(){var e=this._cameraPath;if(e){var t,r,i=performance.now(),a=this._lastTime?.001*(i-this._lastTime):0;if(this._lastTime=i,0!==a)switch(this.state){case n.SCRUBBING:return;case n.PLAYING:if(this._t+=this._playingRate*a,0===(t=this._cameraPath.frames.length)||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=n.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case n.PLAYING_TO:r=this._t+this._playingRate*a*this._playingDir,(this._playingDir<0&&r<=this._playingToT||this._playingDir>0&&r>=this._playingToT)&&(r=this._playingToT,this.state=n.SCRUBBING,this.fire("stopped")),this._t=r,e.loadFrame(this._t)}}}},{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"cameraPath",get:function(){return this._cameraPath},set:function(e){this._cameraPath=e}},{key:"rate",get:function(){return this._playingRate},set:function(e){this._playingRate=e}},{key:"play",value:function(){this._cameraPath&&(this._lastTime=null,this.state=n.PLAYING)}},{key:"playToT",value:function(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=n.PLAYING_TO)}},{key:"playToFrame",value:function(e){var t=this._cameraPath;if(t){var n=t.frames[e];n?this.playToT(n.t):this.error("playToFrame - frame index out of range: "+e)}}},{key:"flyToFrame",value:function(e,t){var r=this._cameraPath;if(r){var i=r.frames[e];i?(this.state=n.SCRUBBING,this._cameraFlightAnimation.flyTo(i,t)):this.error("flyToFrame - frame index out of range: "+e)}}},{key:"scrubToT",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=n.SCRUBBING))}},{key:"scrubToFrame",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(t.frames[e]?(t.loadFrame(this._t),this.state=n.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)))}},{key:"stop",value:function(){this.state=n.SCRUBBING,this.fire("stopped")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene.off(this._tick)}}]),n}();gs.STOPPED=0,gs.SCRUBBING=1,gs.PLAYING=2,gs.PLAYING_TO=3;var Es=$.vec3(),Ts=$.vec3();$.vec3();var bs=$.vec3([0,-1,0]),Ds=$.vec4([0,0,0,1]),Ps=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r)),r._plane=new Ji(g(r),{geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0}),clippable:i.clippable}),r._grid=new Ji(g(r),{geometry:new Cn(g(r),Ua({size:1,divisions:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:i.clippable}),r._node=new da(g(r),{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[r._plane,r._grid]}),r._gridVisible=!1,r.visible=!0,r.gridVisible=i.gridVisible,r.position=i.position,r.rotation=i.rotation,r.dir=i.dir,r.size=i.size,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"visible",get:function(){return this._plane.visible},set:function(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}},{key:"gridVisible",get:function(){return this._gridVisible},set:function(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"position",get:function(){return this._pos},set:function(e){this._pos.set(e||[0,0,0]),Oe(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}},{key:"rotation",get:function(){return this._node.rotation},set:function(e){this._node.rotation=e}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"dir",get:function(){return this._dir},set:function(e){if(this._dir.set(e||[0,0,-1]),e){var t=this.scene.center,n=[-this._dir[0],-this._dir[1],-this._dir[2]];$.subVec3(t,this.position,Es);var r=-$.dotVec3(n,Es);$.normalizeVec3(n),$.mulVec3Scalar(n,r,Ts),$.vec3PairToQuaternion(bs,e,Ds),this._node.quaternion=Ds}}},{key:"collidable",get:function(){return this._node.collidable},set:function(e){this._node.collidable=!1!==e}},{key:"clippable",get:function(){return this._node.clippable},set:function(e){this._node.clippable=!1!==e}},{key:"pickable",get:function(){return this._node.pickable},set:function(e){this._node.pickable=!1!==e}},{key:"opacity",get:function(){return this._node.opacity},set:function(e){this._node.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}},{key:"_updatePlaneSizeFromImage",value:function(){var e=this._size,t=this._imageSize[0],n=this._imageSize[1];if(t>n){var r=n/t;this._node.scale=[e,1,e*r]}else{var i=t/n;this._node.scale=[e*i,1,e]}}}]),n}(),Rs=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=g(r=t.call(this,e,i));r._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var s=r.scene.camera,o=r.scene.canvas;return r._onCameraViewMatrix=s.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=s.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=o.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"point",pos:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(a._shadowViewMatrixDirty){a._shadowViewMatrix||(a._shadowViewMatrix=$.identityMat4());var e=a._state.pos,t=s.look,n=s.up;$.lookAtMat4v(e,t,n,a._shadowViewMatrix),a._shadowViewMatrixDirty=!1}return a._shadowViewMatrix},getShadowProjMatrix:function(){if(a._shadowProjMatrixDirty){a._shadowProjMatrix||(a._shadowProjMatrix=$.identityMat4());var e=a.scene.canvas.canvas;$.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,a._shadowProjMatrix),a._shadowProjMatrixDirty=!1}return a._shadowProjMatrix},getShadowRenderBuf:function(){return a._shadowRenderBuf||(a._shadowRenderBuf=new Ut(a.scene.canvas.canvas,a.scene.canvas.gl,{size:[1024,1024]})),a._shadowRenderBuf}}),r.pos=i.pos,r.color=i.color,r.intensity=i.intensity,r.constantAttenuation=i.constantAttenuation,r.linearAttenuation=i.linearAttenuation,r.quadraticAttenuation=i.quadraticAttenuation,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"PointLight"}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"constantAttenuation",get:function(){return this._state.attenuation[0]},set:function(e){this._state.attenuation[0]=e||0,this.glRedraw()}},{key:"linearAttenuation",get:function(){return this._state.attenuation[1]},set:function(e){this._state.attenuation[1]=e||0,this.glRedraw()}},{key:"quadraticAttenuation",get:function(){return this._state.attenuation[2]},set:function(e){this._state.attenuation[2]=e||0,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}();function Cs(e){return 0==(e&e-1)}function _s(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Bs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=(r=t.call(this,e,i)).scene.canvas.gl;return r._state=new Wt({texture:new ba({gl:a,target:a.TEXTURE_CUBE_MAP}),flipY:r._checkFlipY(i.minFilter),encoding:r._checkEncoding(i.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),r._src=i.src,r._images=[],r._loadSrc(i.src),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"CubeTexture"}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}},{key:"_loadSrc",value:function(e){var t=this,n=this.scene.canvas.gl;this._images=[];for(var r=!1,i=0,a=function(a){var s,o,l=new Image;l.onload=(s=l,o=a,function(){if(!r&&(s=function(e){if(!Cs(e.width)||!Cs(e.height)){var t=document.createElement("canvas");t.width=_s(e.width),t.height=_s(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}(s),t._images[o]=s,6==++i)){var e=t._state.texture;e||(e=new ba({gl:n,target:n.TEXTURE_CUBE_MAP}),t._state.texture=e),e.setImage(t._images,t._state),t.fire("loaded",t._src,!1),t.glRedraw()}}),l.onerror=function(){r=!0},l.src=e[a]},s=0;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightsState.addReflectionMap(r._state),r.scene._reflectionMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"ReflectionMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._reflectionMapDestroyed(this)}}]),n}(),Ss=function(e){I(n,Bs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"LightMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightMapDestroyed(this)}}]),n}(),Ns=function(e){I(n,Xe);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,{entity:i.entity,occludable:i.occludable,worldPos:i.worldPos}))._occluded=!1,r._visible=!0,r._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r),{src:i.src}),r._geometry=new Cn(g(r),{primitive:"triangles",positions:[3,3,0,-3,3,0,-3,-3,0,3,-3,0],normals:[-1,0,0,-1,0,0,-1,0,0,-1,0,0],uv:[1,-1,0,-1,0,0,1,0],indices:[0,1,2,0,2,3]}),r._mesh=new Ji(g(r),{geometry:r._geometry,material:new Nn(g(r),{ambient:[.9,.3,.9],shininess:30,diffuseMap:r._texture,backfaces:!0}),scale:[1,1,1],position:i.worldPos,rotation:[90,0,0],billboard:"spherical",occluder:!1}),r.visible=!0,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,r.size=i.size,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"_setVisible",value:function(e){this._occluded=!e,this._mesh.visible=this._visible&&!this._occluded,v(E(n.prototype),"_setVisible",this).call(this,e)}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=null==e||e,this._mesh.visible=this._visible&&!this._occluded}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"collidable",get:function(){return this._mesh.collidable},set:function(e){this._mesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._mesh.clippable},set:function(e){this._mesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._mesh.pickable},set:function(e){this._mesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._mesh.opacity},set:function(e){this._mesh.opacity=e}},{key:"_updatePlaneSizeFromImage",value:function(){var e=.5*this._size,t=this._imageSize[0],n=this._imageSize[1],r=n/t;this._geometry.positions=t>n?[e,e*r,0,-e,e*r,0,-e,-e*r,0,e,-e*r,0]:[e/r,e,0,-e/r,e,0,-e/r,-e,0,e/r,-e,0]}}]),n}(),Ls=function(){function e(t){b(this,e),this._eye=$.vec3(),this._look=$.vec3(),this._up=$.vec3(),this._projection={},t&&this.saveCamera(t)}return P(e,[{key:"saveCamera",value:function(e){var t=e.camera,n=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:n.fov,fovAxis:n.fovAxis,near:n.near,far:n.far};break;case"ortho":this._projection={projection:"ortho",scale:n.scale,near:n.near,far:n.far};break;case"frustum":this._projection={projection:"frustum",left:n.left,right:n.right,top:n.top,bottom:n.bottom,near:n.near,far:n.far};break;case"custom":this._projection={projection:"custom",matrix:n.matrix.slice()}}}},{key:"restoreCamera",value:function(e,t){var n=e.camera,r=this._projection;function i(){switch(r.type){case"perspective":n.perspective.fov=r.fov,n.perspective.fovAxis=r.fovAxis,n.perspective.near=r.near,n.perspective.far=r.far;break;case"ortho":n.ortho.scale=r.scale,n.ortho.near=r.near,n.ortho.far=r.far;break;case"frustum":n.frustum.left=r.left,n.frustum.right=r.right,n.frustum.top=r.top,n.frustum.bottom=r.bottom,n.frustum.near=r.near,n.frustum.far=r.far;break;case"custom":n.customProjection.matrix=r.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:r.scale,projection:r.projection},(function(){i(),t()})):(n.eye=this._eye,n.look=this._look,n.up=this._up,i(),n.projection=r.projection)}}]),e}(),xs=$.vec3(),Ms=function(){function e(t){if(b(this,e),this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,t){var n=t.metaScene.scene;this.saveObjects(n,t)}}return P(e,[{key:"saveObjects",value:function(e,t,n){this.numObjects=0,this._mask=n?le.apply(n,{}):null;for(var r=!n||n.visible,i=!n||n.edges,a=!n||n.xrayed,s=!n||n.highlighted,o=!n||n.selected,l=!n||n.clippable,u=!n||n.pickable,c=!n||n.colorize,f=!n||n.opacity,p=t.metaObjects,A=e.objects,d=0,v=p.length;d1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.v3=i.v3,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"v3",get:function(){return this._v3},set:function(e){this.fire("v3",this._v3=e||$.vec3([0,0,0]))}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=$.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=$.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}]),n}(),Gs=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cachedLengths=[],r._dirty=!0,r._curves=[],r._t=0,r._dirtySubs=[],r._destroyedSubs=[],r.curves=i.curves||[],r.t=i.t,r}return P(n,[{key:"addCurve",value:function(e){this._curves.push(e),this._dirty=!0}},{key:"curves",get:function(){return this._curves},set:function(e){var t,n,r;for(e=e||[],n=0,r=this._curves.length;n1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"length",get:function(){var e=this._getCurveLengths();return e[e.length-1]}},{key:"getPoint",value:function(e){for(var t,n=e*this.length,r=this._getCurveLengths(),i=0;i=n){var a=1-(r[i]-n)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}},{key:"_getCurveLengths",value:function(){if(!this._dirty)return this._cachedLengths;var e,t=[],n=0,r=this._curves.length;for(e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=$.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=$.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}]),n}(),js=$.OBB3(),Vs=$.OBB3(),Qs=$.OBB3(),Ws=function(){function e(t,n,r,i,a,s){var o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0;b(this,e),this.model=t,this.object=null,this.parent=null,this.transform=a,this.textureSet=s,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=n,this.obb=null,this._aabbLocal=null,this._aabbWorld=$.AABB3(),this._aabbWorldDirty=!1,this.layer=o,this.portionId=l,this._color=new Uint8Array([r[0],r[1],r[2],i]),this._colorize=new Uint8Array([r[0],r[1],r[2],i]),this._colorizing=!1,this._transparent=i<255,this.numTriangles=0,this.origin=null,this.entity=null,a&&a._addMesh(this)}return P(e,[{key:"_sceneModelDirty",value:function(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}},{key:"_updateMatrix",value:function(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}},{key:"_finalize",value:function(e){this.layer.initFlags(this.portionId,e,this._transparent)}},{key:"_finalize2",value:function(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}},{key:"_setVisible",value:function(e){this.layer.setVisible(this.portionId,e,this._transparent)}},{key:"_setColor",value:function(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}},{key:"_setColorize",value:function(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}},{key:"_setOpacity",value:function(e,t){var n=e<255,r=this._transparent!==n;this._color[3]=e,this._colorize[3]=e,this._transparent=n,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),r&&this.layer.setTransparent(this.portionId,t,n)}},{key:"_setOffset",value:function(e){this.layer.setOffset(this.portionId,e)}},{key:"_setHighlighted",value:function(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}},{key:"_setXRayed",value:function(e){this.layer.setXRayed(this.portionId,e,this._transparent)}},{key:"_setSelected",value:function(e){this.layer.setSelected(this.portionId,e,this._transparent)}},{key:"_setEdges",value:function(e){this.layer.setEdges(this.portionId,e,this._transparent)}},{key:"_setClippable",value:function(e){this.layer.setClippable(this.portionId,e,this._transparent)}},{key:"_setCollidable",value:function(e){this.layer.setCollidable(this.portionId,e)}},{key:"_setPickable",value:function(e){this.layer.setPickable(this.portionId,e,this._transparent)}},{key:"_setCulled",value:function(e){this.layer.setCulled(this.portionId,e,this._transparent)}},{key:"canPickTriangle",value:function(){return!1}},{key:"drawPickTriangles",value:function(e,t){}},{key:"pickTriangleSurface",value:function(e){}},{key:"precisionRayPickSurface",value:function(e,t,n,r){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,n,r)}},{key:"canPickWorldPos",value:function(){return!0}},{key:"drawPickDepths",value:function(e){this.model.drawPickDepths(e)}},{key:"drawPickNormals",value:function(e){this.model.drawPickNormals(e)}},{key:"delegatePickedEntity",value:function(){return this.parent}},{key:"getEachVertex",value:function(e){this.layer.getEachVertex(this.portionId,e)}},{key:"aabb",get:function(){if(this._aabbWorldDirty){if($.AABB3ToOBB3(this._aabbLocal,js),this.transform?($.transformOBB3(this.transform.worldMatrix,js,Vs),$.transformOBB3(this.model.worldMatrix,Vs,Qs),$.OBB3ToAABB3(Qs,this._aabbWorld)):($.transformOBB3(this.model.worldMatrix,js,Vs),$.OBB3ToAABB3(Vs,this._aabbWorld)),this.origin){var e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld},set:function(e){this._aabbLocal=e}},{key:"_destroy",value:function(){this.model.scene._renderer.putPickID(this.pickId)}}]),e}(),zs=new(function(){function e(){b(this,e),this._uint8Arrays={},this._float32Arrays={}}return P(e,[{key:"_clear",value:function(){this._uint8Arrays={},this._float32Arrays={}}},{key:"getUInt8Array",value:function(e){var t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}},{key:"getFloat32Array",value:function(e){var t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}}]),e}()),Ks=0;function Ys(){return Ks++,zs}var Xs={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},qs=new Float32Array([1,1,1,1]),Js=new Float32Array([0,0,0,1]),Zs=$.vec4(),$s=$.vec3(),eo=$.vec3(),to=$.mat4(),no=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.instancing,a=void 0!==i&&i,s=r.edges,o=void 0!==s&&s;b(this,e),this._scene=t,this._withSAO=n,this._instancing=a,this._edges=o,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}return P(e,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"_buildShader",value:function(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}},{key:"_buildVertexShader",value:function(){return[""]}},{key:"_buildFragmentShader",value:function(){return[""]}},{key:"_addMatricesUniformBlockLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}},{key:"_addRemapClipPosLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(".concat(t,"));")),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}},{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"setSectionPlanesStateUniforms",value:function(e){var t=this._scene,n=t.canvas.gl,r=e.model,i=e.layerIndex,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),s=t._sectionPlanesState.sectionPlanes.length;if(a>0)for(var o=t._sectionPlanesState.sectionPlanes,l=i*s,u=r.renderFlags,c=0;c0&&(this._uReflectionMap="reflectionMap"),n.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(var o=0,l=e._sectionPlanesState.getNumAllocatedSectionPlanes();o3&&void 0!==arguments[3]?arguments[3]:{},i=r.colorUniform,a=void 0!==i&&i,s=r.incrementDrawState,o=void 0!==s&&s,l=dt.MAX_TEXTURE_IMAGE_UNITS,u=this._scene,c=u.canvas.gl,f=t._state,p=t.model,A=f.textureSet,d=f.origin,v=f.positionsDecodeMatrix,h=u._lightsState,I=u.pointsMaterial,y=p.scene.camera,m=y.viewNormalMatrix,w=y.project,g=e.pickViewMatrix||y.viewMatrix,E=p.position,T=p.rotationMatrix,b=p.rotationMatrixConjugate,D=p.worldNormalMatrix;if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),this._vaoCache.has(t)?c.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(f));var P=0,R=16;this._matricesUniformBlockBufferData.set(b,0);var C=0!==d[0]||0!==d[1]||0!==d[2],_=0!==E[0]||0!==E[1]||0!==E[2];if(C||_){var B=$s;if(C){var O=$.transformPoint3(T,d,eo);B[0]=O[0],B[1]=O[1],B[2]=O[2]}else B[0]=0,B[1]=0,B[2]=0;B[0]+=E[0],B[1]+=E[1],B[2]+=E[2],this._matricesUniformBlockBufferData.set(Be(g,B,to),P+=R)}else this._matricesUniformBlockBufferData.set(g,P+=R);if(this._matricesUniformBlockBufferData.set(e.pickProjMatrix||w.matrix,P+=R),this._matricesUniformBlockBufferData.set(v,P+=R),this._matricesUniformBlockBufferData.set(D,P+=R),this._matricesUniformBlockBufferData.set(m,P+=R),c.bindBuffer(c.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),c.bufferData(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,c.DYNAMIC_DRAW),c.bindBufferBase(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer),c.uniform1i(this._uRenderPass,n),this.setSectionPlanesStateUniforms(t),u.logarithmicDepthBufferEnabled){if(this._uLogDepthBufFC){var S=2/(Math.log(e.pickZFar+1)/Math.LN2);c.uniform1f(this._uLogDepthBufFC,S)}this._uZFar&&c.uniform1f(this._uZFar,u.camera.project.far)}if(this._uPickInvisible&&c.uniform1i(this._uPickInvisible,e.pickInvisible),this._uPickZNear&&c.uniform1f(this._uPickZNear,e.pickZNear),this._uPickZFar&&c.uniform1f(this._uPickZFar,e.pickZFar),this._uPickClipPos&&c.uniform2fv(this._uPickClipPos,e.pickClipPos),this._uDrawingBufferSize&&c.uniform2f(this._uDrawingBufferSize,c.drawingBufferWidth,c.drawingBufferHeight),this._uUVDecodeMatrix&&c.uniformMatrix3fv(this._uUVDecodeMatrix,!1,f.uvDecodeMatrix),this._uIntensityRange&&I.filterIntensity&&c.uniform2f(this._uIntensityRange,I.minIntensity,I.maxIntensity),this._uPointSize&&c.uniform1f(this._uPointSize,I.pointSize),this._uNearPlaneHeight){var N="ortho"===u.camera.projection?1:c.drawingBufferHeight/(2*Math.tan(.5*u.camera.perspective.fov*Math.PI/180));c.uniform1f(this._uNearPlaneHeight,N)}if(A){var L=A.colorTexture,x=A.metallicRoughnessTexture,M=A.emissiveTexture,F=A.normalsTexture,H=A.occlusionTexture;this._uColorMap&&L&&(this._program.bindTexture(this._uColorMap,L.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uMetallicRoughMap&&x&&(this._program.bindTexture(this._uMetallicRoughMap,x.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uEmissiveMap&&M&&(this._program.bindTexture(this._uEmissiveMap,M.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uNormalMap&&F&&(this._program.bindTexture(this._uNormalMap,F.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uAOMap&&H&&(this._program.bindTexture(this._uAOMap,H.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l)}if(h.reflectionMaps.length>0&&h.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,h.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),h.lightMaps.length>0&&h.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,h.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),this._withSAO){var U=u.sao,G=U.possible;if(G){var k=c.drawingBufferWidth,j=c.drawingBufferHeight;Zs[0]=k,Zs[1]=j,Zs[2]=U.blendCutoff,Zs[3]=U.blendFactor,c.uniform4fv(this._uSAOParams,Zs),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++}}if(a){var V=this._edges?"edgeColor":"fillColor",Q=this._edges?"edgeAlpha":"fillAlpha";if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_XRAYED")]){var W=u.xrayMaterial._state,z=W[V],K=W[Q];c.uniform4f(this._uColor,z[0],z[1],z[2],K)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_HIGHLIGHTED")]){var Y=u.highlightMaterial._state,X=Y[V],q=Y[Q];c.uniform4f(this._uColor,X[0],X[1],X[2],q)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_SELECTED")]){var J=u.selectedMaterial._state,Z=J[V],ee=J[Q];c.uniform4f(this._uColor,Z[0],Z[1],Z[2],ee)}else c.uniform4fv(this._uColor,this._edges?Js:qs)}this._draw({state:f,frameCtx:e,incrementDrawState:o}),c.bindVertexArray(null)}}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null,re.memory.programs--}}]),e}(),ro=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.instancing,s=void 0!==a&&a,o=i.edges,l=void 0!==o&&o;return b(this,n),t.call(this,e,r,{instancing:s,edges:l})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;if(this._edges)t.drawElements(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0);else{var a=r.pickElementsCount||n.indicesBuf.numItems,s=r.pickElementsOffset?r.pickElementsOffset*n.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,a,n.indicesBuf.itemType,s),i&&r.drawElements++}}}]),n}(),io=function(e){I(n,ro);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!1,edges:!0})}return P(n)}(),ao=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.edges,s=void 0!==a&&a;return b(this,n),t.call(this,e,r,{instancing:!0,edges:s})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;this._edges?t.drawElementsInstanced(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0,n.numInstances):(t.drawElementsInstanced(t.TRIANGLES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++)}}]),n}(),so=function(e){I(n,ao);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0,edges:!0})}return P(n)}(),oo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArrays(t.POINTS,0,n.positionsBuf.numItems),i&&r.drawArrays++}}]),n}(),lo=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArraysInstanced(t.POINTS,0,n.positionsBuf.numItems,n.numInstances),i&&r.drawArrays++}}]),n}(),uo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElements(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0),i&&r.drawElements++}}]),n}(),co=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElementsInstanced(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++}}]),n}(),fo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t=this._scene,n=t._sectionPlanesState,r=t._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),t.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),i&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),t.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching flat-shading draw vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._lightsState,n=e._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),r){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(var a=0,s=n.getNumAllocatedSectionPlanes();a> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(var c=0,f=n.getNumAllocatedSectionPlanes();c 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var p=0,A=t.lights.length;p0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}]),n}(),vo=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),ho=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),Io=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),yo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),mo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec3 worldNormal = octDecode(normal.xy); "),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),wo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),go=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching depth fragment shader"),r.push("precision highp float;"),r.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),r.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),r.push("}"),r}}]),n}(),Eo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),To=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry shadow vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push(" int colorFlag = int(flags) & 0xF;"),n.push(" bool visible = (colorFlag > 0);"),n.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push(" if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry shadow fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = encodeFloat( gl_FragCoord.z); "),n.push("}"),n}}]),n}(),bo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Triangles batching quality draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),s.push("uniform sampler2D uAOMap;"),s.push("in vec4 vViewPosition;"),s.push("in vec3 vViewNormal;"),s.push("in vec4 vColor;"),s.push("in vec2 vUV;"),s.push("in vec2 vMetallicRoughness;"),r.lightMaps.length>0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick flat normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick flat normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),Po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching color texture vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._lightsState,r=e._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(var s=0,o=r.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(var f=0,p=r.getNumAllocatedSectionPlanes();f 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var A=0,d=n.lights.length;A0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]})),Bo=$.mat4(),Oo=$.mat4();function So(e,t,n){for(var r=e.length,i=new Uint16Array(r),a=t[0],s=t[1],o=t[2],l=t[3]-a,u=t[4]-s,c=t[5]-o,f=65525,p=f/l,A=f/u,d=f/c,v=function(e){return e>=0?e:0},h=0;h=0?1:-1),s=(1-Math.abs(r))*(i>=0?1:-1),r=a,i=s}return new Int8Array([Math[t](127.5*r+(r<0?-1:0)),Math[n](127.5*i+(i<0?-1:0))])}function xo(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}var Mo=$.vec3(),Fo=$.vec3(),Ho=$.vec3(),Uo=$.vec3(),Go=$.mat4(),ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=Mo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Fo;if(l){var y=Ho;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,Go),(v=Uo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),o.indicesBuf.bind(),s.drawElements(s.TRIANGLES,o.indicesBuf.numItems,o.indicesBuf.itemType,0),o.indicesBuf.unbind()}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),jo=$.vec3(),Vo=$.vec3(),Qo=$.vec3(),Wo=$.vec3(),zo=$.mat4(),Ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=jo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Vo;if(l){var y=Qo;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,zo),(v=Wo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElements(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0),o.edgeIndicesBuf.unbind()):s.drawArrays(s.POINTS,0,o.positionsBuf.numItems)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;var n=[];return n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Yo=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Xo={};var qo=$.mat4(),Jo=$.mat4(),Zo=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var $o=$.vec3(),el=$.vec3(),tl=$.vec3(),nl=$.vec3(),rl=$.vec3(),il=$.vec3(),al=$.vec3(),sl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesBatchingLayer"+(t.solid?"-solid":"-surface")+(t.autoNormals?"-autonormals":"-normals")+(t.textureSet&&t.textureSet.colorTexture?"-colorTexture":"")+(t.textureSet&&t.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=Co[r])||(i=new Ro(n),Co[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete Co[r],i._destroy()}))),i),this._snapBatchingRenderers=function(e){var t=e.id,n=Xo[t];return n||(n=new Yo(e),Xo[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Xo[t],n._destroy()}))),n}(t.model.scene),this._buffer=new _o(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({origin:$.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:t.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)),t.uvDecodeMatrix?(this._state.uvDecodeMatrix=$.mat3(t.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,t.origin&&this._state.origin.set(t.origin),this.aabb=$.collapseAABB3(),this.solid=!!t.solid}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)for(var P=0,R=s.length;P0){var C=qo;I?$.inverseMat4($.transposeMat4(I,Jo),C):$.identityMat4(C,C),function(e,t,n,r,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}var s,o,l,u,c,f=new Float32Array([0,0,0,0]),p=new Float32Array([0,0,0,0]);for(c=0;cu&&(o=s,u=l),(l=a(p,xo(s=Lo(p,"floor","ceil"))))>u&&(o=s,u=l),(l=a(p,xo(s=Lo(p,"ceil","ceil"))))>u&&(o=s,u=l),r[i+c+0]=o[0],r[i+c+1]=o[1],r[i+c+2]=0}(C,a,a.length,w.normals,w.normals.length)}if(u)for(var _=0,B=u.length;_0)for(var k=0,j=o.length;k0)for(var V=0,Q=l.length;V0){var r=this._state.positionsDecodeMatrix?new Uint16Array(n.positions):So(n.positions,this._modelAABB,this._state.positionsDecodeMatrix=$.mat4());if(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(var i=0,a=this._portions.length;i0){var u=new Int8Array(n.normals);e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.normals.length,3,t.STATIC_DRAW,!0)}if(n.colors.length>0){var c=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,c,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.uv.length>0)if(e.uvDecodeMatrix){e.uvBuf=new Dt(t,t.ARRAY_BUFFER,n.uv,n.uv.length,2,t.STATIC_DRAW,!1)}else{var f=Dn.getUVBounds(n.uv),p=Dn.compressUVs(n.uv,f.min,f.max),A=p.quantized;e.uvDecodeMatrix=$.mat3(p.decodeMatrix),e.uvBuf=new Dt(t,t.ARRAY_BUFFER,A,A.length,2,t.STATIC_DRAW,!1)}if(n.metallicRoughness.length>0){var d=new Uint8Array(n.metallicRoughness);e.metallicRoughnessBuf=new Dt(t,t.ARRAY_BUFFER,d,n.metallicRoughness.length,2,t.STATIC_DRAW,!1)}if(n.positions.length>0){var v=n.positions.length/3,h=new Float32Array(v);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,h,h.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var I=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,I,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var y=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,y,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var m=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,m,n.indices.length,1,t.STATIC_DRAW)}if(n.edgeIndices.length>0){var w=new Uint32Array(n.edgeIndices);e.edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,w,n.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}}},{key:"isEmpty",value:function(){return!this._state.indicesBuf}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=e,r=this._portions[n],i=4*r.vertsBaseIndex,a=4*r.numVerts,s=this._scratchMemory.getUInt8Array(a),o=t[0],l=t[1],u=t[2],c=t[3],f=0;f3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=e,o=this._portions[s],l=o.vertsBaseIndex,u=o.numVerts,c=l,f=u,p=!!(t&xe),A=!!(t&Ge),d=!!(t&ke),v=!!(t&je),h=!!(t&Ve),I=!!(t&Fe),y=!!(t&Me);i=!p||y||A||d&&!this.model.scene.highlightMaterial.glowThrough||v&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!p||y?Xs.NOT_RENDERED:v?Xs.SILHOUETTE_SELECTED:d?Xs.SILHOUETTE_HIGHLIGHTED:A?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var m=0;m=!p||y?Xs.NOT_RENDERED:v?Xs.EDGES_SELECTED:d?Xs.EDGES_HIGHLIGHTED:A?Xs.EDGES_XRAYED:h?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var w=p&&!y&&I?Xs.PICK:Xs.NOT_RENDERED,g=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var E=c,T=c+f;EI)&&(I=b,r.set(y),i&&$.triangleNormal(A,d,v,i),h=!0)}}return h&&i&&($.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),h}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}]),e}(),ol=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t,n,r=this._scene,i=r._sectionPlanesState,a=r._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];for(o.push("#version 300 es"),o.push("// Instancing geometry drawing vertex shader"),o.push("uniform int renderPass;"),o.push("in vec3 position;"),o.push("in vec2 normal;"),o.push("in vec4 color;"),o.push("in float flags;"),r.entityOffsetsEnabled&&o.push("in vec3 offset;"),o.push("in vec4 modelMatrixCol0;"),o.push("in vec4 modelMatrixCol1;"),o.push("in vec4 modelMatrixCol2;"),o.push("in vec4 modelNormalMatrixCol0;"),o.push("in vec4 modelNormalMatrixCol1;"),o.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(o,!0),r.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;")),o.push("uniform vec4 lightAmbient;"),e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"),s&&(o.push("out vec4 vWorldPosition;"),o.push("out float vFlags;")),o.push("out vec4 vColor;"),o.push("void main(void) {"),o.push("int colorFlag = int(flags) & 0xF;"),o.push("if (colorFlag != renderPass) {"),o.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),o.push("} else {"),o.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),o.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),r.entityOffsetsEnabled&&o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix * worldPosition; "),o.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),o.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),o.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),e=0,t=a.lights.length;e0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),ll=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry flat-shading drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=n._lightsState,a=r.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),n.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),a){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(var o=0,l=r.getNumAllocatedSectionPlanes();o> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var c=0,f=r.getNumAllocatedSectionPlanes();c 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}for(s.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),s.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),s.push("float lambertian = 1.0;"),s.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),s.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),s.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=i.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// Instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing fill fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),cl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),fl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),pl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Al=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),dl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec2 normal;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("in vec4 modelNormalMatrixCol0;"),n.push("in vec4 modelNormalMatrixCol1;"),n.push("in vec4 modelNormalMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),vl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),hl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}]),n}(),Il=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),yl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),ml={3e3:"linearToLinear",3001:"sRGBToLinear"},wl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Instancing geometry quality drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),s.push("#define PI 3.14159265359"),s.push("#define RECIPROCAL_PI 0.31830988618"),s.push("#define RECIPROCAL_PI2 0.15915494"),s.push("#define EPSILON 1e-6"),s.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),s.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),s.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),s.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),s.push(" return normalize(surf_norm );"),s.push(" }"),s.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),s.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),s.push(" vec2 st0 = dFdx( uv.st );"),s.push(" vec2 st1 = dFdy( uv.st );"),s.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),s.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),s.push(" vec3 N = normalize( surf_norm );"),s.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),s.push(" mat3 tsn = mat3( S, T, N );"),s.push(" return normalize( tsn * mapN );"),s.push("}"),s.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),s.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),s.push("}"),s.push("struct IncidentLight {"),s.push(" vec3 color;"),s.push(" vec3 direction;"),s.push("};"),s.push("struct ReflectedLight {"),s.push(" vec3 diffuse;"),s.push(" vec3 specular;"),s.push("};"),s.push("struct Geometry {"),s.push(" vec3 position;"),s.push(" vec3 viewNormal;"),s.push(" vec3 worldNormal;"),s.push(" vec3 viewEyeDir;"),s.push("};"),s.push("struct Material {"),s.push(" vec3 diffuseColor;"),s.push(" float specularRoughness;"),s.push(" vec3 specularColor;"),s.push(" float shine;"),s.push("};"),s.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),s.push(" float r = ggxRoughness + 0.0001;"),s.push(" return (2.0 / (r * r) - 2.0);"),s.push("}"),s.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),s.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),s.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),s.push("}"),r.reflectionMaps.length>0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = "+ml[r.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = "+ml[r.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&n.push("out float vFlags;"),n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&n.push("vFlags = flags;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),El=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n.gammaOutput,i=n._sectionPlanesState,a=n._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];if(o.push("#version 300 es"),o.push("// Instancing geometry drawing fragment shader"),o.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),o.push("precision highp float;"),o.push("precision highp int;"),o.push("#else"),o.push("precision mediump float;"),o.push("precision mediump int;"),o.push("#endif"),n.logarithmicDepthBufferEnabled&&(o.push("in float isPerspective;"),o.push("uniform float logDepthBufFC;"),o.push("in float vFragDepth;")),o.push("uniform sampler2D uColorMap;"),this._withSAO&&(o.push("uniform sampler2D uOcclusionTexture;"),o.push("uniform vec4 uSAOParams;"),o.push("const float packUpscale = 256. / 255.;"),o.push("const float unpackDownScale = 255. / 256.;"),o.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),o.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),o.push("float unpackRGBToFloat( const in vec4 v ) {"),o.push(" return dot( v, unPackFactors );"),o.push("}")),o.push("uniform float gammaFactor;"),o.push("vec4 linearToLinear( in vec4 value ) {"),o.push(" return value;"),o.push("}"),o.push("vec4 sRGBToLinear( in vec4 value ) {"),o.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),o.push("}"),o.push("vec4 gammaToLinear( in vec4 value) {"),o.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),o.push("}"),r&&(o.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),o.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),o.push("}")),s){o.push("in vec4 vWorldPosition;"),o.push("in float vFlags;");for(var l=0,u=i.getNumAllocatedSectionPlanes();l> 16 & 0xF) == 1;"),o.push(" if (clippable) {"),o.push(" float dist = 0.0;");for(var f=0,p=i.getNumAllocatedSectionPlanes();f 0.0) { "),o.push(" discard;"),o.push(" }"),o.push("}")}for(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),o.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),o.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),o.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=a.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Ol=$.vec3(),Sl=$.vec3(),Nl=$.vec3(),Ll=$.vec3(),xl=$.mat4(),Ml=function(e){I(n,no);var t=m(n);function n(e){return b(this,n),t.call(this,e,!1,{instancing:!0})}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=Ol;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Sl;if(l){var y=$.transformPoint3(c,l,Nl);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,xl),(v=Ll)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(o.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(o.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(o.modelMatrixCol2Buf),s.vertexAttribDivisor(this._aModelMatrixCol0.location,1),s.vertexAttribDivisor(this._aModelMatrixCol1.location,1),s.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(o.flagsBuf),s.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElementsInstanced(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0,o.numInstances),o.edgeIndicesBuf.unbind()):s.drawArraysInstanced(s.POINTS,0,o.positionsBuf.numItems,o.numInstances),s.vertexAttribDivisor(this._aModelMatrixCol0.location,0),s.vertexAttribDivisor(this._aModelMatrixCol1.location,0),s.vertexAttribDivisor(this._aModelMatrixCol2.location,0),s.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&s.vertexAttribDivisor(this._aOffset.location,0)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Fl=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Ml(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Ml(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Hl={};var Ul=new Uint8Array(4),Gl=new Float32Array(1),kl=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var jl=new Float32Array(3),Vl=$.vec3(),Ql=$.vec3(),Wl=$.vec3(),zl=$.vec3(),Kl=$.vec3(),Yl=$.vec3(),Xl=$.vec3(),ql=new Float32Array(4),Jl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesInstancingLayer"+(t.solid?"-solid":"-surface")+(t.normals?"-normals":"-autoNormals"),this.layerIndex=t.layerIndex,this._instancingRenderers=(n=t.model.scene,r=n.id,(i=bl[r])||(i=new Tl(n),bl[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete bl[r],i._destroy()}))),i),this._snapInstancingRenderers=function(e){var t=e.id,n=Hl[t];return n||(n=new Fl(e),Hl[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Hl[t],n._destroy()}))),n}(t.model.scene),this._aabb=$.collapseAABB3(),this._state=new Wt({numInstances:0,obb:$.OBB3(),origin:$.vec3(),geometry:t.geometry,textureSet:t.textureSet,pbrSupported:!1,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,t.origin&&this._state.origin.set(t.origin),this._finalized=!1,this.solid=!!t.solid,this.numIndices=t.geometry.numIndices}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,r.DYNAMIC_DRAW,!1),this._colors=[]}if(this._metallicRoughness.length>0){var s=new Uint8Array(this._metallicRoughness);e.metallicRoughnessBuf=new Dt(r,r.ARRAY_BUFFER,s,this._metallicRoughness.length,2,r.STATIC_DRAW,!1)}if(a>0){e.flagsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(a),a,1,r.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){e.offsetsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,r.DYNAMIC_DRAW,!1),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){e.positionsBuf=new Dt(r,r.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,r.STATIC_DRAW,!1),e.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){var o=new Uint8Array(t.colorsCompressed);e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,o,o.length,4,r.STATIC_DRAW,!1)}if(t.uvCompressed&&t.uvCompressed.length>0){var l=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Dt(r,r.ARRAY_BUFFER,l,l.length,2,r.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,r.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,r.STATIC_DRAW)),this._modelMatrixCol0.length>0){var u=!1;e.modelMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){e.pickColorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,r.STATIC_DRAW,!1),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&n&&n.colorTexture&&n.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!n&&!!n.colorTexture,this._state.geometry=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ul[0]=t[0],Ul[1]=t[1],Ul[2]=t[2],Ul[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(Ul,4*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&xe),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&Me),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?1:0)<<16,Gl[0]=c,this._state.flagsBuf&&this._state.flagsBuf.setData(Gl,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(jl[0]=t[0],jl[1]=t[1],jl[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(jl,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"getEachVertex",value:function(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;var n=this._state,r=n.geometry,i=this._portions[e];if(i)for(var a=r.quantizedPositions,s=n.origin,o=i.offset,l=s[0]+o[0],u=s[1]+o[1],c=s[2]+o[2],f=kl,p=i.matrix,A=this.model.sceneModelMatrix,d=n.positionsDecodeMatrix,v=0,h=a.length;vy)&&(y=P,r.set(m),i&&$.triangleNormal(d,v,h,i),I=!0)}}return I&&i&&($.transformVec3(o.normalMatrix,i,i),$.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),I}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}]),e}(),Zl=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),$l=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),eu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Zl(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new $l(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),tu={};var nu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}));$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var ru=function(){function e(t){var n,r,i;b(this,e),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=tu[r])||(i=new eu(n),tu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete tu[r],i._destroy()}))),i),this.model=t.model,this._buffer=new nu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.colors.length>0){var s=n.colors.length/4,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var l=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var u=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,u,n.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=t[3],c=0;c3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=2*e,o=this._portions[s],l=this._portions[s+1],u=o,c=l,f=!!(t&xe),p=!!(t&Ge),A=!!(t&ke),d=!!(t&je),v=!!(t&Fe),h=!!(t&Me);i=!f||h||p||A&&!this.model.scene.highlightMaterial.glowThrough||d&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!f||h?Xs.NOT_RENDERED:d?Xs.SILHOUETTE_SELECTED:A?Xs.SILHOUETTE_HIGHLIGHTED:p?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var I=f&&!h&&v?Xs.PICK:Xs.NOT_RENDERED,y=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var m=u,w=u+c;m0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 lightAmbient;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),au=function(e){I(n,co);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 color;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),su=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new iu(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new au(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),ou={};var lu=new Uint8Array(4),uu=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var cu=new Float32Array(3),fu=new Float32Array(4),pu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="LinesInstancingLayer",this.layerIndex=t.layerIndex,this._linesInstancingRenderers=(n=t.model.scene,r=n.id,(i=ou[r])||(i=new su(n),ou[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete ou[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,t.origin&&(this._state.origin=$.vec3(t.origin)),this._finalized=!1}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){this._state.colorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,!1),this._colors=[]}if(n>0){this._state.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(n),n,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){this._state.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(this._modelMatrixCol0.length>0){var r=!1;this._state.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,r),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";lu[0]=t[0],lu[1]=t[1],lu[2]=t[2],lu[3]=t[3],this._state.colorsBuf.setData(lu,4*e,4)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&xe),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&Me),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,uu[0]=c,this._state.flagsBuf.setData(uu,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(cu[0]=t[0],cu[1]=t[1],cu[2]=t[2],this._state.offsetsBuf.setData(cu,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;fu[0]=t[0],fu[1]=t[4],fu[2]=t[8],fu[3]=t[12],this._state.modelMatrixCol0Buf.setData(fu,n),fu[0]=t[1],fu[1]=t[5],fu[2]=t[9],fu[3]=t[13],this._state.modelMatrixCol1Buf.setData(fu,n),fu[0]=t[2],fu[1]=t[6],fu[2]=t[10],fu[3]=t[14],this._state.modelMatrixCol2Buf.setData(fu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){}},{key:"drawPickDepths",value:function(e,t){}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}]),e}(),Au=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial,r=[];return r.push("#version 300 es"),r.push("// Points batching color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),du=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform vec4 color;"),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}]),n}(),vu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),hu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batched pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batched pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Iu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push(" gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching occlusion fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),r.push("}"),r}}]),n}(),yu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Au(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new du(this._scene)),this._silhouetteRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new vu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new hu(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Iu(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),mu={};var wu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}));$.vec4(),$.vec4(),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var gu=function(){function e(t){b(this,e),this.model=t.model,this.sortId="PointsBatchingLayer",this.layerIndex=t.layerIndex,this._pointsBatchingRenderers=function(e){var t=e.id,n=mu[t];return n||(n=new yu(e),mu[t]=n,n._compile(),e.on("compile",(function(){n._compile()})),e.on("destroyed",(function(){delete mu[t],n._destroy()}))),n}(t.model.scene),this._buffer=new wu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.STATIC_DRAW,!1)}if(n.positions.length>0){var s=n.positions.length/3,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var l=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var u=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized"}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=0;u0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Tu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 color;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),r.push("uniform vec4 silhouetteColor;"),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),bu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick mesh fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Du=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push(" vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Pu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 color;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Ru=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),Cu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("gl_PointSize = pointSize;"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }"),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),_u=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Eu(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Tu(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new Ru(this._scene)),this._depthRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new bu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Du(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Pu(this._scene)),this._occlusionRenderer}},{key:"shadowRenderer",get:function(){return this._shadowRenderer||(this._shadowRenderer=new Cu(this._scene)),this._shadowRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}]),e}(),Bu={};var Ou=new Uint8Array(4),Su=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var Nu=new Float32Array(3),Lu=new Float32Array(4),xu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="PointsInstancingLayer",this.layerIndex=t.layerIndex,this._pointsInstancingRenderers=(n=t.model.scene,r=n.id,(i=Bu[r])||(i=new _u(n),Bu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete Bu[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:t.origin?$.vec3(t.origin):null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){n.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){n.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(r.positionsCompressed&&r.positionsCompressed.length>0){n.positionsBuf=new Dt(e,e.ARRAY_BUFFER,r.positionsCompressed,r.positionsCompressed.length,3,e.STATIC_DRAW,!1),n.positionsDecodeMatrix=$.mat4(r.positionsDecodeMatrix)}if(r.colorsCompressed&&r.colorsCompressed.length>0){var i=new Uint8Array(r.colorsCompressed);n.colorsBuf=new Dt(e,e.ARRAY_BUFFER,i,i.length,4,e.STATIC_DRAW,!1)}if(this._modelMatrixCol0.length>0){var a=!1;n.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,a),n.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,a),n.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,a),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){n.pickColorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,!1),this._pickColors=[]}n.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ou[0]=t[0],Ou[1]=t[1],Ou[2]=t[2],this._state.colorsBuf.setData(Ou,3*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&xe),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&Me),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,Su[0]=c,this._state.flagsBuf.setData(Su,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Nu[0]=t[0],Nu[1]=t[1],Nu[2]=t[2],this._state.offsetsBuf.setData(Nu,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;Lu[0]=t[0],Lu[1]=t[4],Lu[2]=t[8],Lu[3]=t[12],this._state.modelMatrixCol0Buf.setData(Lu,n),Lu[0]=t[1],Lu[1]=t[5],Lu[2]=t[9],Lu[3]=t[13],this._state.modelMatrixCol1Buf.setData(Lu,n),Lu[0]=t[2],Lu[1]=t[6],Lu[2]=t[10],Lu[3]=t[14],this._state.modelMatrixCol2Buf.setData(Lu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}]),e}(),Mu=function(){function e(t){b(this,e),this.id=t.id,this.colorTexture=t.colorTexture,this.metallicRoughnessTexture=t.metallicRoughnessTexture,this.normalsTexture=t.normalsTexture,this.emissiveTexture=t.emissiveTexture,this.occlusionTexture=t.occlusionTexture}return P(e,[{key:"destroy",value:function(){}}]),e}(),Fu=function(){function e(t){b(this,e),this.id=t.id,this.texture=t.texture}return P(e,[{key:"destroy",value:function(){this.texture&&(this.texture.destroy(),this.texture=null)}}]),e}(),Hu={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},Uu=function(){function e(t,n,r){b(this,e),this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=t,this.onProgress=n,this.onError=r}return P(e,[{key:"itemStart",value:function(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}},{key:"itemEnd",value:function(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}},{key:"itemError",value:function(e){void 0!==this.onError&&this.onError(e)}},{key:"resolveURL",value:function(e){return this.urlModifier?this.urlModifier(e):e}},{key:"setURLModifier",value:function(e){return this.urlModifier=e,this}},{key:"addHandler",value:function(e,t){return this.handlers.push(e,t),this}},{key:"removeHandler",value:function(e){var t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}},{key:"getHandler",value:function(e){for(var t=0,n=this.handlers.length;t0&&void 0!==arguments[0]?arguments[0]:4;b(this,e),this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}return P(e,[{key:"_initWorker",value:function(e){if(!this.workers[e]){var t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}},{key:"_getIdleWorker",value:function(){for(var e=0;e0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),Wu++}return this._transcoderPending}},{key:"transcode",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){var s=r;n._init().then((function(){return n._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:s},e)})).then((function(e){var n=e.data,r=n.mipmaps,s=(n.width,n.height,n.format),o=n.type,l=n.error,u=n.dfdTransferFn,c=n.dfdFlags;if("error"===o)return a(l);t.setCompressedData({mipmaps:r,props:{format:s,minFilter:1===r.length?1006:1008,magFilter:1===r.length?1006:1008,encoding:2===u?3001:3e3,premultiplyAlpha:!!(1&c)}}),i()}))}))}},{key:"destroy",value:function(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),Wu--}}]),e}();zu.BasisFormat={ETC1S:0,UASTC_4x4:1},zu.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},zu.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},zu.BasisWorker=function(){var e,t,n,r=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(s){var c,f=s.data;switch(f.type){case"init":e=f.config,c=f.transcoderBinary,t=new Promise((function(e){n={wasmBinary:c,onRuntimeInitialized:e},BASIS(n)})).then((function(){n.initializeBasis(),void 0===n.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((function(){try{for(var t=function(t){var s=new n.KTX2File(new Uint8Array(t));function c(){s.close(),s.delete()}if(!s.isValid())throw c(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");var f=s.isUASTC()?a.UASTC_4x4:a.ETC1S,p=s.getWidth(),A=s.getHeight(),d=s.getLevels(),v=s.getHasAlpha(),h=s.getDFDTransferFunc(),I=s.getDFDFlags(),y=function(t,n,s,c){for(var f,p,A=t===a.ETC1S?o:l,d=0;d=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var o=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(o&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),b(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;b(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:P(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function l(e,t,n,r,i,a,s){try{var o=e[a](s),l=o.value}catch(e){return void n(e)}o.done?t(l):Promise.resolve(l).then(r,i)}function u(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function s(e){l(a,r,i,s,o,"next",e)}function o(e){l(a,r,i,s,o,"throw",e)}s(void 0)}))}}function c(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||A(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=A(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,s=!0,o=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){o=!0,a=e},f:function(){try{s||null==n.return||n.return()}finally{if(o)throw a}}}}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==n)return;var r,i,a=[],s=!0,o=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){o=!0,i=e}finally{try{s||null==n.return||n.return()}finally{if(o)throw i}}return a}(e,t)||A(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._id=k.addItem(),this._context=null,this._enabled=!1,this._itemsCfg=[],this._rootMenu=null,this._menuList=[],this._menuMap={},this._itemList=[],this._itemMap={},this._shown=!1,this._nextId=0,this._eventSubs={},!1!==n.hideOnMouseDown&&(document.addEventListener("mousedown",(function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),document.addEventListener("touchstart",this._canvasTouchStartHandler=function(e){e.target.classList.contains("xeokit-context-menu-item")||t.hide()})),n.items&&(this.items=n.items),this._hideOnAction=!1!==n.hideOnAction,this.context=n.context,this.enabled=!1!==n.enabled,this.hide()}return P(e,[{key:"on",value:function(e,t){var n=this._eventSubs[e];n||(n=[],this._eventSubs[e]=n),n.push(t)}},{key:"fire",value:function(e,t){var n=this._eventSubs[e];if(n)for(var r=0,i=n.length;r0,c=t._getNextId(),f=a.getTitle||function(){return a.title||""},p=a.doAction||a.callback||function(){},A=a.getEnabled||function(){return!0},d=a.getShown||function(){return!0},v=new Q(c,f,p,A,d);if(v.parentMenu=i,l.items.push(v),u){var h=e(s);v.subMenu=h,h.parentItem=v}t._itemList.push(v),t._itemMap[v.id]=v},c=0,f=o.length;c'),r.push("
    "),n)for(var i=0,a=n.length;i'+A+" [MORE]"):r.push('
  • '+A+"
  • ")}}r.push("
"),r.push("");var d=r.join("");document.body.insertAdjacentHTML("beforeend",d);var v=document.querySelector("."+e.id);e.menuElement=v,v.style["border-radius"]="4px",v.style.display="none",v.style["z-index"]=3e5,v.style.background="white",v.style.border="1px solid black",v.style["box-shadow"]="0 4px 5px 0 gray",v.oncontextmenu=function(e){e.preventDefault()};var h=this,I=null;if(n)for(var y=0,m=n.length;ywindow.innerWidth?h._showMenu(t.id,a.left-200,a.top-1):h._showMenu(t.id,a.right-5,a.top-1),I=t}}else I&&(h._hideMenu(I.id),I=null)})),i||(r.itemElement.addEventListener("click",(function(e){e.preventDefault(),h._context&&!1!==r.enabled&&(r.doAction&&r.doAction(h._context),t._hideOnAction?h.hide():(h._updateItemsTitles(),h._updateItemsEnabledStatus()))})),r.itemElement.addEventListener("mouseenter",(function(e){e.preventDefault(),!1!==r.enabled&&r.doHover&&r.doHover(h._context)})))},E=0,T=w.length;Ewindow.innerHeight&&(n=window.innerHeight-r),t+i>window.innerWidth&&(t=window.innerWidth-i),e.style.left=t+"px",e.style.top=n+"px"}},{key:"_hideMenuElement",value:function(e){e.style.display="none"}}]),e}(),z=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.viewer=t,this.scene=this.viewer.scene,this._lensCursorDiv=document.createElement("div"),this.viewer.scene.canvas.canvas.parentNode.insertBefore(this._lensCursorDiv,this.viewer.scene.canvas.canvas),this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red",this._lensCursorDiv.style.borderRadius="20px",this._lensCursorDiv.style.width="10px",this._lensCursorDiv.style.height="10px",this._lensCursorDiv.style.margin="-200px -200px",this._lensCursorDiv.style.zIndex="100000",this._lensCursorDiv.style.position="absolute",this._lensCursorDiv.style.pointerEvents="none",this._lensContainer=document.createElement("div"),this._lensContainer.style.border="1px solid black",this._lensContainer.style.background="white",this._lensContainer.style.borderRadius="50%",this._lensContainer.style.width="300px",this._lensContainer.style.height="300px",this._lensContainer.style.marginTop="85px",this._lensContainer.style.marginLeft="25px",this._lensContainer.style.zIndex="15000",this._lensContainer.style.position="absolute",this._lensContainer.style.pointerEvents="none",this._lensContainer.style.visibility="hidden",this._lensCanvas=document.createElement("canvas"),this._lensCanvas.style.borderRadius="50%",this._lensCanvas.style.width="300px",this._lensCanvas.style.height="300px",this._lensCanvas.style.zIndex="15000",this._lensCanvas.style.pointerEvents="none",document.body.appendChild(this._lensContainer),this._lensContainer.appendChild(this._lensCanvas),this._lensCanvasContext=this._lensCanvas.getContext("2d"),this._canvasElement=this.viewer.scene.canvas.canvas,this._canvasPos=null,this._snappedCanvasPos=null,this._lensPosToggle=!0,this._zoomLevel=r.zoomLevel||2,this._active=!1!==r.active,this._visible=!1,this._snapped=!1,this._onViewerRendering=this.viewer.scene.on("rendering",(function(){n._active&&n._visible&&n.update()}))}return P(e,[{key:"update",value:function(){if(this._active&&this._visible&&this._canvasPos){var e=this._lensContainer.getBoundingClientRect(),t=this._canvasElement.getBoundingClientRect(),n=this._canvasPos[0]e.left&&this._canvasPos[1]e.top;this._lensContainer.style.marginLeft="25px",n&&(this._lensPosToggle?this._lensContainer.style.marginTop="".concat(t.bottom-t.top-this._lensCanvas.height-85,"px"):this._lensContainer.style.marginTop="85px",this._lensPosToggle=!this._lensPosToggle),this._lensCanvasContext.clearRect(0,0,this._lensCanvas.width,this._lensCanvas.height);var r=Math.max(this._lensCanvas.width,this._lensCanvas.height)/this._zoomLevel;this._lensCanvasContext.drawImage(this._canvasElement,this._canvasPos[0]-r/2,this._canvasPos[1]-r/2,r,r,0,0,this._lensCanvas.width,this._lensCanvas.height);var i=[(e.left+e.right)/2,(e.top+e.bottom)/2];if(this._snappedCanvasPos){var a=this._snappedCanvasPos[0]-this._canvasPos[0],s=this._snappedCanvasPos[1]-this._canvasPos[1];this._lensCursorDiv.style.marginLeft="".concat(i[0]+a*this._zoomLevel-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]+s*this._zoomLevel-10,"px")}else this._lensCursorDiv.style.marginLeft="".concat(i[0]-10,"px"),this._lensCursorDiv.style.marginTop="".concat(i[1]-10,"px")}}},{key:"zoomFactor",get:function(){return this._zoomFactor},set:function(e){this._zoomFactor=e,this.update()}},{key:"canvasPos",get:function(){return this._canvasPos},set:function(e){this._canvasPos=e,this.update()}},{key:"snappedCanvasPos",get:function(){return this._snappedCanvasPos},set:function(e){this._snappedCanvasPos=e,this.update()}},{key:"snapped",get:function(){return this._snapped},set:function(e){this._snapped=e,e?(this._lensCursorDiv.style.background="greenyellow",this._lensCursorDiv.style.border="2px solid green"):(this._lensCursorDiv.style.background="pink",this._lensCursorDiv.style.border="2px solid red")}},{key:"active",get:function(){return this._active},set:function(e){this._active=e,this._lensContainer.style.visibility=e&&this._visible?"visible":"hidden",e&&this._visible||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=e,this._lensContainer.style.visibility=e&&this._active?"visible":"hidden",e&&this._active||(this._lensCursorDiv.style.marginLeft="-100px",this._lensCursorDiv.style.marginTop="-100px"),this.update()}},{key:"destroy",value:function(){this._destroyed||(this.viewer.scene.off(this._onViewerRendering),this._lensContainer.removeChild(this._lensCanvas),document.body.removeChild(this._lensContainer),this._destroyed=!0)}}]),e}(),K=!0,Y=K?Float64Array:Float32Array,X=new Y(3),q=new Y(16),J=new Y(16),Z=new Y(4),$={setDoublePrecisionEnabled:function(e){Y=(K=e)?Float64Array:Float32Array},getDoublePrecisionEnabled:function(){return K},MIN_DOUBLE:-Number.MAX_SAFE_INTEGER,MAX_DOUBLE:Number.MAX_SAFE_INTEGER,MAX_INT:1e7,DEGTORAD:.0174532925,RADTODEG:57.295779513,unglobalizeObjectId:function(e,t){var n=t.indexOf("#");return n===e.length&&t.startsWith(e)?t.substring(n+1):t},globalizeObjectId:function(e,t){return e+"#"+t},safeInv:function(e){var t=1/e;return isNaN(t)||!isFinite(t)?1:t},vec2:function(e){return new Y(e||2)},vec3:function(e){return new Y(e||3)},vec4:function(e){return new Y(e||4)},mat3:function(e){return new Y(e||9)},mat3ToMat4:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Y(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},mat4:function(e){return new Y(e||16)},mat4ToMat3:function(e,t){},doublesToFloats:function(e,t,n){for(var r=new Y(2),i=0,a=e.length;i>8&255]+e[t>>16&255]+e[t>>24&255],"-").concat(e[255&n]).concat(e[n>>8&255],"-").concat(e[n>>16&15|64]).concat(e[n>>24&255],"-").concat(e[63&r|128]).concat(e[r>>8&255],"-").concat(e[r>>16&255]).concat(e[r>>24&255]).concat(e[255&i]).concat(e[i>>8&255]).concat(e[i>>16&255]).concat(e[i>>24&255])}}(),clamp:function(e,t,n){return Math.max(t,Math.min(n,e))},fmod:function(e,t){if(e1?1:n,Math.acos(n)},vec3FromMat4Scale:function(){var e=new Y(3);return function(t,n){return e[0]=t[0],e[1]=t[1],e[2]=t[2],n[0]=$.lenVec3(e),e[0]=t[4],e[1]=t[5],e[2]=t[6],n[1]=$.lenVec3(e),e[0]=t[8],e[1]=t[9],e[2]=t[10],n[2]=$.lenVec3(e),n}}(),vecToArray:function(){function e(e){return Math.round(1e5*e)/1e5}return function(t){for(var n=0,r=(t=Array.prototype.slice.call(t)).length;n0&&void 0!==arguments[0]?arguments[0]:new Y(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},identityMat3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Y(9);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=1,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e},isIdentityMat4:function(e){return 1===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&1===e[5]&&0===e[6]&&0===e[7]&&0===e[8]&&0===e[9]&&1===e[10]&&0===e[11]&&0===e[12]&&0===e[13]&&0===e[14]&&1===e[15]},negateMat4:function(e,t){return t||(t=e),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},addMat4:function(e,t,n){return n||(n=e),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n},addMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]+t,n[1]=e[1]+t,n[2]=e[2]+t,n[3]=e[3]+t,n[4]=e[4]+t,n[5]=e[5]+t,n[6]=e[6]+t,n[7]=e[7]+t,n[8]=e[8]+t,n[9]=e[9]+t,n[10]=e[10]+t,n[11]=e[11]+t,n[12]=e[12]+t,n[13]=e[13]+t,n[14]=e[14]+t,n[15]=e[15]+t,n},addScalarMat4:function(e,t,n){return $.addMat4Scalar(t,e,n)},subMat4:function(e,t,n){return n||(n=e),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n},subMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]-t,n[1]=e[1]-t,n[2]=e[2]-t,n[3]=e[3]-t,n[4]=e[4]-t,n[5]=e[5]-t,n[6]=e[6]-t,n[7]=e[7]-t,n[8]=e[8]-t,n[9]=e[9]-t,n[10]=e[10]-t,n[11]=e[11]-t,n[12]=e[12]-t,n[13]=e[13]-t,n[14]=e[14]-t,n[15]=e[15]-t,n},subScalarMat4:function(e,t,n){return n||(n=t),n[0]=e-t[0],n[1]=e-t[1],n[2]=e-t[2],n[3]=e-t[3],n[4]=e-t[4],n[5]=e-t[5],n[6]=e-t[6],n[7]=e-t[7],n[8]=e-t[8],n[9]=e-t[9],n[10]=e-t[10],n[11]=e-t[11],n[12]=e-t[12],n[13]=e-t[13],n[14]=e-t[14],n[15]=e-t[15],n},mulMat4:function(e,t,n){n||(n=e);var r=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],f=e[8],p=e[9],A=e[10],d=e[11],v=e[12],h=e[13],I=e[14],y=e[15],m=t[0],w=t[1],g=t[2],E=t[3],T=t[4],b=t[5],D=t[6],P=t[7],R=t[8],C=t[9],_=t[10],B=t[11],O=t[12],S=t[13],N=t[14],L=t[15];return n[0]=m*r+w*o+g*f+E*v,n[1]=m*i+w*l+g*p+E*h,n[2]=m*a+w*u+g*A+E*I,n[3]=m*s+w*c+g*d+E*y,n[4]=T*r+b*o+D*f+P*v,n[5]=T*i+b*l+D*p+P*h,n[6]=T*a+b*u+D*A+P*I,n[7]=T*s+b*c+D*d+P*y,n[8]=R*r+C*o+_*f+B*v,n[9]=R*i+C*l+_*p+B*h,n[10]=R*a+C*u+_*A+B*I,n[11]=R*s+C*c+_*d+B*y,n[12]=O*r+S*o+N*f+L*v,n[13]=O*i+S*l+N*p+L*h,n[14]=O*a+S*u+N*A+L*I,n[15]=O*s+S*c+N*d+L*y,n},mulMat3:function(e,t,n){n||(n=new Y(9));var r=e[0],i=e[3],a=e[6],s=e[1],o=e[4],l=e[7],u=e[2],c=e[5],f=e[8],p=t[0],A=t[3],d=t[6],v=t[1],h=t[4],I=t[7],y=t[2],m=t[5],w=t[8];return n[0]=r*p+i*v+a*y,n[3]=r*A+i*h+a*m,n[6]=r*d+i*I+a*w,n[1]=s*p+o*v+l*y,n[4]=s*A+o*h+l*m,n[7]=s*d+o*I+l*w,n[2]=u*p+c*v+f*y,n[5]=u*A+c*h+f*m,n[8]=u*d+c*I+f*w,n},mulMat4Scalar:function(e,t,n){return n||(n=e),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n},mulMat4v4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=t[0],i=t[1],a=t[2],s=t[3];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12]*s,n[1]=e[1]*r+e[5]*i+e[9]*a+e[13]*s,n[2]=e[2]*r+e[6]*i+e[10]*a+e[14]*s,n[3]=e[3]*r+e[7]*i+e[11]*a+e[15]*s,n},transposeMat4:function(e,t){var n=e[4],r=e[14],i=e[8],a=e[13],s=e[12],o=e[9];if(!t||e===t){var l=e[1],u=e[2],c=e[3],f=e[6],p=e[7],A=e[11];return e[1]=n,e[2]=i,e[3]=s,e[4]=l,e[6]=o,e[7]=a,e[8]=u,e[9]=f,e[11]=r,e[12]=c,e[13]=p,e[14]=A,e}return t[0]=e[0],t[1]=n,t[2]=i,t[3]=s,t[4]=e[1],t[5]=e[5],t[6]=o,t[7]=a,t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=r,t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t},transposeMat3:function(e,t){if(t===e){var n=e[1],r=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=n,t[5]=e[7],t[6]=r,t[7]=i}else 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];return t},determinantMat4:function(e){var t=e[0],n=e[1],r=e[2],i=e[3],a=e[4],s=e[5],o=e[6],l=e[7],u=e[8],c=e[9],f=e[10],p=e[11],A=e[12],d=e[13],v=e[14],h=e[15];return A*c*o*i-u*d*o*i-A*s*f*i+a*d*f*i+u*s*v*i-a*c*v*i-A*c*r*l+u*d*r*l+A*n*f*l-t*d*f*l-u*n*v*l+t*c*v*l+A*s*r*p-a*d*r*p-A*n*o*p+t*d*o*p+a*n*v*p-t*s*v*p-u*s*r*h+a*c*r*h+u*n*o*h-t*c*o*h-a*n*f*h+t*s*f*h},inverseMat4:function(e,t){t||(t=e);var n=e[0],r=e[1],i=e[2],a=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],f=e[9],p=e[10],A=e[11],d=e[12],v=e[13],h=e[14],I=e[15],y=n*o-r*s,m=n*l-i*s,w=n*u-a*s,g=r*l-i*o,E=r*u-a*o,T=i*u-a*l,b=c*v-f*d,D=c*h-p*d,P=c*I-A*d,R=f*h-p*v,C=f*I-A*v,_=p*I-A*h,B=1/(y*_-m*C+w*R+g*P-E*D+T*b);return t[0]=(o*_-l*C+u*R)*B,t[1]=(-r*_+i*C-a*R)*B,t[2]=(v*T-h*E+I*g)*B,t[3]=(-f*T+p*E-A*g)*B,t[4]=(-s*_+l*P-u*D)*B,t[5]=(n*_-i*P+a*D)*B,t[6]=(-d*T+h*w-I*m)*B,t[7]=(c*T-p*w+A*m)*B,t[8]=(s*C-o*P+u*b)*B,t[9]=(-n*C+r*P-a*b)*B,t[10]=(d*E-v*w+I*y)*B,t[11]=(-c*E+f*w-A*y)*B,t[12]=(-s*R+o*D-l*b)*B,t[13]=(n*R-r*D+i*b)*B,t[14]=(-d*g+v*m-h*y)*B,t[15]=(c*g-f*m+p*y)*B,t},traceMat4:function(e){return e[0]+e[5]+e[10]+e[15]},translationMat4v:function(e,t){var n=t||$.identityMat4();return n[12]=e[0],n[13]=e[1],n[14]=e[2],n},translationMat3v:function(e,t){var n=t||$.identityMat3();return n[6]=e[0],n[7]=e[1],n},translationMat4c:(H=new Y(3),function(e,t,n,r){return H[0]=e,H[1]=t,H[2]=n,$.translationMat4v(H,r)}),translationMat4s:function(e,t){return $.translationMat4c(e,e,e,t)},translateMat4v:function(e,t){return $.translateMat4c(e[0],e[1],e[2],t)},translateMat4c:function(e,t,n,r){var i=r[3];r[0]+=i*e,r[1]+=i*t,r[2]+=i*n;var a=r[7];r[4]+=a*e,r[5]+=a*t,r[6]+=a*n;var s=r[11];r[8]+=s*e,r[9]+=s*t,r[10]+=s*n;var o=r[15];return r[12]+=o*e,r[13]+=o*t,r[14]+=o*n,r},setMat4Translation:function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=e[15],n},rotationMat4v:function(e,t,n){var r,i,a,s,o,l,u=$.normalizeVec4([t[0],t[1],t[2],0],[]),c=Math.sin(e),f=Math.cos(e),p=1-f,A=u[0],d=u[1],v=u[2];return r=A*d,i=d*v,a=v*A,s=A*c,o=d*c,l=v*c,(n=n||$.mat4())[0]=p*A*A+f,n[1]=p*r+l,n[2]=p*a-o,n[3]=0,n[4]=p*r-l,n[5]=p*d*d+f,n[6]=p*i+s,n[7]=0,n[8]=p*a+o,n[9]=p*i-s,n[10]=p*v*v+f,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,n},rotationMat4c:function(e,t,n,r,i){return $.rotationMat4v(e,[t,n,r],i)},scalingMat4v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat4();return t[0]=e[0],t[5]=e[1],t[10]=e[2],t},scalingMat3v:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.identityMat3();return t[0]=e[0],t[4]=e[1],t},scalingMat4c:function(){var e=new Y(3);return function(t,n,r,i){return e[0]=t,e[1]=n,e[2]=r,$.scalingMat4v(e,i)}}(),scaleMat4c:function(e,t,n,r){return r[0]*=e,r[4]*=t,r[8]*=n,r[1]*=e,r[5]*=t,r[9]*=n,r[2]*=e,r[6]*=t,r[10]*=n,r[3]*=e,r[7]*=t,r[11]*=n,r},scaleMat4v:function(e,t){var n=e[0],r=e[1],i=e[2];return t[0]*=n,t[4]*=r,t[8]*=i,t[1]*=n,t[5]*=r,t[9]*=i,t[2]*=n,t[6]*=r,t[10]*=i,t[3]*=n,t[7]*=r,t[11]*=i,t},scalingMat4s:function(e){return $.scalingMat4c(e,e,e)},rotationTranslationMat4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.mat4(),r=e[0],i=e[1],a=e[2],s=e[3],o=r+r,l=i+i,u=a+a,c=r*o,f=r*l,p=r*u,A=i*l,d=i*u,v=a*u,h=s*o,I=s*l,y=s*u;return n[0]=1-(A+v),n[1]=f+y,n[2]=p-I,n[3]=0,n[4]=f-y,n[5]=1-(c+v),n[6]=d+h,n[7]=0,n[8]=p+I,n[9]=d-h,n[10]=1-(c+A),n[11]=0,n[12]=t[0],n[13]=t[1],n[14]=t[2],n[15]=1,n},mat4ToEuler:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=$.clamp,i=e[0],a=e[4],s=e[8],o=e[1],l=e[5],u=e[9],c=e[2],f=e[6],p=e[10];return"XYZ"===t?(n[1]=Math.asin(r(s,-1,1)),Math.abs(s)<.99999?(n[0]=Math.atan2(-u,p),n[2]=Math.atan2(-a,i)):(n[0]=Math.atan2(f,l),n[2]=0)):"YXZ"===t?(n[0]=Math.asin(-r(u,-1,1)),Math.abs(u)<.99999?(n[1]=Math.atan2(s,p),n[2]=Math.atan2(o,l)):(n[1]=Math.atan2(-c,i),n[2]=0)):"ZXY"===t?(n[0]=Math.asin(r(f,-1,1)),Math.abs(f)<.99999?(n[1]=Math.atan2(-c,p),n[2]=Math.atan2(-a,l)):(n[1]=0,n[2]=Math.atan2(o,i))):"ZYX"===t?(n[1]=Math.asin(-r(c,-1,1)),Math.abs(c)<.99999?(n[0]=Math.atan2(f,p),n[2]=Math.atan2(o,i)):(n[0]=0,n[2]=Math.atan2(-a,l))):"YZX"===t?(n[2]=Math.asin(r(o,-1,1)),Math.abs(o)<.99999?(n[0]=Math.atan2(-u,l),n[1]=Math.atan2(-c,i)):(n[0]=0,n[1]=Math.atan2(s,p))):"XZY"===t&&(n[2]=Math.asin(-r(a,-1,1)),Math.abs(a)<.99999?(n[0]=Math.atan2(f,l),n[1]=Math.atan2(s,i)):(n[0]=Math.atan2(-u,p),n[1]=0)),n},composeMat4:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.mat4();return $.quaternionToRotationMat4(t,r),$.scaleMat4v(n,r),$.translateMat4v(e,r),r},decomposeMat4:function(){var e=new Y(3),t=new Y(16);return function(n,r,i,a){e[0]=n[0],e[1]=n[1],e[2]=n[2];var s=$.lenVec3(e);e[0]=n[4],e[1]=n[5],e[2]=n[6];var o=$.lenVec3(e);e[8]=n[8],e[9]=n[9],e[10]=n[10];var l=$.lenVec3(e);$.determinantMat4(n)<0&&(s=-s),r[0]=n[12],r[1]=n[13],r[2]=n[14],t.set(n);var u=1/s,c=1/o,f=1/l;return t[0]*=u,t[1]*=u,t[2]*=u,t[4]*=c,t[5]*=c,t[6]*=c,t[8]*=f,t[9]*=f,t[10]*=f,$.mat4ToQuaternion(t,i),a[0]=s,a[1]=o,a[2]=l,this}}(),getColMat4:function(e,t){var n=4*t;return[e[n],e[n+1],e[n+2],e[n+3]]},setRowMat4:function(e,t,n){e[t]=n[0],e[t+4]=n[1],e[t+8]=n[2],e[t+12]=n[3]},lookAtMat4v:function(e,t,n,r){r||(r=$.mat4());var i,a,s,o,l,u,c,f,p,A,d=e[0],v=e[1],h=e[2],I=n[0],y=n[1],m=n[2],w=t[0],g=t[1],E=t[2];return d===w&&v===g&&h===E?$.identityMat4():(i=d-w,a=v-g,s=h-E,o=y*(s*=A=1/Math.sqrt(i*i+a*a+s*s))-m*(a*=A),l=m*(i*=A)-I*s,u=I*a-y*i,(A=Math.sqrt(o*o+l*l+u*u))?(o*=A=1/A,l*=A,u*=A):(o=0,l=0,u=0),c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,(A=Math.sqrt(c*c+f*f+p*p))?(c*=A=1/A,f*=A,p*=A):(c=0,f=0,p=0),r[0]=o,r[1]=c,r[2]=i,r[3]=0,r[4]=l,r[5]=f,r[6]=a,r[7]=0,r[8]=u,r[9]=p,r[10]=s,r[11]=0,r[12]=-(o*d+l*v+u*h),r[13]=-(c*d+f*v+p*h),r[14]=-(i*d+a*v+s*h),r[15]=1,r)},lookAtMat4c:function(e,t,n,r,i,a,s,o,l){return $.lookAtMat4v([e,t,n],[r,i,a],[s,o,l],[])},orthoMat4c:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2/l,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=-2/u,s[11]=0,s[12]=-(e+t)/o,s[13]=-(r+n)/l,s[14]=-(a+i)/u,s[15]=1,s},frustumMat4v:function(e,t,n){n||(n=$.mat4());var r=[e[0],e[1],e[2],0],i=[t[0],t[1],t[2],0];$.addVec4(i,r,q),$.subVec4(i,r,J);var a=2*r[2],s=J[0],o=J[1],l=J[2];return n[0]=a/s,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=a/o,n[6]=0,n[7]=0,n[8]=q[0]/s,n[9]=q[1]/o,n[10]=-q[2]/l,n[11]=-1,n[12]=0,n[13]=0,n[14]=-a*i[2]/l,n[15]=0,n},frustumMat4:function(e,t,n,r,i,a,s){s||(s=$.mat4());var o=t-e,l=r-n,u=a-i;return s[0]=2*i/o,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=2*i/l,s[6]=0,s[7]=0,s[8]=(t+e)/o,s[9]=(r+n)/l,s[10]=-(a+i)/u,s[11]=-1,s[12]=0,s[13]=0,s[14]=-a*i*2/u,s[15]=0,s},perspectiveMat4:function(e,t,n,r,i){var a=[],s=[];return a[2]=n,s[2]=r,s[1]=a[2]*Math.tan(e/2),a[1]=-s[1],s[0]=s[1]*t,a[0]=-s[0],$.frustumMat4v(a,s,i)},compareMat4:function(e,t){return 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]&&e[9]===t[9]&&e[10]===t[10]&&e[11]===t[11]&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[15]===t[15]},transformPoint3:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2];return n[0]=e[0]*r+e[4]*i+e[8]*a+e[12],n[1]=e[1]*r+e[5]*i+e[9]*a+e[13],n[2]=e[2]*r+e[6]*i+e[10]*a+e[14],n},transformPoint4:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4();return n[0]=e[0]*t[0]+e[4]*t[1]+e[8]*t[2]+e[12]*t[3],n[1]=e[1]*t[0]+e[5]*t[1]+e[9]*t[2]+e[13]*t[3],n[2]=e[2]*t[0]+e[6]*t[1]+e[10]*t[2]+e[14]*t[3],n[3]=e[3]*t[0]+e[7]*t[1]+e[11]*t[2]+e[15]*t[3],n},transformPoints3:function(e,t,n){for(var r,i,a,s,o,l=n||[],u=t.length,c=e[0],f=e[1],p=e[2],A=e[3],d=e[4],v=e[5],h=e[6],I=e[7],y=e[8],m=e[9],w=e[10],g=e[11],E=e[12],T=e[13],b=e[14],D=e[15],P=0;P2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2];e[3];var f=e[4],p=e[5],A=e[6];e[7];var d=e[8],v=e[9],h=e[10];e[11];var I=e[12],y=e[13],m=e[14];for(e[15],n=0;n2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;n3&&void 0!==arguments[3]?arguments[3]:e,i=Math.cos(n),a=Math.sin(n),s=e[0]-t[0],o=e[1]-t[1];return r[0]=s*i-o*a+t[0],r[1]=s*a+o*i+t[1],e},rotateVec3X:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Y:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},rotateVec3Z:function(e,t,n,r){var i=[],a=[];return i[0]=e[0]-t[0],i[1]=e[1]-t[1],i[2]=e[2]-t[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],r[0]=a[0]+t[0],r[1]=a[1]+t[1],r[2]=a[2]+t[2],r},projectVec4:function(e,t){var n=1/e[3];return(t=t||$.vec2())[0]=e[0]*n,t[1]=e[1]*n,t},unprojectVec3:(M=new Y(16),x=new Y(16),F=new Y(16),function(e,t,n,r){return this.transformVec3(this.mulMat4(this.inverseMat4(t,M),this.inverseMat4(n,x),F),e,r)}),lerpVec3:function(e,t,n,r,i,a){var s=a||$.vec3(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s},lerpMat4:function(e,t,n,r,i,a){var s=a||$.mat4(),o=(e-t)/(n-t);return s[0]=r[0]+o*(i[0]-r[0]),s[1]=r[1]+o*(i[1]-r[1]),s[2]=r[2]+o*(i[2]-r[2]),s[3]=r[3]+o*(i[3]-r[3]),s[4]=r[4]+o*(i[4]-r[4]),s[5]=r[5]+o*(i[5]-r[5]),s[6]=r[6]+o*(i[6]-r[6]),s[7]=r[7]+o*(i[7]-r[7]),s[8]=r[8]+o*(i[8]-r[8]),s[9]=r[9]+o*(i[9]-r[9]),s[10]=r[10]+o*(i[10]-r[10]),s[11]=r[11]+o*(i[11]-r[11]),s[12]=r[12]+o*(i[12]-r[12]),s[13]=r[13]+o*(i[13]-r[13]),s[14]=r[14]+o*(i[14]-r[14]),s[15]=r[15]+o*(i[15]-r[15]),s},flatten:function(e){var t,n,r,i,a,s=[];for(t=0,n=e.length;t0&&void 0!==arguments[0]?arguments[0]:$.vec4();return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},eulerToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0]*$.DEGTORAD/2,i=e[1]*$.DEGTORAD/2,a=e[2]*$.DEGTORAD/2,s=Math.cos(r),o=Math.cos(i),l=Math.cos(a),u=Math.sin(r),c=Math.sin(i),f=Math.sin(a);return"XYZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"YXZ"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"ZXY"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l-u*c*f):"ZYX"===t?(n[0]=u*o*l-s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l+u*c*f):"YZX"===t?(n[0]=u*o*l+s*c*f,n[1]=s*c*l+u*o*f,n[2]=s*o*f-u*c*l,n[3]=s*o*l-u*c*f):"XZY"===t&&(n[0]=u*o*l-s*c*f,n[1]=s*c*l-u*o*f,n[2]=s*o*f+u*c*l,n[3]=s*o*l+u*c*f),n},mat4ToQuaternion:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),r=e[0],i=e[4],a=e[8],s=e[1],o=e[5],l=e[9],u=e[2],c=e[6],f=e[10],p=r+o+f;return p>0?(t=.5/Math.sqrt(p+1),n[3]=.25/t,n[0]=(c-l)*t,n[1]=(a-u)*t,n[2]=(s-i)*t):r>o&&r>f?(t=2*Math.sqrt(1+r-o-f),n[3]=(c-l)/t,n[0]=.25*t,n[1]=(i+s)/t,n[2]=(a+u)/t):o>f?(t=2*Math.sqrt(1+o-r-f),n[3]=(a-u)/t,n[0]=(i+s)/t,n[1]=.25*t,n[2]=(l+c)/t):(t=2*Math.sqrt(1+f-r-o),n[3]=(s-i)/t,n[0]=(a+u)/t,n[1]=(l+c)/t,n[2]=.25*t),n},vec3PairToQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=Math.sqrt($.dotVec3(e,e)*$.dotVec3(t,t)),i=r+$.dotVec3(e,t);return i<1e-8*r?(i=0,Math.abs(e[0])>Math.abs(e[2])?(n[0]=-e[1],n[1]=e[0],n[2]=0):(n[0]=0,n[1]=-e[2],n[2]=e[1])):$.cross3Vec3(e,t,n),n[3]=i,$.normalizeQuaternion(n)},angleAxisToQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=e[3]/2,r=Math.sin(n);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(n),t},quaternionToEuler:function(){var e=new Y(16);return function(t,n,r){return r=r||$.vec3(),$.quaternionToRotationMat4(t,e),$.mat4ToEuler(e,n,r),r}}(),mulQuaternions:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec4(),r=e[0],i=e[1],a=e[2],s=e[3],o=t[0],l=t[1],u=t[2],c=t[3];return n[0]=s*o+r*c+i*u-a*l,n[1]=s*l+i*c+a*o-r*u,n[2]=s*u+a*c+r*l-i*o,n[3]=s*c-r*o-i*l-a*u,n},vec3ApplyQuaternion:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$.vec3(),r=t[0],i=t[1],a=t[2],s=e[0],o=e[1],l=e[2],u=e[3],c=u*r+o*a-l*i,f=u*i+l*r-s*a,p=u*a+s*i-o*r,A=-s*r-o*i-l*a;return n[0]=c*u+A*-s+f*-l-p*-o,n[1]=f*u+A*-o+p*-s-c*-l,n[2]=p*u+A*-l+c*-o-f*-s,n},quaternionToMat4:function(e,t){t=$.identityMat4(t);var n=e[0],r=e[1],i=e[2],a=e[3],s=2*n,o=2*r,l=2*i,u=s*a,c=o*a,f=l*a,p=s*n,A=o*n,d=l*n,v=o*r,h=l*r,I=l*i;return t[0]=1-(v+I),t[1]=A+f,t[2]=d-c,t[4]=A-f,t[5]=1-(p+I),t[6]=h+u,t[8]=d+c,t[9]=h-u,t[10]=1-(p+v),t},quaternionToRotationMat4:function(e,t){var n=e[0],r=e[1],i=e[2],a=e[3],s=n+n,o=r+r,l=i+i,u=n*s,c=n*o,f=n*l,p=r*o,A=r*l,d=i*l,v=a*s,h=a*o,I=a*l;return t[0]=1-(p+d),t[4]=c-I,t[8]=f+h,t[1]=c+I,t[5]=1-(u+d),t[9]=A-v,t[2]=f-h,t[6]=A+v,t[10]=1-(u+p),t[3]=0,t[7]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},normalizeQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=$.lenVec4([e[0],e[1],e[2],e[3]]);return t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n,t[3]=e[3]/n,t},conjugateQuaternion:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e;return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},inverseQuaternion:function(e,t){return $.normalizeQuaternion($.conjugateQuaternion(e,t))},quaternionToAngleAxis:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec4(),n=(e=$.normalizeQuaternion(e,Z))[3],r=2*Math.acos(n),i=Math.sqrt(1-n*n);return i<.001?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=e[0]/i,t[1]=e[1]/i,t[2]=e[2]/i),t[3]=r,t},AABB3:function(e){return new Y(e||6)},AABB2:function(e){return new Y(e||4)},OBB3:function(e){return new Y(e||32)},OBB2:function(e){return new Y(e||16)},Sphere3:function(e,t,n,r){return new Y([e,t,n,r])},transformOBB3:function(e,t){var n,r,i,a,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,o=t.length,l=e[0],u=e[1],c=e[2],f=e[3],p=e[4],A=e[5],d=e[6],v=e[7],h=e[8],I=e[9],y=e[10],m=e[11],w=e[12],g=e[13],E=e[14],T=e[15];for(n=0;no?s:o,a[1]+=l>u?l:u,a[2]+=c>f?c:f,Math.abs($.lenVec3(a))}}(),getAABB3Area:function(e){return(e[3]-e[0])*(e[4]-e[1])*(e[5]-e[2])},getAABB3Center:function(e,t){var n=t||$.vec3();return n[0]=(e[0]+e[3])/2,n[1]=(e[1]+e[4])/2,n[2]=(e[2]+e[5])/2,n},getAABB2Center:function(e,t){var n=t||$.vec2();return n[0]=(e[2]+e[0])/2,n[1]=(e[3]+e[1])/2,n},collapseAABB3:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:$.AABB3();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MAX_DOUBLE,e[3]=$.MIN_DOUBLE,e[4]=$.MIN_DOUBLE,e[5]=$.MIN_DOUBLE,e},AABB3ToOBB3:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.OBB3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t[4]=e[3],t[5]=e[1],t[6]=e[2],t[7]=1,t[8]=e[3],t[9]=e[4],t[10]=e[2],t[11]=1,t[12]=e[0],t[13]=e[4],t[14]=e[2],t[15]=1,t[16]=e[0],t[17]=e[1],t[18]=e[5],t[19]=1,t[20]=e[3],t[21]=e[1],t[22]=e[5],t[23]=1,t[24]=e[3],t[25]=e[4],t[26]=e[5],t[27]=1,t[28]=e[0],t[29]=e[4],t[30]=e[5],t[31]=1,t},positions3ToAABB3:function(){var e=new Y(3);return function(t,n,r){n=n||$.AABB3();for(var i,a,s,o=$.MAX_DOUBLE,l=$.MAX_DOUBLE,u=$.MAX_DOUBLE,c=$.MIN_DOUBLE,f=$.MIN_DOUBLE,p=$.MIN_DOUBLE,A=0,d=t.length;Ac&&(c=i),a>f&&(f=a),s>p&&(p=s);return n[0]=o,n[1]=l,n[2]=u,n[3]=c,n[4]=f,n[5]=p,n}}(),OBB3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToAABB3:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB3(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MAX_DOUBLE,l=$.MIN_DOUBLE,u=$.MIN_DOUBLE,c=$.MIN_DOUBLE,f=0,p=e.length;fl&&(l=t),n>u&&(u=n),r>c&&(c=r);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i[4]=u,i[5]=c,i},points3ToSphere3:function(){var e=new Y(3);return function(t,n){n=n||$.vec4();var r,i=0,a=0,s=0,o=t.length;for(r=0;ru&&(u=l);return n[3]=u,n}}(),positions3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=0;for(i=0;iu&&(u=c);return r[3]=u,r}}(),OBB3ToSphere3:function(){var e=new Y(3),t=new Y(3);return function(n,r){r=r||$.vec4();var i,a=0,s=0,o=0,l=n.length,u=l/4;for(i=0;if&&(f=c);return r[3]=f,r}}(),getSphere3Center:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3();return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},getPositionsCenter:function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(),n=0,r=0,i=0,a=0,s=e.length;at[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]>t[2]&&(e[2]=t[2]),e[3]n&&(e[0]=n),e[1]>r&&(e[1]=r),e[2]>i&&(e[2]=i),e[3]0&&void 0!==arguments[0]?arguments[0]:$.AABB2();return e[0]=$.MAX_DOUBLE,e[1]=$.MAX_DOUBLE,e[2]=$.MIN_DOUBLE,e[3]=$.MIN_DOUBLE,e},point3AABB3Intersect:function(e,t){return e[0]>t[0]||e[3]t[1]||e[4]t[2]||e[5]0?(r=e[0]*n[0],i=e[0]*n[3]):(r=e[0]*n[3],i=e[0]*n[0]),e[1]>0?(r+=e[1]*n[1],i+=e[1]*n[4]):(r+=e[1]*n[4],i+=e[1]*n[1]),e[2]>0?(r+=e[2]*n[2],i+=e[2]*n[5]):(r+=e[2]*n[5],i+=e[2]*n[2]),r<=-t&&i<=-t?-1:r>=-t&&i>=-t?1:0},OBB3ToAABB2:function(e){for(var t,n,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.AABB2(),a=$.MAX_DOUBLE,s=$.MAX_DOUBLE,o=$.MIN_DOUBLE,l=$.MIN_DOUBLE,u=0,c=e.length;uo&&(o=t),n>l&&(l=n);return i[0]=a,i[1]=s,i[2]=o,i[3]=l,i},expandAABB2:function(e,t){return e[0]>t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]t[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]3&&void 0!==arguments[3]?arguments[3]:e,i=.5*(e[0]+1),a=.5*(e[1]+1),s=.5*(e[2]+1),o=.5*(e[3]+1);return r[0]=Math.floor(i*t),r[1]=n-Math.floor(o*n),r[2]=Math.floor(s*t),r[3]=n-Math.floor(a*n),r},tangentQuadraticBezier:function(e,t,n,r){return 2*(1-e)*(n-t)+2*e*(r-n)},tangentQuadraticBezier3:function(e,t,n,r,i){return-3*t*(1-e)*(1-e)+3*n*(1-e)*(1-e)-6*e*n*(1-e)+6*e*r*(1-e)-3*e*e*r+3*e*e*i},tangentSpline:function(e){return 6*e*e-6*e+(3*e*e-4*e+1)+(-6*e*e+6*e)+(3*e*e-2*e)},catmullRomInterpolate:function(e,t,n,r,i){var a=.5*(n-e),s=.5*(r-t),o=i*i;return(2*t-2*n+a+s)*(i*o)+(-3*t+3*n-2*a-s)*o+a*i+t},b2p0:function(e,t){var n=1-e;return n*n*t},b2p1:function(e,t){return 2*(1-e)*e*t},b2p2:function(e,t){return e*e*t},b2:function(e,t,n,r){return this.b2p0(e,t)+this.b2p1(e,n)+this.b2p2(e,r)},b3p0:function(e,t){var n=1-e;return n*n*n*t},b3p1:function(e,t){var n=1-e;return 3*n*n*e*t},b3p2:function(e,t){return 3*(1-e)*e*e*t},b3p3:function(e,t){return e*e*e*t},b3:function(e,t,n,r,i){return this.b3p0(e,t)+this.b3p1(e,n)+this.b3p2(e,r)+this.b3p3(e,i)},triangleNormal:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:$.vec3(),i=t[0]-e[0],a=t[1]-e[1],s=t[2]-e[2],o=n[0]-e[0],l=n[1]-e[1],u=n[2]-e[2],c=a*u-s*l,f=s*o-i*u,p=i*l-a*o,A=Math.sqrt(c*c+f*f+p*p);return 0===A?(r[0]=0,r[1]=0,r[2]=0):(r[0]=c/A,r[1]=f/A,r[2]=p/A),r},rayTriangleIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3),i=new Y(3);return function(a,s,o,l,u,c){c=c||$.vec3();var f=$.subVec3(l,o,e),p=$.subVec3(u,o,t),A=$.cross3Vec3(s,p,n),d=$.dotVec3(f,A);if(d<1e-6)return null;var v=$.subVec3(a,o,r),h=$.dotVec3(v,A);if(h<0||h>d)return null;var I=$.cross3Vec3(v,f,i),y=$.dotVec3(s,I);if(y<0||h+y>d)return null;var m=$.dotVec3(p,I)/d;return c[0]=a[0]+m*s[0],c[1]=a[1]+m*s[1],c[2]=a[2]+m*s[2],c}}(),rayPlaneIntersect:function(){var e=new Y(3),t=new Y(3),n=new Y(3),r=new Y(3);return function(i,a,s,o,l,u){u=u||$.vec3(),a=$.normalizeVec3(a,e);var c=$.subVec3(o,s,t),f=$.subVec3(l,s,n),p=$.cross3Vec3(c,f,r);$.normalizeVec3(p,p);var A=-$.dotVec3(s,p),d=-($.dotVec3(i,p)+A)/$.dotVec3(a,p);return u[0]=i[0]+d*a[0],u[1]=i[1]+d*a[1],u[2]=i[2]+d*a[2],u}}(),cartesianToBarycentric:function(){var e=new Y(3),t=new Y(3),n=new Y(3);return function(r,i,a,s,o){var l=$.subVec3(s,i,e),u=$.subVec3(a,i,t),c=$.subVec3(r,i,n),f=$.dotVec3(l,l),p=$.dotVec3(l,u),A=$.dotVec3(l,c),d=$.dotVec3(u,u),v=$.dotVec3(u,c),h=f*d-p*p;if(0===h)return null;var I=1/h,y=(d*A-p*v)*I,m=(f*v-p*A)*I;return o[0]=1-y-m,o[1]=m,o[2]=y,o}}(),barycentricInsideTriangle:function(e){var t=e[1],n=e[2];return n>=0&&t>=0&&n+t<1},barycentricToCartesian:function(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:$.vec3(),a=e[0],s=e[1],o=e[2];return i[0]=t[0]*a+n[0]*s+r[0]*o,i[1]=t[1]*a+n[1]*s+r[1]*o,i[2]=t[2]*a+n[2]*s+r[2]*o,i},mergeVertices:function(e,t,n,r){var i,a,s,o,l,u,c={},f=[],p=[],A=t?[]:null,d=n?[]:null,v=[],h=Math.pow(10,4),I=0;for(l=0,u=e.length;l>24&255,s=f>>16&255,a=f>>8&255,i=255&f,r=3*t[d],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+1],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,r=3*t[d+2],u[p++]=e[r],u[p++]=e[r+1],u[p++]=e[r+2],c[A++]=i,c[A++]=a,c[A++]=s,c[A++]=o,f++;return{positions:u,colors:c}},faceToVertexNormals:function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},d=A.smoothNormalsAngleThreshold||20,v={},h=[],I={},y=4,m=Math.pow(10,y);for(l=0,c=e.length;ll[3]&&(l[3]=i[p]),i[p+1]l[4]&&(l[4]=i[p+1]),i[p+2]l[5]&&(l[5]=i[p+2])}if(n.length<20||a>10)return u.triangles=n,u.leaf=!0,u;e[0]=l[3]-l[0],e[1]=l[4]-l[1],e[2]=l[5]-l[2];var A=0;e[1]>e[A]&&(A=1),e[2]>e[A]&&(A=2),u.splitDim=A;var d=(l[A]+l[A+3])/2,v=new Array(n.length),h=0,I=new Array(n.length),y=0;for(s=0,o=n.length;s2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t},octDecodeVec2s:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t}};$.buildEdgeIndices=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}(),$.planeClipsPositions3=function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:3,i=0,a=n.length;i=this._maxTreeDepth)return e.entities=e.entities||[],void e.entities.push(t);if(e.left&&$.containsAABB3(e.left.aabb,r))this._insertEntity(e.left,t,n+1);else if(e.right&&$.containsAABB3(e.right.aabb,r))this._insertEntity(e.right,t,n+1);else{var i=e.aabb;ee[0]=i[3]-i[0],ee[1]=i[4]-i[1],ee[2]=i[5]-i[2];var a=0;if(ee[1]>ee[a]&&(a=1),ee[2]>ee[a]&&(a=2),!e.left){var s=i.slice();if(s[a+3]=(i[a]+i[a+3])/2,e.left={aabb:s},$.containsAABB3(s,r))return void this._insertEntity(e.left,t,n+1)}if(!e.right){var o=i.slice();if(o[a]=(i[a]+i[a+3])/2,e.right={aabb:o},$.containsAABB3(o,r))return void this._insertEntity(e.right,t,n+1)}e.entities=e.entities||[],e.entities.push(t)}}},{key:"destroy",value:function(){var e=this.viewer.scene;e.off(this._onModelLoaded),e.off(this._onModelUnloaded),this._root=null,this._needsRebuild=!0}}]),e}(),ne=function(){function e(){b(this,e),this._head=[],this._headLength=0,this._tail=[],this._index=0,this._length=0}return P(e,[{key:"length",get:function(){return this._length}},{key:"shift",value:function(){if(this._index>=this._headLength){var e=this._head;if(e.length=0,this._head=this._tail,this._tail=e,this._index=0,this._headLength=this._head.length,!this._headLength)return}var t=this._head[this._index];return this._index<0?delete this._head[this._index++]:this._head[this._index++]=void 0,this._length--,t}},{key:"push",value:function(e){return this._length++,this._tail.push(e),this}},{key:"unshift",value:function(e){return this._head[--this._index]=e,this._length++,this}}]),e}(),re={build:{version:"0.8"},client:{browser:navigator&&navigator.userAgent?navigator.userAgent:"n/a"},components:{scenes:0,models:0,meshes:0,objects:0},memory:{meshes:0,positions:0,colors:0,normals:0,uvs:0,indices:0,textures:0,transforms:0,materials:0,programs:0},frame:{frameCount:0,fps:0,useProgram:0,bindTexture:0,bindArray:0,drawElements:0,drawArrays:0,tasksRun:0,tasksScheduled:0}};var ie=[["0",10],["A",26],["a",26],["_",1],["$",1]].map((function(e){for(var t=[],n=e[0].charCodeAt(0),r=n+e[1],i=n;i0&&void 0!==arguments[0]?arguments[0]:-1,r=(new Date).getTime(),i=0;fe.length>0&&(n<0||r0&&oe>0){var n=1e3/oe;ve+=n,Ae.push(n),Ae.length>=30&&(ve-=Ae.shift()),re.frame.fps=Math.round(ve/Ae.length)}!function(e){var t=he.runTasks(e+10),n=he.getNumTasks();re.frame.tasksRun=t,re.frame.tasksScheduled=n,re.frame.tasksBudget=10}(t),function(e){for(var t in pe.time=e,he.scenes)if(he.scenes.hasOwnProperty(t)){var n=he.scenes[t];pe.sceneId=t,pe.startTime=n.startTime,pe.deltaTime=null!=pe.prevTime?pe.time-pe.prevTime:0,n.fire("tick",pe,!0)}pe.prevTime=e}(t),function(){var e,t,n,r,i,a=he.scenes,s=!1;for(i in a)a.hasOwnProperty(i)&&(e=a[i],(t=ue[i])||(t=ue[i]={}),n=e.ticksPerOcclusionTest,t.ticksPerOcclusionTest!==n&&(t.ticksPerOcclusionTest=n,t.renderCountdown=n),--e.occlusionTestCountdown<=0&&(e.doOcclusionTest(),e.occlusionTestCountdown=n),r=e.ticksPerRender,t.ticksPerRender!==r&&(t.ticksPerRender=r,t.renderCountdown=r),0==--t.renderCountdown&&(e.render(s),t.renderCountdown=r))}(),de=t,void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(e):requestAnimationFrame(e)};void 0!==window.requestPostAnimationFrame?window.requestPostAnimationFrame(Ie):requestAnimationFrame(Ie);var ye=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,e),this.scene=null,"Scene"===this.type)this.scene=this,this.viewer=n.viewer;else{if("Scene"===t.type)this.scene=t;else{if(!(t instanceof e))throw"Invalid param: owner must be a Component";this.scene=t.scene}this._owner=t}this._dontClear=!!n.dontClear,this._renderer=this.scene._renderer,this.meta=n.meta||{},this.id=n.id,this.destroyed=!1,this._attached={},this._attachments=null,this._subIdMap=null,this._subIdEvents=null,this._eventSubs=null,this._eventSubsNum=null,this._events=null,this._eventCallDepth=0,this._ownedComponents=null,this!==this.scene&&this.scene._addComponent(this),this._updateScheduled=!1,t&&t._own(this)}return P(e,[{key:"type",get:function(){return"Component"}},{key:"isComponent",get:function(){return!0}},{key:"glRedraw",value:function(){this._renderer&&(this._renderer.imageDirty(),this.castsShadow&&this._renderer.shadowsDirty())}},{key:"glResort",value:function(){this._renderer&&this._renderer.needStateSort()}},{key:"owner",get:function(){return this._owner}},{key:"isType",value:function(e){return this.type===e}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={},this._eventSubsNum={}),!0!==n&&(this._events[e]=t||!0);var r,i=this._eventSubs[e];if(i)for(var a in i)i.hasOwnProperty(a)&&(r=i[a],this._eventCallDepth++,this._eventCallDepth<300?r.callback.call(r.scope,t):this.error("fire: potential stack overflow from recursive event '"+e+"' - dropping this event"),this._eventCallDepth--)}},{key:"on",value:function(e,t,n){this._events||(this._events={}),this._subIdMap||(this._subIdMap=new G),this._subIdEvents||(this._subIdEvents={}),this._eventSubs||(this._eventSubs={}),this._eventSubsNum||(this._eventSubsNum={});var r=this._eventSubs[e];r?this._eventSubsNum[e]++:(r={},this._eventSubs[e]=r,this._eventSubsNum[e]=1);var i=this._subIdMap.addItem();r[i]={callback:t,scope:n||this},this._subIdEvents[i]=e;var a=this._events[e];return void 0!==a&&t.call(n||this,a),i}},{key:"off",value:function(e){if(null!=e&&this._subIdEvents){var t=this._subIdEvents[e];if(t){delete this._subIdEvents[e];var n=this._eventSubs[t];n&&(delete n[e],this._eventSubsNum[t]--),this._subIdMap.removeItem(e)}}}},{key:"once",value:function(e,t,n){var r=this,i=this.on(e,(function(e){r.off(i),t.call(n||this,e)}),n)}},{key:"hasSubs",value:function(e){return this._eventSubsNum&&this._eventSubsNum[e]>0}},{key:"log",value:function(e){e="[LOG]"+this._message(e),window.console.log(e),this.scene.fire("log",e)}},{key:"_message",value:function(e){return" ["+this.type+" "+le.inQuotes(this.id)+"]: "+e}},{key:"warn",value:function(e){e="[WARN]"+this._message(e),window.console.warn(e),this.scene.fire("warn",e)}},{key:"error",value:function(e){e="[ERROR]"+this._message(e),window.console.error(e),this.scene.fire("error",e)}},{key:"_attach",value:function(e){var t=e.name;if(t){var n=e.component,r=e.sceneDefault,i=e.sceneSingleton,a=e.type,s=e.on,o=!1!==e.recompiles;if(n&&(le.isNumeric(n)||le.isString(n))){var l=n;if(!(n=this.scene.components[l]))return void this.error("Component not found: "+le.inQuotes(l))}if(!n)if(!0===i){var u=this.scene.types[a];for(var c in u)if(u.hasOwnProperty){n=u[c];break}if(!n)return this.error("Scene has no default component for '"+t+"'"),null}else if(!0===r&&!(n=this.scene[t]))return this.error("Scene has no default component for '"+t+"'"),null;if(n){if(n.scene.id!==this.scene.id)return void this.error("Not in same scene: "+n.type+" "+le.inQuotes(n.id));if(a&&!n.isType(a))return void this.error("Expected a "+a+" type or subtype: "+n.type+" "+le.inQuotes(n.id))}this._attachments||(this._attachments={});var f,p,A,d=this._attached[t];if(d){if(n&&d.id===n.id)return;var v=this._attachments[d.id];for(p=0,A=(f=v.subs).length;p=0?1:0,this.testVertex[1]=this.normal[1]>=0?1:0,this.testVertex[2]=this.normal[2]>=0?1:0}}]),e}(),Te=P((function e(){b(this,e),this.planes=[new Ee,new Ee,new Ee,new Ee,new Ee,new Ee]}));function be(e,t,n){var r=$.mulMat4(n,t,ge),i=r[0],a=r[1],s=r[2],o=r[3],l=r[4],u=r[5],c=r[6],f=r[7],p=r[8],A=r[9],d=r[10],v=r[11],h=r[12],I=r[13],y=r[14],m=r[15];e.planes[0].set(o-i,f-l,v-p,m-h),e.planes[1].set(o+i,f+l,v+p,m+h),e.planes[2].set(o-a,f-u,v-A,m-I),e.planes[3].set(o+a,f+u,v+A,m+I),e.planes[4].set(o-s,f-c,v-d,m-y),e.planes[5].set(o+s,f+c,v+d,m+y)}function De(e,t){var n=Te.INSIDE,r=me,i=we;r[0]=t[0],r[1]=t[1],r[2]=t[2],i[0]=t[3],i[1]=t[4],i[2]=t[5];for(var a=[r,i],s=0;s<6;++s){var o=e.planes[s];if(o.normal[0]*a[o.testVertex[0]][0]+o.normal[1]*a[o.testVertex[1]][1]+o.normal[2]*a[o.testVertex[2]][2]+o.offset<0)return Te.OUTSIDE;o.normal[0]*a[1-o.testVertex[0]][0]+o.normal[1]*a[1-o.testVertex[1]][1]+o.normal[2]*a[1-o.testVertex[2]][2]+o.offset<0&&(n=Te.INTERSECT)}return n}Te.INSIDE=0,Te.INTERSECT=1,Te.OUTSIDE=2;var Pe=function(e){I(n,ye);var t=m(n);function n(){var e,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(b(this,n),!r.viewer)throw"[MarqueePicker] Missing config: viewer";if(!r.objectsKdTree3)throw"[MarqueePicker] Missing config: objectsKdTree3";return(e=t.call(this,r.viewer.scene,r)).viewer=r.viewer,e._objectsKdTree3=r.objectsKdTree3,e._canvasMarqueeCorner1=$.vec2(),e._canvasMarqueeCorner2=$.vec2(),e._canvasMarquee=$.AABB2(),e._marqueeFrustum=new Te,e._marqueeFrustumProjMat=$.mat4(),e._pickMode=!1,e._marqueeElement=document.createElement("div"),document.body.appendChild(e._marqueeElement),e._marqueeElement.style.position="absolute",e._marqueeElement.style["z-index"]="40000005",e._marqueeElement.style.width="8px",e._marqueeElement.style.height="8px",e._marqueeElement.style.visibility="hidden",e._marqueeElement.style.top="0px",e._marqueeElement.style.left="0px",e._marqueeElement.style["box-shadow"]="0 2px 5px 0 #182A3D;",e._marqueeElement.style.opacity=1,e._marqueeElement.style["pointer-events"]="none",e}return P(n,[{key:"setMarqueeCorner1",value:function(e){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarqueeCorner2",value:function(e){this._canvasMarqueeCorner2.set(e),this._updateMarquee()}},{key:"setMarquee",value:function(e,t){this._canvasMarqueeCorner1.set(e),this._canvasMarqueeCorner2.set(t),this._updateMarquee()}},{key:"setMarqueeVisible",value:function(e){this._marqueVisible=e,this._marqueeElement.style.visibility=e?"visible":"hidden"}},{key:"getMarqueeVisible",value:function(){return this._marqueVisible}},{key:"setPickMode",value:function(e){if(e!==n.PICK_MODE_INSIDE&&e!==n.PICK_MODE_INTERSECTS)throw"Illegal MarqueePicker pickMode: must be MarqueePicker.PICK_MODE_INSIDE or MarqueePicker.PICK_MODE_INTERSECTS";e!==this._pickMode&&(this._marqueeElement.style["background-image"]=e===n.PICK_MODE_INSIDE?"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4'/%3e%3c/svg%3e\")":"url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='6' ry='6' stroke='%23333' stroke-width='4' stroke-dasharray='6%2c 14' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")",this._pickMode=e)}},{key:"getPickMode",value:function(){return this._pickMode}},{key:"clear",value:function(){this.fire("clear",{})}},{key:"pick",value:function(){var e=this;this._updateMarquee(),this._buildMarqueeFrustum();var t=[];return(this._canvasMarquee[2]-this._canvasMarquee[0]>3||this._canvasMarquee[3]-this._canvasMarquee[1]>3)&&function r(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(a===Te.INTERSECT&&(a=De(e._marqueeFrustum,i.aabb)),a!==Te.OUTSIDE){if(i.entities)for(var s=i.entities,o=0,l=s.length;o3||n>3)&&f.pick()}})),document.addEventListener("mouseup",(function(e){r.getActive()&&0===e.button&&(clearTimeout(c),A&&(f.setMarqueeVisible(!1),A=!1,d=!1,v=!0,f.viewer.cameraControl.pointerEnabled=!0))}),!0),p.addEventListener("mousemove",(function(e){r.getActive()&&0===e.button&&d&&(clearTimeout(c),A&&(s=e.pageX,o=e.pageY,u=e.offsetX,f.setMarqueeVisible(!0),f.setMarqueeCorner2([s,o]),f.setPickMode(l0}},{key:"log",value:function(e){console.log("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"warn",value:function(e){console.warn("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"error",value:function(e){console.error("[xeokit plugin ".concat(this.id,"]: ").concat(e))}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.removePlugin(this)}}]),e}(),_e=$.vec3(),Be=function(){var e=new Float64Array(16),t=new Float64Array(4),n=new Float64Array(4);return function(r,i,a){return a=a||e,t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=1,$.transformVec4(r,t,n),$.setMat4Translation(r,n,a),a.slice()}}();function Oe(e,t,n){var r=Float32Array.from([e[0]])[0],i=e[0]-r,a=Float32Array.from([e[1]])[0],s=e[1]-a,o=Float32Array.from([e[2]])[0],l=e[2]-o;t[0]=r,t[1]=a,t[2]=o,n[0]=i,n[1]=s,n[2]=l}function Se(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1e3,i=$.getPositionsCenter(e,_e),a=Math.round(i[0]/r)*r,s=Math.round(i[1]/r)*r,o=Math.round(i[2]/r)*r;n[0]=a,n[1]=s,n[2]=o;var l=0!==n[0]||0!==n[1]||0!==n[2];if(l)for(var u=0,c=e.length;u0?this.meshes[0]._colorize[3]/255:1},set:function(e){if(0!==this.meshes.length){var t=null!=e,n=this.meshes[0]._colorize[3],r=255;if(t){if(e<0?e=0:e>1&&(e=1),n===(r=Math.floor(255*e)))return}else if(n===(r=255))return;for(var i=0,a=this.meshes.length;i1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._color=r.color||"black",this._highlightClass="viewer-ruler-wire-highlighted",this._wire=document.createElement("div"),this._wire.className+=this._wire.className?" viewer-ruler-wire":"viewer-ruler-wire",this._wireClickable=document.createElement("div"),this._wireClickable.className+=this._wireClickable.className?" viewer-ruler-wire-clickable":"viewer-ruler-wire-clickable",this._thickness=r.thickness||1,this._thicknessClickable=r.thicknessClickable||6,this._visible=!0,this._culled=!1;var i=this._wire,a=i.style;a.border="solid "+this._thickness+"px "+this._color,a.position="absolute",a["z-index"]=void 0===r.zIndex?"2000001":r.zIndex,a.width="0px",a.height="0px",a.visibility="visible",a.top="0px",a.left="0px",a["-webkit-transform-origin"]="0 0",a["-moz-transform-origin"]="0 0",a["-ms-transform-origin"]="0 0",a["-o-transform-origin"]="0 0",a["transform-origin"]="0 0",a["-webkit-transform"]="rotate(0deg)",a["-moz-transform"]="rotate(0deg)",a["-ms-transform"]="rotate(0deg)",a["-o-transform"]="rotate(0deg)",a.transform="rotate(0deg)",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._wireClickable,o=s.style;o.border="solid "+this._thicknessClickable+"px "+this._color,o.position="absolute",o["z-index"]=void 0===r.zIndex?"2000002":r.zIndex+1,o.width="0px",o.height="0px",o.visibility="visible",o.top="0px",o.left="0px",o["-webkit-transform-origin"]="0 0",o["-moz-transform-origin"]="0 0",o["-ms-transform-origin"]="0 0",o["-o-transform-origin"]="0 0",o["transform-origin"]="0 0",o["-webkit-transform"]="rotate(0deg)",o["-moz-transform"]="rotate(0deg)",o["-ms-transform"]="rotate(0deg)",o["-o-transform"]="rotate(0deg)",o.transform="rotate(0deg)",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this._x1=0,this._y1=0,this._x2=0,this._y2=0,this._update()}return P(e,[{key:"visible",get:function(){return"visible"===this._wire.style.visibility}},{key:"_update",value:function(){var e=Math.abs(Math.sqrt((this._x1-this._x2)*(this._x1-this._x2)+(this._y1-this._y2)*(this._y1-this._y2))),t=180*Math.atan2(this._y2-this._y1,this._x2-this._x1)/Math.PI,n=this._wire.style;n.width=Math.round(e)+"px",n.left=Math.round(this._x1)+"px",n.top=Math.round(this._y1)+"px",n["-webkit-transform"]="rotate("+t+"deg)",n["-moz-transform"]="rotate("+t+"deg)",n["-ms-transform"]="rotate("+t+"deg)",n["-o-transform"]="rotate("+t+"deg)",n.transform="rotate("+t+"deg)";var r=this._wireClickable.style;r.width=Math.round(e)+"px",r.left=Math.round(this._x1)+"px",r.top=Math.round(this._y1)+"px",r["-webkit-transform"]="rotate("+t+"deg)",r["-moz-transform"]="rotate("+t+"deg)",r["-ms-transform"]="rotate("+t+"deg)",r["-o-transform"]="rotate("+t+"deg)",r.transform="rotate("+t+"deg)"}},{key:"setStartAndEnd",value:function(e,t,n,r){this._x1=e,this._y1=t,this._x2=n,this._y2=r,this._update()}},{key:"setColor",value:function(e){this._color=e||"black",this._wire.style.border="solid "+this._thickness+"px "+this._color}},{key:"setOpacity",value:function(e){this._wire.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._wire.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._wireClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._wire.classList.add(this._highlightClass):this._wire.classList.remove(this._highlightClass))}},{key:"destroy",value:function(e){this._wire.parentElement&&this._wire.parentElement.removeChild(this._wire),this._wireClickable.parentElement&&this._wireClickable.parentElement.removeChild(this._wireClickable)}}]),e}(),Je=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-dot-highlighted",this._x=0,this._y=0,this._visible=!0,this._dot=document.createElement("div"),this._dot.className+=this._dot.className?" viewer-ruler-dot":"viewer-ruler-dot",this._dotClickable=document.createElement("div"),this._dotClickable.className+=this._dotClickable.className?" viewer-ruler-dot-clickable":"viewer-ruler-dot-clickable",this._visible=!0,this._culled=!1;var i=this._dot,a=i.style;a["border-radius"]="25px",a.border="solid 2px white",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"40000005":r.zIndex,a.width="8px",a.height="8px",a.visibility=!1!==r.visible?"visible":"hidden",a.top="0px",a.left="0px",a["box-shadow"]="0 2px 5px 0 #182A3D;",a.opacity=1,a["pointer-events"]="none",r.onContextMenu,t.appendChild(i);var s=this._dotClickable,o=s.style;o["border-radius"]="35px",o.border="solid 10px white",o.position="absolute",o["z-index"]=void 0===r.zIndex?"40000007":r.zIndex+1,o.width="8px",o.height="8px",o.visibility="visible",o.top="0px",o.left="0px",o.opacity=0,o["pointer-events"]="none",r.onContextMenu,t.appendChild(s),r.onMouseOver&&s.addEventListener("mouseover",(function(e){r.onMouseOver(e,n)})),r.onMouseLeave&&s.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n)})),r.onMouseWheel&&s.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&s.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()})),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.borderColor)}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._dot.style;n.left=Math.round(e)-4+"px",n.top=Math.round(t)-4+"px";var r=this._dotClickable.style;r.left=Math.round(e)-9+"px",r.top=Math.round(t)-9+"px"}},{key:"setFillColor",value:function(e){this._dot.style.background=e||"lightgreen"}},{key:"setBorderColor",value:function(e){this._dot.style.border="solid 2px"+(e||"black")}},{key:"setOpacity",value:function(e){this._dot.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._dot.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setClickable",value:function(e){this._dotClickable.style["pointer-events"]=e?"all":"none"}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._dot.classList.add(this._highlightClass):this._dot.classList.remove(this._highlightClass))}},{key:"destroy",value:function(){this.setVisible(!1),this._dot.parentElement&&this._dot.parentElement.removeChild(this._dot),this._dotClickable.parentElement&&this._dotClickable.parentElement.removeChild(this._dotClickable)}}]),e}(),Ze=function(){function e(t){var n=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this._highlightClass="viewer-ruler-label-highlighted",this._prefix=r.prefix||"",this._x=0,this._y=0,this._visible=!0,this._culled=!1,this._label=document.createElement("div"),this._label.className+=this._label.className?" viewer-ruler-label":"viewer-ruler-label";var i=this._label,a=i.style;a["border-radius"]="5px",a.color="white",a.padding="4px",a.border="solid 1px",a.background="lightgreen",a.position="absolute",a["z-index"]=void 0===r.zIndex?"5000005":r.zIndex,a.width="auto",a.height="auto",a.visibility="visible",a.top="0px",a.left="0px",a["pointer-events"]="all",a.opacity=1,r.onContextMenu,i.innerText="",t.appendChild(i),this.setPos(r.x||0,r.y||0),this.setFillColor(r.fillColor),this.setBorderColor(r.fillColor),this.setText(r.text),r.onMouseOver&&i.addEventListener("mouseover",(function(e){r.onMouseOver(e,n),e.preventDefault()})),r.onMouseLeave&&i.addEventListener("mouseleave",(function(e){r.onMouseLeave(e,n),e.preventDefault()})),r.onMouseWheel&&i.addEventListener("wheel",(function(e){r.onMouseWheel(e,n)})),r.onContextMenu&&i.addEventListener("contextmenu",(function(e){r.onContextMenu(e,n),e.preventDefault()}))}return P(e,[{key:"setPos",value:function(e,t){this._x=e,this._y=t;var n=this._label.style;n.left=Math.round(e)-20+"px",n.top=Math.round(t)-12+"px"}},{key:"setPosOnWire",value:function(e,t,n,r){var i=e+.5*(n-e),a=t+.5*(r-t),s=this._label.style;s.left=Math.round(i)-20+"px",s.top=Math.round(a)-12+"px"}},{key:"setPosBetweenWires",value:function(e,t,n,r,i,a){var s=(e+n+i)/3,o=(t+r+a)/3,l=this._label.style;l.left=Math.round(s)-20+"px",l.top=Math.round(o)-12+"px"}},{key:"setText",value:function(e){this._label.innerHTML=this._prefix+(e||"")}},{key:"setFillColor",value:function(e){this._fillColor=e||"lightgreen",this._label.style.background=this._fillColor}},{key:"setBorderColor",value:function(e){this._borderColor=e||"black",this._label.style.border="solid 1px "+this._borderColor}},{key:"setOpacity",value:function(e){this._label.style.opacity=e}},{key:"setVisible",value:function(e){this._visible!==e&&(this._visible=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setCulled",value:function(e){this._culled!==e&&(this._culled=!!e,this._label.style.visibility=this._visible&&!this._culled?"visible":"hidden")}},{key:"setHighlighted",value:function(e){this._highlighted!==e&&(this._highlighted=!!e,this._highlighted?this._label.classList.add(this._highlightClass):this._label.classList.remove(this._highlightClass))}},{key:"setClickable",value:function(e){this._label.style["pointer-events"]=e?"all":"none"}},{key:"destroy",value:function(){this._label.parentElement&&this._label.parentElement.removeChild(this._label)}}]),e}(),$e=$.vec3(),et=$.vec3(),tt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._color=i.color||e.defaultColor;var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._cornerMarker=new Xe(a,i.corner),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._cornerWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(12),r._vp=new Float64Array(12),r._pp=new Float64Array(12),r._cp=new Int16Array(6);var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._cornerDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._originWire=new qe(r._container,{color:r._color||"blue",thickness:1,zIndex:e.zIndex,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetWire=new qe(r._container,{color:r._color||"red",thickness:1,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._angleLabel=new Ze(r._container,{fillColor:r._color||"#00BBFF",prefix:"",text:"",zIndex:e.zIndex+2,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._visible=!1,r._originVisible=!1,r._cornerVisible=!1,r._targetVisible=!1,r._originWireVisible=!1,r._targetWireVisible=!1,r._angleVisible=!1,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._cornerMarker.on("worldPos",(function(e){r._cornerWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.cornerVisible=i.cornerVisible,r.targetVisible=i.targetVisible,r.originWireVisible=i.originWireVisible,r.targetWireVisible=i.targetWireVisible,r.angleVisible=i.angleVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._cornerWorld[0],this._wp[5]=this._cornerWorld[1],this._wp[6]=this._cornerWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._targetWorld[2],this._wp[11]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._angleLabel.setCulled(!0),this._originWire.setCulled(!0),this._targetWire.setCulled(!0),this._originDot.setCulled(!0),this._cornerDot.setCulled(!0),void this._targetDot.setCulled(!0);this._angleLabel.setCulled(!1),this._originWire.setCulled(!1),this._targetWire.setCulled(!1),this._originDot.setCulled(!1),this._cornerDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}if(this._cpDirty){var t=-.3,n=this._originMarker.viewPos[2],r=this._cornerMarker.viewPos[2],i=this._targetMarker.viewPos[2];if(n>t||r>t||i>t)return this._originDot.setVisible(!1),this._cornerDot.setVisible(!1),this._targetDot.setVisible(!1),this._originWire.setVisible(!1),this._targetWire.setVisible(!1),void this._angleLabel.setCulled(!0);$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var a=this._pp,s=this._cp,o=e.canvas.canvas.getBoundingClientRect(),l=this._container.getBoundingClientRect(),u=o.top-l.top,c=o.left-l.left,f=e.canvas.boundary,p=f[2],A=f[3],d=0,v=0,h=a.length;v1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._mouseState=0,r._currentAngleMeasurement=null,r._initMarkerDiv(),r._onMouseHoverSurface=null,r._onHoverNothing=null,r._onPickedNothing=null,r._onPickedSurface=null,r._onInputMouseDown=null,r._onInputMouseUp=null,r._snapping=!1!==i.snapping,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this.markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.angleMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this.markerDiv||this._initMarkerDiv(),this.angleMeasurementsPlugin;var t=this.scene;t.input;var n=t.canvas.canvas,r=this.angleMeasurementsPlugin.viewer.cameraControl,i=this.pointerLens,a=!1,s=null,o=0,l=0,u=$.vec3(),c=$.vec2();this._currentAngleMeasurement=null,this._onMouseHoverSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){t.snappedToVertex||t.snappedToEdge?(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,i.snapped=!0),e.markerDiv.style.background="greenyellow",e.markerDiv.style.border="2px solid green"):(i&&(i.visible=!0,i.canvasPos=t.canvasPos,i.snappedCanvasPos=t.canvasPos,i.snapped=!1),e.markerDiv.style.background="pink",e.markerDiv.style.border="2px solid red");var r=t.snappedCanvasPos||t.canvasPos;switch(a=!0,s=t.entity,u.set(t.worldPos),c.set(r),e._mouseState){case 0:e.markerDiv.style.marginLeft="".concat(r[0]-5,"px"),e.markerDiv.style.marginTop="".concat(r[1]-5,"px");break;case 1:e._currentAngleMeasurement&&(e._currentAngleMeasurement.originWireVisible=!0,e._currentAngleMeasurement.targetWireVisible=!1,e._currentAngleMeasurement.cornerVisible=!0,e._currentAngleMeasurement.angleVisible=!1,e._currentAngleMeasurement.corner.worldPos=t.worldPos,e._currentAngleMeasurement.corner.entity=t.entity),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer";break;case 2:e._currentAngleMeasurement&&(e._currentAngleMeasurement.targetWireVisible=!0,e._currentAngleMeasurement.targetVisible=!0,e._currentAngleMeasurement.angleVisible=!0,e._currentAngleMeasurement.target.worldPos=t.worldPos,e._currentAngleMeasurement.target.entity=t.entity),e.markerDiv.style.marginLeft="-10000px",e.markerDiv.style.marginTop="-10000px",n.style.cursor="pointer"}})),n.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(o=e.clientX,l=e.clientY)}),n.addEventListener("mouseup",this._onMouseUp=function(t){if(1===t.which&&!(t.clientX>o+20||t.clientXl+20||t.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"AngleMeasurements",e))._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),angleMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new rt(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.corner,i=t.target,a=new tt(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},corner:{entity:r.entity,worldPos:r.worldPos},target:{entity:i.entity,worldPos:i.worldPos},visible:t.visible,originVisible:!0,originWireVisible:!0,cornerVisible:!0,targetWireVisible:!0,targetVisible:!0,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[a.id]=a,a.on("destroyed",(function(){delete e._measurements[a.id]})),this.fire("measurementCreated",a),a}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("AngleMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t

";le.isArray(t)&&(t=t.join("")),t=this._renderTemplate(t);var n=document.createRange().createContextualFragment(t);this._marker=n.firstChild,this._container.appendChild(this._marker),this._marker.style.visibility=this._markerShown?"visible":"hidden",this._marker.addEventListener("click",(function(){e.plugin.fire("markerClicked",e)})),this._marker.addEventListener("mouseenter",(function(){e.plugin.fire("markerMouseEnter",e)})),this._marker.addEventListener("mouseleave",(function(){e.plugin.fire("markerMouseLeave",e)})),this._marker.addEventListener("wheel",(function(t){e.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",t))}))}if(!this._labelExternal){this._label&&(this._container.removeChild(this._label),this._label=null);var r=this._labelHTML||"

";le.isArray(r)&&(r=r.join("")),r=this._renderTemplate(r);var i=document.createRange().createContextualFragment(r);this._label=i.firstChild,this._container.appendChild(this._label),this._label.style.visibility=this._markerShown&&this._labelShown?"visible":"hidden",this._label.addEventListener("wheel",(function(t){e.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",t))}))}}},{key:"_updatePosition",value:function(){var e=this.scene.canvas.boundary,t=e[0],n=e[1],r=this.canvasPos;this._marker.style.left=Math.floor(t+r[0])-12+"px",this._marker.style.top=Math.floor(n+r[1])-12+"px",this._marker.style["z-index"]=90005+Math.floor(this._viewPos[2])+1;this._label.style.left=20+Math.floor(t+r[0]+20)+"px",this._label.style.top=Math.floor(n+r[1]+-17)+"px",this._label.style["z-index"]=90005+Math.floor(this._viewPos[2])+1}},{key:"_renderTemplate",value:function(e){for(var t in this._values)if(this._values.hasOwnProperty(t)){var n=this._values[t];e=e.replace(new RegExp("{{"+t+"}}","g"),n)}return e}},{key:"setMarkerShown",value:function(e){e=!!e,this._markerShown!==e&&(this._markerShown=e,this._visibilityDirty=!0)}},{key:"getMarkerShown",value:function(){return this._markerShown}},{key:"setLabelShown",value:function(e){e=!!e,this._labelShown!==e&&(this._labelShown=e,this._visibilityDirty=!0)}},{key:"getLabelShown",value:function(){return this._labelShown}},{key:"setField",value:function(e,t){this._values[e]=t||"",this._htmlDirty=!0}},{key:"getField",value:function(e){return this._values[e]}},{key:"setValues",value:function(e){for(var t in e)if(e.hasOwnProperty(t)){var n=e[t];this.setField(t,n)}}},{key:"getValues",value:function(){return this._values}},{key:"destroy",value:function(){this._marker&&(this._markerExternal?(this._marker.removeEventListener("click",this._onMouseClickedExternalMarker),this._marker.removeEventListener("mouseenter",this._onMouseEnterExternalMarker),this._marker.removeEventListener("mouseleave",this._onMouseLeaveExternalMarker),this._marker=null):this._marker.parentNode.removeChild(this._marker)),this._label&&(this._labelExternal||this._label.parentNode.removeChild(this._label),this._label=null),this.scene.off(this._onTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),st=$.vec3(),ot=$.vec3(),lt=$.vec3(),ut=function(e){I(n,Ce);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,"Annotations",e))._labelHTML=r.labelHTML||"
",i._markerHTML=r.markerHTML||"
",i._container=r.container||document.body,i._values=r.values||{},i.annotations={},i.surfaceOffset=r.surfaceOffset,i}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){if("clearAnnotations"===e)this.clear()}},{key:"surfaceOffset",get:function(){return this._surfaceOffset},set:function(e){null==e&&(e=.3),this._surfaceOffset=e}},{key:"createAnnotation",value:function(e){var t,n,r=this;if(this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id),e.pickResult=e.pickResult||e.pickRecord,e.pickResult){var i=e.pickResult;if(i.worldPos&&i.worldNormal){var a=$.normalizeVec3(i.worldNormal,st),s=$.mulVec3Scalar(a,this._surfaceOffset,ot);t=$.addVec3(i.worldPos,s,lt),n=i.entity}else this.error("Param 'pickResult' does not have both worldPos and worldNormal")}else t=e.worldPos,n=e.entity;var o=null;e.markerElementId&&((o=document.getElementById(e.markerElementId))||this.error("Can't find DOM element for 'markerElementId' value '"+e.markerElementId+"' - defaulting to internally-generated empty DIV"));var l=null;e.labelElementId&&((l=document.getElementById(e.labelElementId))||this.error("Can't find DOM element for 'labelElementId' value '"+e.labelElementId+"' - defaulting to internally-generated empty DIV"));var u=new at(this.viewer.scene,{id:e.id,plugin:this,entity:n,worldPos:t,container:this._container,markerElement:o,labelElement:l,markerHTML:e.markerHTML||this._markerHTML,labelHTML:e.labelHTML||this._labelHTML,occludable:e.occludable,values:le.apply(e.values,le.apply(this._values,{})),markerShown:e.markerShown,labelShown:e.labelShown,eye:e.eye,look:e.look,up:e.up,projection:e.projection,visible:!1!==e.visible});return this.annotations[u.id]=u,u.on("destroyed",(function(){delete r.annotations[u.id],r.fire("annotationDestroyed",u.id)})),this.fire("annotationCreated",u.id),u}},{key:"destroyAnnotation",value:function(e){var t=this.annotations[e];t?t.destroy():this.log("Annotation not found: "+e)}},{key:"clear",value:function(){for(var e=Object.keys(this.annotations),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._canvas=i.canvas,r._element=null,r._isCustom=!1,i.elementId&&(r._element=document.getElementById(i.elementId),r._element?r._adjustPosition():r.error("Can't find given Spinner HTML element: '"+i.elementId+"' - will automatically create default element")),r._element||r._createDefaultSpinner(),r.processes=0,r}return P(n,[{key:"type",get:function(){return"Spinner"}},{key:"_createDefaultSpinner",value:function(){this._injectDefaultCSS();var e=document.createElement("div"),t=e.style;t["z-index"]="9000",t.position="absolute",e.innerHTML='
',this._canvas.parentElement.appendChild(e),this._element=e,this._isCustom=!1,this._adjustPosition()}},{key:"_injectDefaultCSS",value:function(){var e="xeokit-spinner-css";if(!document.getElementById(e)){var t=document.createElement("style");t.innerHTML=".sk-fading-circle { background: transparent; margin: 20px auto; width: 50px; height:50px; position: relative; } .sk-fading-circle .sk-circle { width: 120%; height: 120%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: #ff8800; border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } }",t.id=e,document.body.appendChild(t)}}},{key:"_adjustPosition",value:function(){if(!this._isCustom){var e=this._canvas,t=this._element,n=t.style;n.left=e.offsetLeft+.5*e.clientWidth-.5*t.clientWidth+"px",n.top=e.offsetTop+.5*e.clientHeight-.5*t.clientHeight+"px"}}},{key:"processes",get:function(){return this._processes},set:function(e){if(e=e||0,this._processes!==e&&!(e<0)){var t=this._processes;this._processes=e;var n=this._element;n&&(n.style.visibility=this._processes>0?"visible":"hidden"),this.fire("processes",this._processes),0===this._processes&&this._processes!==t&&this.fire("zeroProcesses",this._processes)}}},{key:"_destroy",value:function(){this._element&&!this._isCustom&&(this._element.parentNode.removeChild(this._element),this._element=null);var e=document.getElementById("xeokit-spinner-css");e&&e.parentNode.removeChild(e)}}]),n}(),ft=["webgl2","experimental-webgl","webkit-3d","moz-webgl","moz-glweb20"],pt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._backgroundColor=$.vec3([i.backgroundColor?i.backgroundColor[0]:1,i.backgroundColor?i.backgroundColor[1]:1,i.backgroundColor?i.backgroundColor[2]:1]),r._backgroundColorFromAmbientLight=!!i.backgroundColorFromAmbientLight,r.canvas=i.canvas,r.gl=null,r.webgl2=!1,r.transparent=!!i.transparent,r.contextAttr=i.contextAttr||{},r.contextAttr.alpha=r.transparent,r.contextAttr.preserveDrawingBuffer=!!r.contextAttr.preserveDrawingBuffer,r.contextAttr.stencil=!1,r.contextAttr.premultipliedAlpha=!!r.contextAttr.premultipliedAlpha,r.contextAttr.antialias=!1!==r.contextAttr.antialias,r.resolutionScale=i.resolutionScale,r.canvas.width=Math.round(r.canvas.clientWidth*r._resolutionScale),r.canvas.height=Math.round(r.canvas.clientHeight*r._resolutionScale),r.boundary=[r.canvas.offsetLeft,r.canvas.offsetTop,r.canvas.clientWidth,r.canvas.clientHeight],r._initWebGL(i);var a=g(r);r.canvas.addEventListener("webglcontextlost",r._webglcontextlostListener=function(e){console.time("webglcontextrestored"),a.scene._webglContextLost(),a.fire("webglcontextlost"),e.preventDefault()},!1),r.canvas.addEventListener("webglcontextrestored",r._webglcontextrestoredListener=function(e){a._initWebGL(),a.gl&&(a.scene._webglContextRestored(a.gl),a.fire("webglcontextrestored",a.gl),e.preventDefault()),console.timeEnd("webglcontextrestored")},!1);var s=!0,o=new ResizeObserver((function(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){t.value.contentBoxSize&&(s=!0)}}catch(e){n.e(e)}finally{n.f()}}));return o.observe(r.canvas),r._tick=r.scene.on("tick",(function(){s&&(s=!1,a.canvas.width=Math.round(a.canvas.clientWidth*a._resolutionScale),a.canvas.height=Math.round(a.canvas.clientHeight*a._resolutionScale),a.boundary[0]=a.canvas.offsetLeft,a.boundary[1]=a.canvas.offsetTop,a.boundary[2]=a.canvas.clientWidth,a.boundary[3]=a.canvas.clientHeight,a.fire("boundary",a.boundary))})),r._spinner=new ct(r.scene,{canvas:r.canvas,elementId:i.spinnerElementId}),r}return P(n,[{key:"type",get:function(){return"Canvas"}},{key:"backgroundColorFromAmbientLight",get:function(){return this._backgroundColorFromAmbientLight},set:function(e){this._backgroundColorFromAmbientLight=!1!==e,this.glRedraw()}},{key:"backgroundColor",get:function(){return this._backgroundColor},set:function(e){e?(this._backgroundColor[0]=e[0],this._backgroundColor[1]=e[1],this._backgroundColor[2]=e[2]):(this._backgroundColor[0]=1,this._backgroundColor[1]=1,this._backgroundColor[2]=1),this.glRedraw()}},{key:"resolutionScale",get:function(){return this._resolutionScale},set:function(e){if((e=e||1)!==this._resolutionScale){this._resolutionScale=e;var t=this.canvas;t.width=Math.round(t.clientWidth*this._resolutionScale),t.height=Math.round(t.clientHeight*this._resolutionScale),this.glRedraw()}}},{key:"spinner",get:function(){return this._spinner}},{key:"_createCanvas",value:function(){var e="xeokit-canvas-"+$.createUUID(),t=document.getElementsByTagName("body")[0],n=document.createElement("div"),r=n.style;r.height="100%",r.width="100%",r.padding="0",r.margin="0",r.background="rgba(0,0,0,0);",r.float="left",r.left="0",r.top="0",r.position="absolute",r.opacity="1.0",r["z-index"]="-10000",n.innerHTML+='',t.appendChild(n),this.canvas=document.getElementById(e)}},{key:"_getElementXY",value:function(e){for(var t=0,n=0;e;)t+=e.offsetLeft-e.scrollLeft,n+=e.offsetTop-e.scrollTop,e=e.offsetParent;return{x:t,y:n}}},{key:"_initWebGL",value:function(){if(!this.gl)for(var e=0;!this.gl&&e0?dt.FS_MAX_FLOAT_PRECISION="highp":ht.getShaderPrecisionFormat(ht.FRAGMENT_SHADER,ht.MEDIUM_FLOAT).precision>0?dt.FS_MAX_FLOAT_PRECISION="mediump":dt.FS_MAX_FLOAT_PRECISION="lowp":dt.FS_MAX_FLOAT_PRECISION="mediump",dt.DEPTH_BUFFER_BITS=ht.getParameter(ht.DEPTH_BITS),dt.MAX_TEXTURE_SIZE=ht.getParameter(ht.MAX_TEXTURE_SIZE),dt.MAX_CUBE_MAP_SIZE=ht.getParameter(ht.MAX_CUBE_MAP_TEXTURE_SIZE),dt.MAX_RENDERBUFFER_SIZE=ht.getParameter(ht.MAX_RENDERBUFFER_SIZE),dt.MAX_TEXTURE_UNITS=ht.getParameter(ht.MAX_COMBINED_TEXTURE_IMAGE_UNITS),dt.MAX_TEXTURE_IMAGE_UNITS=ht.getParameter(ht.MAX_TEXTURE_IMAGE_UNITS),dt.MAX_VERTEX_ATTRIBS=ht.getParameter(ht.MAX_VERTEX_ATTRIBS),dt.MAX_VERTEX_UNIFORM_VECTORS=ht.getParameter(ht.MAX_VERTEX_UNIFORM_VECTORS),dt.MAX_FRAGMENT_UNIFORM_VECTORS=ht.getParameter(ht.MAX_FRAGMENT_UNIFORM_VECTORS),dt.MAX_VARYING_VECTORS=ht.getParameter(ht.MAX_VARYING_VECTORS),ht.getSupportedExtensions().forEach((function(e){dt.SUPPORTED_EXTENSIONS[e]=!0})))}var It=function(){function e(){b(this,e),this.entity=null,this.primitive=null,this.primIndex=-1,this.pickSurfacePrecision=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1,this._origin=new Float64Array([0,0,0]),this._direction=new Float64Array([0,0,0]),this._indices=new Int32Array(3),this._localPos=new Float64Array([0,0,0]),this._worldPos=new Float64Array([0,0,0]),this._viewPos=new Float64Array([0,0,0]),this._canvasPos=new Int16Array([0,0]),this._snappedCanvasPos=new Int16Array([0,0]),this._bary=new Float64Array([0,0,0]),this._worldNormal=new Float64Array([0,0,0]),this._uv=new Float64Array([0,0]),this.reset()}return P(e,[{key:"canvasPos",get:function(){return this._gotCanvasPos?this._canvasPos:null},set:function(e){e?(this._canvasPos[0]=e[0],this._canvasPos[1]=e[1],this._gotCanvasPos=!0):this._gotCanvasPos=!1}},{key:"origin",get:function(){return this._gotOrigin?this._origin:null},set:function(e){e?(this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this._gotOrigin=!0):this._gotOrigin=!1}},{key:"direction",get:function(){return this._gotDirection?this._direction:null},set:function(e){e?(this._direction[0]=e[0],this._direction[1]=e[1],this._direction[2]=e[2],this._gotDirection=!0):this._gotDirection=!1}},{key:"indices",get:function(){return this.entity&&this._gotIndices?this._indices:null},set:function(e){e?(this._indices[0]=e[0],this._indices[1]=e[1],this._indices[2]=e[2],this._gotIndices=!0):this._gotIndices=!1}},{key:"localPos",get:function(){return this.entity&&this._gotLocalPos?this._localPos:null},set:function(e){e?(this._localPos[0]=e[0],this._localPos[1]=e[1],this._localPos[2]=e[2],this._gotLocalPos=!0):this._gotLocalPos=!1}},{key:"snappedCanvasPos",get:function(){return this._gotSnappedCanvasPos?this._snappedCanvasPos:null},set:function(e){e?(this._snappedCanvasPos[0]=e[0],this._snappedCanvasPos[1]=e[1],this._gotSnappedCanvasPos=!0):this._gotSnappedCanvasPos=!1}},{key:"worldPos",get:function(){return this._gotWorldPos?this._worldPos:null},set:function(e){e?(this._worldPos[0]=e[0],this._worldPos[1]=e[1],this._worldPos[2]=e[2],this._gotWorldPos=!0):this._gotWorldPos=!1}},{key:"viewPos",get:function(){return this.entity&&this._gotViewPos?this._viewPos:null},set:function(e){e?(this._viewPos[0]=e[0],this._viewPos[1]=e[1],this._viewPos[2]=e[2],this._gotViewPos=!0):this._gotViewPos=!1}},{key:"bary",get:function(){return this.entity&&this._gotBary?this._bary:null},set:function(e){e?(this._bary[0]=e[0],this._bary[1]=e[1],this._bary[2]=e[2],this._gotBary=!0):this._gotBary=!1}},{key:"worldNormal",get:function(){return this.entity&&this._gotWorldNormal?this._worldNormal:null},set:function(e){e?(this._worldNormal[0]=e[0],this._worldNormal[1]=e[1],this._worldNormal[2]=e[2],this._gotWorldNormal=!0):this._gotWorldNormal=!1}},{key:"uv",get:function(){return this.entity&&this._gotUV?this._uv:null},set:function(e){e?(this._uv[0]=e[0],this._uv[1]=e[1],this._gotUV=!0):this._gotUV=!1}},{key:"reset",value:function(){this.entity=null,this.primIndex=-1,this.primitive=null,this.pickSurfacePrecision=!1,this._gotCanvasPos=!1,this._gotSnappedCanvasPos=!1,this._gotOrigin=!1,this._gotDirection=!1,this._gotIndices=!1,this._gotLocalPos=!1,this._gotWorldPos=!1,this._gotViewPos=!1,this._gotBary=!1,this._gotWorldNormal=!1,this._gotUV=!1,this.touchInput=!1,this.snappedToEdge=!1,this.snappedToVertex=!1}}]),e}(),yt=function(){function e(t,n,r){if(b(this,e),this.allocated=!1,this.compiled=!1,this.handle=t.createShader(n),this.handle){if(this.allocated=!0,t.shaderSource(this.handle,r),t.compileShader(this.handle),this.compiled=t.getShaderParameter(this.handle,t.COMPILE_STATUS),!this.compiled&&!t.isContextLost()){for(var i=r.split("\n"),a=[],s=0;s0&&"/"===t.charAt(n+1)&&(t=t.substring(0,n)),r.push(t);return r.join("\n")}function Tt(e){console.error(e.join("\n"))}var bt=function(){function e(t,n){b(this,e),this.id=gt.addItem({}),this.source=n,this.init(t)}return P(e,[{key:"init",value:function(e){if(this.gl=e,this.allocated=!1,this.compiled=!1,this.linked=!1,this.validated=!1,this.errors=null,this.uniforms={},this.samplers={},this.attributes={},this._vertexShader=new yt(e,e.VERTEX_SHADER,Et(this.source.vertex)),this._fragmentShader=new yt(e,e.FRAGMENT_SHADER,Et(this.source.fragment)),!this._vertexShader.allocated)return this.errors=["Vertex shader failed to allocate"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.allocated)return this.errors=["Fragment shader failed to allocate"].concat(this._fragmentShader.errors),void Tt(this.errors);if(this.allocated=!0,!this._vertexShader.compiled)return this.errors=["Vertex shader failed to compile"].concat(this._vertexShader.errors),void Tt(this.errors);if(!this._fragmentShader.compiled)return this.errors=["Fragment shader failed to compile"].concat(this._fragmentShader.errors),void Tt(this.errors);var t,n,r,i,a;if(this.compiled=!0,this.handle=e.createProgram(),this.handle){if(e.attachShader(this.handle,this._vertexShader.handle),e.attachShader(this.handle,this._fragmentShader.handle),e.linkProgram(this.handle),this.linked=e.getProgramParameter(this.handle,e.LINK_STATUS),this.validated=!0,!this.linked||!this.validated)return this.errors=[],this.errors.push(""),this.errors.push(e.getProgramInfoLog(this.handle)),this.errors.push("\nVertex shader:\n"),this.errors=this.errors.concat(this.source.vertex),this.errors.push("\nFragment shader:\n"),this.errors=this.errors.concat(this.source.fragment),void Tt(this.errors);var s=e.getProgramParameter(this.handle,e.ACTIVE_UNIFORMS);for(n=0;nthis.dataLength?e.slice(0,this.dataLength):e,this.usage),this._gl.bindBuffer(this.type,null),this.length=e.length,this.numItems=this.length/this.itemSize,this.allocated=!0)}},{key:"setData",value:function(e,t){this.allocated&&(e.length+(t||0)>this.length?(this.destroy(),this._allocate(e)):(this._gl.bindBuffer(this.type,this._handle),t||0===t?this._gl.bufferSubData(this.type,t*this.itemByteSize,e):this._gl.bufferData(this.type,e,this.usage),this._gl.bindBuffer(this.type,null)))}},{key:"bind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,this._handle)}},{key:"unbind",value:function(){this.allocated&&this._gl.bindBuffer(this.type,null)}},{key:"destroy",value:function(){this.allocated&&(this._gl.deleteBuffer(this._handle),this._handle=null,this.allocated=!1)}}]),e}(),Pt=function(){function e(t,n){b(this,e),this.scene=t,this.aabb=$.AABB3(),this.origin=$.vec3(n),this.originHash=this.origin.join(),this.numMarkers=0,this.markers={},this.markerList=[],this.markerIndices={},this.positions=[],this.indices=[],this.positionsBuf=null,this.lenPositionsBuf=0,this.indicesBuf=null,this.sectionPlanesActive=[],this.culledBySectionPlanes=!1,this.occlusionTestList=[],this.lenOcclusionTestList=0,this.pixels=[],this.aabbDirty=!1,this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!1}return P(e,[{key:"addMarker",value:function(e){this.markers[e.id]=e,this.markerListDirty=!0,this.numMarkers++}},{key:"markerWorldPosUpdated",value:function(e){if(this.markers[e.id]){var t=this.markerIndices[e.id];this.positions[3*t+0]=e.worldPos[0],this.positions[3*t+1]=e.worldPos[1],this.positions[3*t+2]=e.worldPos[2],this.positionsDirty=!0}}},{key:"removeMarker",value:function(e){delete this.markers[e.id],this.markerListDirty=!0,this.numMarkers--}},{key:"update",value:function(){this.markerListDirty&&(this._buildMarkerList(),this.markerListDirty=!1,this.positionsDirty=!0,this.occlusionTestListDirty=!0),this.positionsDirty&&(this._buildPositions(),this.positionsDirty=!1,this.aabbDirty=!0,this.vbosDirty=!0),this.aabbDirty&&(this._buildAABB(),this.aabbDirty=!1),this.vbosDirty&&(this._buildVBOs(),this.vbosDirty=!1),this.occlusionTestListDirty&&this._buildOcclusionTestList(),this._updateActiveSectionPlanes()}},{key:"_buildMarkerList",value:function(){for(var e in this.numMarkers=0,this.markers)this.markers.hasOwnProperty(e)&&(this.markerList[this.numMarkers]=this.markers[e],this.markerIndices[e]=this.numMarkers,this.numMarkers++);this.markerList.length=this.numMarkers}},{key:"_buildPositions",value:function(){for(var e=0,t=0;t-t)o._setVisible(!1);else{var l=o.canvasPos,u=l[0],c=l[1];u+10<0||c+10<0||u-10>r||c-10>i?o._setVisible(!1):!o.entity||o.entity.visible?o.occludable?(this.occlusionTestList[this.lenOcclusionTestList++]=o,this.pixels[a++]=u,this.pixels[a++]=c):o._setVisible(!0):o._setVisible(!1)}}}},{key:"_updateActiveSectionPlanes",value:function(){var e=this.scene._sectionPlanesState.sectionPlanes,t=e.length;if(t>0)for(var n=0;n0,n=[];return n.push("#version 300 es"),n.push("// OcclusionTester vertex shader"),n.push("in vec3 position;"),n.push("uniform mat4 modelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("vec4 worldPosition = vec4(position, 1.0); "),n.push(" vec4 viewPosition = viewMatrix * worldPosition;"),t&&n.push(" vWorldPosition = worldPosition;"),n.push(" vec4 clipPos = projMatrix * viewPosition;"),n.push(" gl_PointSize = 20.0;"),e.logarithmicDepthBufferEnabled?n.push("vFragDepth = 1.0 + clipPos.w;"):n.push("clipPos.z += -0.001;"),n.push(" gl_Position = clipPos;"),n.push("}"),n}},{key:"_buildFragmentShaderSource",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.sectionPlanes.length>0,r=[];if(r.push("#version 300 es"),r.push("// OcclusionTester fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;");for(var i=0;i 0.0) { discard; }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(1.0, 0.0, 0.0, 1.0); "),r.push("}"),r}},{key:"_buildProgram",value:function(){this._program&&this._program.destroy();var e=this._scene,t=e.canvas.gl,n=e._sectionPlanesState;if(this._program=new bt(t,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=n.sectionPlanes.length;i0)for(var p=r.sectionPlanes,A=0;A= ( 1.0 - EPSILON ) ) {\n \t\t\tcontinue;\n \t\t}\n\n \t\tfloat sampleViewZ = getViewZ( sampleDepth );\n \t\tvec3 sampleViewPosition = getViewPos( sampleUv, sampleDepth, sampleViewZ );\n \t\tocclusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );\n \t\tweightSum += 1.0;\n \t}\n\n \tif( weightSum == 0.0 ) discard;\n\n \treturn occlusionSum * ( uIntensity / weightSum );\n }\n\n out vec4 outColor;\n \n void main() {\n \n \tfloat centerDepth = getDepth( vUV );\n \t\n \tif( centerDepth >= ( 1.0 - EPSILON ) ) {\n \t\tdiscard;\n \t}\n\n \tfloat centerViewZ = getViewZ( centerDepth );\n \tvec3 viewPosition = getViewPos( vUV, centerDepth, centerViewZ );\n\n \tfloat ambientOcclusion = getAmbientOcclusion( viewPosition );\n \n \toutColor = packFloatToRGBA( 1.0- ambientOcclusion );\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var r=new Float32Array([1,1,0,1,0,0,1,0]),i=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),a=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(n,n.ARRAY_BUFFER,i,i.length,3,n.STATIC_DRAW),this._uvBuf=new Dt(n,n.ARRAY_BUFFER,r,r.length,2,n.STATIC_DRAW),this._indicesBuf=new Dt(n,n.ELEMENT_ARRAY_BUFFER,a,a.length,1,n.STATIC_DRAW),this._program.bind(),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uCameraProjectionMatrix=this._program.getLocation("uProjectMatrix"),this._uCameraInverseProjectionMatrix=this._program.getLocation("uInverseProjectMatrix"),this._uPerspective=this._program.getLocation("uPerspective"),this._uScale=this._program.getLocation("uScale"),this._uIntensity=this._program.getLocation("uIntensity"),this._uBias=this._program.getLocation("uBias"),this._uKernelRadius=this._program.getLocation("uKernelRadius"),this._uMinResolution=this._program.getLocation("uMinResolution"),this._uViewport=this._program.getLocation("uViewport"),this._uRandomSeed=this._program.getLocation("uRandomSeed"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV"),this._dirty=!1}}},{key:"destroy",value:function(){this._program&&(this._program.destroy(),this._program=null)}}]),e}(),St=new Float32Array(Ht(17,[0,1])),Nt=new Float32Array(Ht(17,[1,0])),Lt=new Float32Array(function(e,t){for(var n=[],r=0;r<=e;r++)n.push(Ft(r,t));return n}(17,4)),Mt=new Float32Array(2),xt=function(){function e(t){b(this,e),this._scene=t,this._program=null,this._programError=!1,this._aPosition=null,this._aUV=null,this._uDepthTexture="uDepthTexture",this._uOcclusionTexture="uOcclusionTexture",this._uViewport=null,this._uCameraNear=null,this._uCameraFar=null,this._uCameraProjectionMatrix=null,this._uCameraInverseProjectionMatrix=null,this._uvBuf=null,this._positionsBuf=null,this._indicesBuf=null,this.init()}return P(e,[{key:"init",value:function(){var e=this._scene.canvas.gl;if(this._program=new bt(e,{vertex:["#version 300 es\n precision highp float;\n precision highp int;\n \n in vec3 aPosition;\n in vec2 aUV;\n uniform vec2 uViewport;\n out vec2 vUV;\n out vec2 vInvSize;\n void main () {\n vUV = aUV;\n vInvSize = 1.0 / uViewport;\n gl_Position = vec4(aPosition, 1.0);\n }"],fragment:["#version 300 es\n precision highp float;\n precision highp int;\n \n #define PI 3.14159265359\n #define PI2 6.28318530718\n #define EPSILON 1e-6\n\n #define KERNEL_RADIUS ".concat(16,"\n\n in vec2 vUV;\n in vec2 vInvSize;\n \n uniform sampler2D uDepthTexture;\n uniform sampler2D uOcclusionTexture; \n \n uniform float uCameraNear;\n uniform float uCameraFar; \n uniform float uDepthCutoff;\n\n uniform vec2 uSampleOffsets[ KERNEL_RADIUS + 1 ];\n uniform float uSampleWeights[ KERNEL_RADIUS + 1 ];\n\n const float unpackDownscale = 255. / 256.; \n\n const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\n const vec4 unpackFactors = unpackDownscale / vec4( packFactors, 1. ); \n\n const float packUpscale = 256. / 255.;\n \n const float shiftRights = 1. / 256.;\n \n float unpackRGBAToFloat( const in vec4 v ) {\n return dot( floor( v * 255.0 + 0.5 ) / 255.0, unpackFactors );\n } \n\n vec4 packFloatToRGBA( const in float v ) {\n vec4 r = vec4( fract( v * packFactors ), v );\n r.yzw -= r.xyz * shiftRights; \n return r * packUpscale;\n }\n\n float viewZToOrthographicDepth( const in float viewZ) {\n return ( viewZ + uCameraNear ) / ( uCameraNear - uCameraFar );\n }\n \n float orthographicDepthToViewZ( const in float linearClipZ) {\n return linearClipZ * ( uCameraNear - uCameraFar ) - uCameraNear;\n }\n\n float viewZToPerspectiveDepth( const in float viewZ) {\n return (( uCameraNear + viewZ ) * uCameraFar ) / (( uCameraFar - uCameraNear ) * viewZ );\n }\n \n float perspectiveDepthToViewZ( const in float invClipZ) {\n return ( uCameraNear * uCameraFar ) / ( ( uCameraFar - uCameraNear ) * invClipZ - uCameraFar );\n }\n\n float getDepth( const in vec2 screenPosition ) {\n return vec4(texture(uDepthTexture, screenPosition)).r;\n }\n\n float getViewZ( const in float depth ) {\n return perspectiveDepthToViewZ( depth );\n }\n\n out vec4 outColor;\n \n void main() {\n \n float depth = getDepth( vUV );\n if( depth >= ( 1.0 - EPSILON ) ) {\n discard;\n }\n\n float centerViewZ = -getViewZ( depth );\n bool rBreak = false;\n bool lBreak = false;\n\n float weightSum = uSampleWeights[0];\n float occlusionSum = unpackRGBAToFloat(texture( uOcclusionTexture, vUV )) * weightSum;\n\n for( int i = 1; i <= KERNEL_RADIUS; i ++ ) {\n\n float sampleWeight = uSampleWeights[i];\n vec2 sampleUVOffset = uSampleOffsets[i] * vInvSize;\n\n vec2 sampleUV = vUV + sampleUVOffset;\n float viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n rBreak = true;\n }\n\n if( ! rBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n\n sampleUV = vUV - sampleUVOffset;\n viewZ = -getViewZ( getDepth( sampleUV ) );\n\n if( abs( viewZ - centerViewZ ) > uDepthCutoff ) {\n lBreak = true;\n }\n\n if( ! lBreak ) {\n occlusionSum += unpackRGBAToFloat(texture( uOcclusionTexture, sampleUV )) * sampleWeight;\n weightSum += sampleWeight;\n }\n }\n\n outColor = packFloatToRGBA(occlusionSum / weightSum);\n }")]}),this._program.errors)return console.error(this._program.errors.join("\n")),void(this._programError=!0);var t=new Float32Array([1,1,0,1,0,0,1,0]),n=new Float32Array([1,1,0,-1,1,0,-1,-1,0,1,-1,0]),r=new Uint32Array([0,1,2,0,2,3]);this._positionsBuf=new Dt(e,e.ARRAY_BUFFER,n,n.length,3,e.STATIC_DRAW),this._uvBuf=new Dt(e,e.ARRAY_BUFFER,t,t.length,2,e.STATIC_DRAW),this._indicesBuf=new Dt(e,e.ELEMENT_ARRAY_BUFFER,r,r.length,1,e.STATIC_DRAW),this._program.bind(),this._uViewport=this._program.getLocation("uViewport"),this._uCameraNear=this._program.getLocation("uCameraNear"),this._uCameraFar=this._program.getLocation("uCameraFar"),this._uDepthCutoff=this._program.getLocation("uDepthCutoff"),this._uSampleOffsets=e.getUniformLocation(this._program.handle,"uSampleOffsets"),this._uSampleWeights=e.getUniformLocation(this._program.handle,"uSampleWeights"),this._aPosition=this._program.getAttribute("aPosition"),this._aUV=this._program.getAttribute("aUV")}},{key:"render",value:function(e,t,n){var r=this;if(!this._programError){this._getInverseProjectMat||(this._getInverseProjectMat=function(){var e=!0;r._scene.camera.on("projMatrix",(function(){e=!0}));var t=$.mat4();return function(){return e&&$.inverseMat4(s.camera.projMatrix,t),t}}());var i=this._scene.canvas.gl,a=this._program,s=this._scene,o=i.drawingBufferWidth,l=i.drawingBufferHeight,u=s.camera.project._state,c=u.near,f=u.far;i.viewport(0,0,o,l),i.clearColor(0,0,0,1),i.enable(i.DEPTH_TEST),i.disable(i.BLEND),i.frontFace(i.CCW),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),a.bind(),Mt[0]=o,Mt[1]=l,i.uniform2fv(this._uViewport,Mt),i.uniform1f(this._uCameraNear,c),i.uniform1f(this._uCameraFar,f),i.uniform1f(this._uDepthCutoff,.01),0===n?i.uniform2fv(this._uSampleOffsets,Nt):i.uniform2fv(this._uSampleOffsets,St),i.uniform1fv(this._uSampleWeights,Lt);var p=e.getDepthTexture(),A=t.getTexture();a.bindTexture(this._uDepthTexture,p,0),a.bindTexture(this._uOcclusionTexture,A,1),this._aUV.bindArrayBuffer(this._uvBuf),this._aPosition.bindArrayBuffer(this._positionsBuf),this._indicesBuf.bind(),i.drawElements(i.TRIANGLES,this._indicesBuf.numItems,this._indicesBuf.itemType,0)}}},{key:"destroy",value:function(){this._program.destroy()}}]),e}();function Ft(e,t){return Math.exp(-e*e/(t*t*2))/(Math.sqrt(2*Math.PI)*t)}function Ht(e,t){for(var n=[],r=0;r<=e;r++)n.push(t[0]*r),n.push(t[1]*r);return n}var Ut=function(){function e(t,n,r){b(this,e),r=r||{},this.gl=n,this.allocated=!1,this.canvas=t,this.buffer=null,this.bound=!1,this.size=r.size,this._hasDepthTexture=!!r.depthTexture}return P(e,[{key:"setSize",value:function(e){this.size=e}},{key:"webglContextRestored",value:function(e){this.gl=e,this.buffer=null,this.allocated=!1,this.bound=!1}},{key:"bind",value:function(){if(this._touch.apply(this,arguments),!this.bound){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,this.buffer.framebuf),this.bound=!0}}},{key:"createTexture",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=this.gl,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),n?r.texStorage2D(r.TEXTURE_2D,1,n,e,t):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null),i}},{key:"_touch",value:function(){var e,t,n=this,r=this.gl;if(this.size?(e=this.size[0],t=this.size[1]):(e=r.drawingBufferWidth,t=r.drawingBufferHeight),this.buffer){if(this.buffer.width===e&&this.buffer.height===t)return;this.buffer.textures.forEach((function(e){return r.deleteTexture(e)})),r.deleteFramebuffer(this.buffer.framebuf),r.deleteRenderbuffer(this.buffer.renderbuf)}for(var i,a=[],s=arguments.length,o=new Array(s),l=0;l0?a.push.apply(a,c(o.map((function(r){return n.createTexture(e,t,r)})))):a.push(this.createTexture(e,t)),this._hasDepthTexture&&(i=r.createTexture(),r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texImage2D(r.TEXTURE_2D,0,r.DEPTH_COMPONENT32F,e,t,0,r.DEPTH_COMPONENT,r.FLOAT,null));var u=r.createRenderbuffer();r.bindRenderbuffer(r.RENDERBUFFER,u),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT32F,e,t);var f=r.createFramebuffer();r.bindFramebuffer(r.FRAMEBUFFER,f);for(var p=0;p0&&r.drawBuffers(a.map((function(e,t){return r.COLOR_ATTACHMENT0+t}))),this._hasDepthTexture?r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,i,0):r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,u),r.bindTexture(r.TEXTURE_2D,null),r.bindRenderbuffer(r.RENDERBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,null),r.bindFramebuffer(r.FRAMEBUFFER,f),!r.isFramebuffer(f))throw"Invalid framebuffer";r.bindFramebuffer(r.FRAMEBUFFER,null);var A=r.checkFramebufferStatus(r.FRAMEBUFFER);switch(A){case r.FRAMEBUFFER_COMPLETE:break;case r.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT";case r.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:throw"Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS";case r.FRAMEBUFFER_UNSUPPORTED:throw"Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED";default:throw"Incomplete framebuffer: "+A}this.buffer={framebuf:f,renderbuf:u,texture:a[0],textures:a,depthTexture:i,width:e,height:t},this.bound=!1}},{key:"clear",value:function(){if(!this.bound)throw"Render buffer not bound";var e=this.gl;e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}},{key:"read",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Uint8Array,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4,s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=e,l=this.buffer.height?this.buffer.height-t-1:this.gl.drawingBufferHeight-t,u=new i(a),c=this.gl;return c.readBuffer(c.COLOR_ATTACHMENT0+s),c.readPixels(o,l,1,1,n||c.RGBA,r||c.UNSIGNED_BYTE,u,0),u}},{key:"readArray",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uint8Array,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=new n(this.buffer.width*this.buffer.height*r),s=this.gl;return s.readBuffer(s.COLOR_ATTACHMENT0+i),s.readPixels(0,0,this.buffer.width,this.buffer.height,e||s.RGBA,t||s.UNSIGNED_BYTE,a,0),a}},{key:"readImageAsCanvas",value:function(){var e=this.gl,t=this._getImageDataCache(),n=t.pixelData,r=t.canvas,i=t.imageData,a=t.context;e.readPixels(0,0,this.buffer.width,this.buffer.height,e.RGBA,e.UNSIGNED_BYTE,n);for(var s=this.buffer.width,o=this.buffer.height,l=o/2|0,u=4*s,c=new Uint8Array(4*s),f=0;f0&&void 0!==arguments[0]?arguments[0]:Uint8Array,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,n=this.buffer.width,r=this.buffer.height,i=this._imageDataCache;if(i&&(i.width===n&&i.height===r||(this._imageDataCache=null,i=null)),!i){var a=document.createElement("canvas"),s=a.getContext("2d");a.width=n,a.height=r,i={pixelData:new e(n*r*t),canvas:a,context:s,imageData:s.createImageData(n,r),width:n,height:r},this._imageDataCache=i}return i.context.resetTransform(),i}},{key:"unbind",value:function(){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,null),this.bound=!1}},{key:"getTexture",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=this;return this._texture||(this._texture={renderBuffer:this,bind:function(n){return!(!t.buffer||!t.buffer.textures[e])&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,t.buffer.textures[e]),!0)},unbind:function(n){t.buffer&&t.buffer.textures[e]&&(t.gl.activeTexture(t.gl["TEXTURE"+n]),t.gl.bindTexture(t.gl.TEXTURE_2D,null))}})}},{key:"hasDepthTexture",value:function(){return this._hasDepthTexture}},{key:"getDepthTexture",value:function(){if(!this._hasDepthTexture)return null;var e=this;return this._depthTexture||(this._dethTexture={renderBuffer:this,bind:function(t){return!(!e.buffer||!e.buffer.depthTexture)&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,e.buffer.depthTexture),!0)},unbind:function(t){e.buffer&&e.buffer.depthTexture&&(e.gl.activeTexture(e.gl["TEXTURE"+t]),e.gl.bindTexture(e.gl.TEXTURE_2D,null))}})}},{key:"destroy",value:function(){if(this.allocated){var e=this.gl;this.buffer.textures.forEach((function(t){return e.deleteTexture(t)})),e.deleteTexture(this.buffer.depthTexture),e.deleteFramebuffer(this.buffer.framebuf),e.deleteRenderbuffer(this.buffer.renderbuf),this.allocated=!1,this.buffer=null,this.bound=!1}this._imageDataCache=null,this._texture=null,this._depthTexture=null}}]),e}(),Gt=function(){function e(t){b(this,e),this.scene=t,this._renderBuffersBasic={},this._renderBuffersScaled={}}return P(e,[{key:"getRenderBuffer",value:function(e,t){var n=1===this.scene.canvas.resolutionScale?this._renderBuffersBasic:this._renderBuffersScaled,r=n[e];return r||(r=new Ut(this.scene.canvas.canvas,this.scene.canvas.gl,t),n[e]=r),r}},{key:"destroy",value:function(){for(var e in this._renderBuffersBasic)this._renderBuffersBasic[e].destroy();for(var t in this._renderBuffersScaled)this._renderBuffersScaled[t].destroy()}}]),e}();function kt(e,t){if(void 0===e._cachedExtensions&&(e._cachedExtensions={}),void 0!==e._cachedExtensions[t])return e._cachedExtensions[t];var n;switch(t){case"WEBGL_depth_texture":n=e.getExtension("WEBGL_depth_texture")||e.getExtension("MOZ_WEBGL_depth_texture")||e.getExtension("WEBKIT_WEBGL_depth_texture");break;case"EXT_texture_filter_anisotropic":n=e.getExtension("EXT_texture_filter_anisotropic")||e.getExtension("MOZ_EXT_texture_filter_anisotropic")||e.getExtension("WEBKIT_EXT_texture_filter_anisotropic");break;case"WEBGL_compressed_texture_s3tc":n=e.getExtension("WEBGL_compressed_texture_s3tc")||e.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");break;case"WEBGL_compressed_texture_pvrtc":n=e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc");break;default:n=e.getExtension(t)}return e._cachedExtensions[t]=n,n}var jt=function(e,t){t=t||{};var n=new At(e),r=e.canvas.canvas,i=e.canvas.gl,a=!!t.transparent,s=t.alphaDepthMask,o=new G({}),l={},u={},c=!0,f=!0,p=!0,A=!0,d=!0,v=!0,h=!0,I=!0,y=new Gt(e),m=!1,w=new Ot(e),g=new xt(e);function E(){c&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e],n=t.drawableMap,r=t.drawableListPreCull,i=0;for(var a in n)n.hasOwnProperty(a)&&(r[i++]=n[a]);r.length=i}}(),c=!1,f=!0),f&&(!function(){for(var e in l)if(l.hasOwnProperty(e)){var t=l[e];t.isStateSortable&&t.drawableListPreCull.sort(t.stateSortCompare)}}(),f=!1,p=!0),p&&function(){for(var e in l)if(l.hasOwnProperty(e)){for(var t=l[e],n=t.drawableListPreCull,r=t.drawableList,i=0,a=0,s=n.length;a0)for(n.withSAO=!0,O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||Q>0||U>0||G>0){if(i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):(i.blendEquation(i.FUNC_ADD),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA)),n.backfaces=!1,s||i.depthMask(!1),(U>0||G>0)&&i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),G>0)for(O=0;O0)for(O=0;O0)for(O=0;O0)for(O=0;O0||z>0){if(n.lastProgramId=null,e.highlightMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),z>0)for(O=0;O0)for(O=0;O0||Y>0||W>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),i.enable(i.CULL_FACE),Y>0)for(O=0;O0)for(O=0;O0||q>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),q>0)for(O=0;O0)for(O=0;O0||Z>0){if(n.lastProgramId=null,e.selectedMaterial.glowThrough&&i.clear(i.DEPTH_BUFFER_BIT),i.enable(i.CULL_FACE),i.enable(i.BLEND),a?(i.blendEquation(i.FUNC_ADD),i.blendFuncSeparate(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA,i.ONE,i.ONE_MINUS_SRC_ALPHA)):i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),Z>0)for(O=0;O0)for(O=0;O1&&void 0!==arguments[1]?arguments[1]:s;d.reset(),E();var v=null,h=null;for(var I in d.pickSurface=p.pickSurface,p.canvasPos?(u[0]=p.canvasPos[0],u[1]=p.canvasPos[1],v=e.camera.viewMatrix,h=e.camera.projMatrix,d.canvasPos=p.canvasPos):(p.matrix?(v=p.matrix,h=e.camera.projMatrix):(c.set(p.origin||[0,0,0]),f.set(p.direction||[0,0,1]),A=$.addVec3(c,f,t),i[0]=Math.random(),i[1]=Math.random(),i[2]=Math.random(),$.normalizeVec3(i),$.cross3Vec3(f,i,a),v=$.lookAtMat4v(c,A,a,n),h=e.camera.ortho.matrix,d.origin=c,d.direction=f),u[0]=.5*r.clientWidth,u[1]=.5*r.clientHeight),l)if(l.hasOwnProperty(I))for(var m=l[I].drawableList,w=0,g=m.length;w4&&void 0!==arguments[4]?arguments[4]:P;if(!a&&!s)return this.pick({canvasPos:t,pickSurface:!0});var c=e.canvas.resolutionScale;n.reset(),n.backfaces=!0,n.frontface=!0,n.pickZNear=e.camera.project.near,n.pickZFar=e.camera.project.far,r=r||30;var f=y.getRenderBuffer("uniquePickColors-aabs",{depthTexture:!0,size:[2*r+1,2*r+1]});n.snapVectorA=[B(t[0]*c,i.drawingBufferWidth),O(t[1]*c,i.drawingBufferHeight)],n.snapInvVectorAB=[i.drawingBufferWidth/(2*r),i.drawingBufferHeight/(2*r)],f.bind(i.RGBA32I,i.RGBA32I,i.RGBA8UI),i.viewport(0,0,f.size[0],f.size[1]),i.enable(i.DEPTH_TEST),i.frontFace(i.CCW),i.disable(i.CULL_FACE),i.depthMask(!0),i.disable(i.BLEND),i.depthFunc(i.LEQUAL),i.clear(i.DEPTH_BUFFER_BIT),i.clearBufferiv(i.COLOR,0,new Int32Array([0,0,0,0])),i.clearBufferiv(i.COLOR,1,new Int32Array([0,0,0,0])),i.clearBufferuiv(i.COLOR,2,new Uint32Array([0,0,0,0]));var p=e.camera.viewMatrix,A=e.camera.projMatrix;for(var d in l)if(l.hasOwnProperty(d))for(var v=l[d].drawableList,h=0,I=v.length;h0){var V=Math.floor(j/4),Q=f.size[0],W=V%Q-Math.floor(Q/2),z=Math.floor(V/Q)-Math.floor(Q/2),K=Math.sqrt(Math.pow(W,2)+Math.pow(z,2));k.push({x:W,y:z,dist:K,isVertex:a&&s?E[j+3]>g.length/2:a,result:[E[j+0],E[j+1],E[j+2],E[j+3]],normal:[T[j+0],T[j+1],T[j+2],T[j+3]],id:[b[j+0],b[j+1],b[j+2],b[j+3]]})}var Y=null,X=null,q=null,J=null;if(k.length>0){k.sort((function(e,t){return e.isVertex!==t.isVertex?e.isVertex?-1:1:e.dist-t.dist})),J=k[0].isVertex?"vertex":"edge";var Z=k[0].result,ee=k[0].normal,te=k[0].id,ne=g[Z[3]],re=ne.origin,ie=ne.coordinateScale;X=$.normalizeVec3([ee[0]/$.MAX_INT,ee[1]/$.MAX_INT,ee[2]/$.MAX_INT]),Y=[Z[0]*ie[0]+re[0],Z[1]*ie[1]+re[1],Z[2]*ie[2]+re[2]],q=o.items[te[0]+(te[1]<<8)+(te[2]<<16)+(te[3]<<24)]}if(null===D&&null==Y)return null;var ae=null;null!==Y&&(ae=e.camera.projectWorldPos(Y));var se=q&&q.delegatePickedEntity?q.delegatePickedEntity():q;return u.reset(),u.snappedToEdge="edge"===J,u.snappedToVertex="vertex"===J,u.worldPos=Y,u.worldNormal=X,u.entity=se,u.canvasPos=t,u.snappedCanvasPos=ae||t,u}),this.addMarker=function(t){this._occlusionTester=this._occlusionTester||new _t(e,y),this._occlusionTester.addMarker(t),e.occlusionTestCountdown=0},this.markerWorldPosUpdated=function(e){this._occlusionTester.markerWorldPosUpdated(e)},this.removeMarker=function(e){this._occlusionTester.removeMarker(e)},this.doOcclusionTest=function(){if(this._occlusionTester&&this._occlusionTester.needOcclusionTest){for(var e in E(),this._occlusionTester.bindRenderBuf(),n.reset(),n.backfaces=!0,n.frontface=!0,i.viewport(0,0,i.drawingBufferWidth,i.drawingBufferHeight),i.clearColor(0,0,0,0),i.enable(i.DEPTH_TEST),i.disable(i.CULL_FACE),i.disable(i.BLEND),i.clear(i.COLOR_BUFFER_BIT|i.DEPTH_BUFFER_BIT),l)if(l.hasOwnProperty(e))for(var t=l[e].drawableList,r=0,a=t.length;r0&&void 0!==arguments[0]?arguments[0]:{},t=y.getRenderBuffer("snapshot");e.width&&e.height&&t.setSize([e.width,e.height]),t.bind(),t.clear(),m=!0},this.renderSnapshot=function(){m&&(y.getRenderBuffer("snapshot").clear(),this.render({force:!0,opaqueOnly:!1}),p=!0)},this.readSnapshot=function(e){return y.getRenderBuffer("snapshot").readImage(e)},this.readSnapshotAsCanvas=function(){return y.getRenderBuffer("snapshot").readImageAsCanvas()},this.endSnapshot=function(){m&&(y.getRenderBuffer("snapshot").unbind(),m=!1)},this.destroy=function(){l={},u={},y.destroy(),w.destroy(),g.destroy(),this._occlusionTester&&this._occlusionTester.destroy()}},Vt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).KEY_BACKSPACE=8,r.KEY_TAB=9,r.KEY_ENTER=13,r.KEY_SHIFT=16,r.KEY_CTRL=17,r.KEY_ALT=18,r.KEY_PAUSE_BREAK=19,r.KEY_CAPS_LOCK=20,r.KEY_ESCAPE=27,r.KEY_PAGE_UP=33,r.KEY_PAGE_DOWN=34,r.KEY_END=35,r.KEY_HOME=36,r.KEY_LEFT_ARROW=37,r.KEY_UP_ARROW=38,r.KEY_RIGHT_ARROW=39,r.KEY_DOWN_ARROW=40,r.KEY_INSERT=45,r.KEY_DELETE=46,r.KEY_NUM_0=48,r.KEY_NUM_1=49,r.KEY_NUM_2=50,r.KEY_NUM_3=51,r.KEY_NUM_4=52,r.KEY_NUM_5=53,r.KEY_NUM_6=54,r.KEY_NUM_7=55,r.KEY_NUM_8=56,r.KEY_NUM_9=57,r.KEY_A=65,r.KEY_B=66,r.KEY_C=67,r.KEY_D=68,r.KEY_E=69,r.KEY_F=70,r.KEY_G=71,r.KEY_H=72,r.KEY_I=73,r.KEY_J=74,r.KEY_K=75,r.KEY_L=76,r.KEY_M=77,r.KEY_N=78,r.KEY_O=79,r.KEY_P=80,r.KEY_Q=81,r.KEY_R=82,r.KEY_S=83,r.KEY_T=84,r.KEY_U=85,r.KEY_V=86,r.KEY_W=87,r.KEY_X=88,r.KEY_Y=89,r.KEY_Z=90,r.KEY_LEFT_WINDOW=91,r.KEY_RIGHT_WINDOW=92,r.KEY_SELECT_KEY=93,r.KEY_NUMPAD_0=96,r.KEY_NUMPAD_1=97,r.KEY_NUMPAD_2=98,r.KEY_NUMPAD_3=99,r.KEY_NUMPAD_4=100,r.KEY_NUMPAD_5=101,r.KEY_NUMPAD_6=102,r.KEY_NUMPAD_7=103,r.KEY_NUMPAD_8=104,r.KEY_NUMPAD_9=105,r.KEY_MULTIPLY=106,r.KEY_ADD=107,r.KEY_SUBTRACT=109,r.KEY_DECIMAL_POINT=110,r.KEY_DIVIDE=111,r.KEY_F1=112,r.KEY_F2=113,r.KEY_F3=114,r.KEY_F4=115,r.KEY_F5=116,r.KEY_F6=117,r.KEY_F7=118,r.KEY_F8=119,r.KEY_F9=120,r.KEY_F10=121,r.KEY_F11=122,r.KEY_F12=123,r.KEY_NUM_LOCK=144,r.KEY_SCROLL_LOCK=145,r.KEY_SEMI_COLON=186,r.KEY_EQUAL_SIGN=187,r.KEY_COMMA=188,r.KEY_DASH=189,r.KEY_PERIOD=190,r.KEY_FORWARD_SLASH=191,r.KEY_GRAVE_ACCENT=192,r.KEY_OPEN_BRACKET=219,r.KEY_BACK_SLASH=220,r.KEY_CLOSE_BRACKET=221,r.KEY_SINGLE_QUOTE=222,r.KEY_SPACE=32,r.element=i.element,r.altDown=!1,r.ctrlDown=!1,r.mouseDownLeft=!1,r.mouseDownMiddle=!1,r.mouseDownRight=!1,r.keyDown=[],r.enabled=!0,r.keyboardEnabled=!0,r.mouseover=!1,r.mouseCanvasPos=$.vec2(),r._keyboardEventsElement=i.keyboardEventsElement||document,r._bindEvents(),r}return P(n,[{key:"_bindEvents",value:function(){var e=this;if(!this._eventsBound){this._keyboardEventsElement.addEventListener("keydown",this._keyDownListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!0:t.keyCode===e.KEY_ALT?e.altDown=!0:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!0),e.keyDown[t.keyCode]=!0,e.fire("keydown",t.keyCode,!0))},!1),this._keyboardEventsElement.addEventListener("keyup",this._keyUpListener=function(t){e.enabled&&e.keyboardEnabled&&"INPUT"!==t.target.tagName&&"TEXTAREA"!==t.target.tagName&&(t.keyCode===e.KEY_CTRL?e.ctrlDown=!1:t.keyCode===e.KEY_ALT?e.altDown=!1:t.keyCode===e.KEY_SHIFT&&(e.shiftDown=!1),e.keyDown[t.keyCode]=!1,e.fire("keyup",t.keyCode,!0))}),this.element.addEventListener("mouseenter",this._mouseEnterListener=function(t){e.enabled&&(e.mouseover=!0,e._getMouseCanvasPos(t),e.fire("mouseenter",e.mouseCanvasPos,!0))}),this.element.addEventListener("mouseleave",this._mouseLeaveListener=function(t){e.enabled&&(e.mouseover=!1,e._getMouseCanvasPos(t),e.fire("mouseleave",e.mouseCanvasPos,!0))}),this.element.addEventListener("mousedown",this._mouseDownListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!0;break;case 2:e.mouseDownMiddle=!0;break;case 3:e.mouseDownRight=!0}e._getMouseCanvasPos(t),e.element.focus(),e.fire("mousedown",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("mouseup",this._mouseUpListener=function(t){if(e.enabled){switch(t.which){case 1:e.mouseDownLeft=!1;break;case 2:e.mouseDownMiddle=!1;break;case 3:e.mouseDownRight=!1}e.fire("mouseup",e.mouseCanvasPos,!0)}},!0),document.addEventListener("click",this._clickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("click",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}}),document.addEventListener("dblclick",this._dblClickListener=function(t){if(e.enabled){switch(t.which){case 1:case 3:e.mouseDownLeft=!1,e.mouseDownRight=!1;break;case 2:e.mouseDownMiddle=!1}e._getMouseCanvasPos(t),e.fire("dblclick",e.mouseCanvasPos,!0),e.mouseover&&t.preventDefault()}});var t=this.scene.tickify((function(){return e.fire("mousemove",e.mouseCanvasPos,!0)}));this.element.addEventListener("mousemove",this._mouseMoveListener=function(n){e.enabled&&(e._getMouseCanvasPos(n),t(),e.mouseover&&n.preventDefault())});var n=this.scene.tickify((function(t){e.fire("mousewheel",t,!0)}));this.element.addEventListener("wheel",this._mouseWheelListener=function(t,r){if(e.enabled){var i=Math.max(-1,Math.min(1,40*-t.deltaY));n(i)}},{passive:!0});var r,i;this.on("mousedown",(function(e){r=e[0],i=e[1]})),this.on("mouseup",(function(t){r>=t[0]-2&&r<=t[0]+2&&i>=t[1]-2&&i<=t[1]+2&&e.fire("mouseclicked",t,!0)})),this._eventsBound=!0}}},{key:"_unbindEvents",value:function(){this._eventsBound&&(this._keyboardEventsElement.removeEventListener("keydown",this._keyDownListener),this._keyboardEventsElement.removeEventListener("keyup",this._keyUpListener),this.element.removeEventListener("mouseenter",this._mouseEnterListener),this.element.removeEventListener("mouseleave",this._mouseLeaveListener),this.element.removeEventListener("mousedown",this._mouseDownListener),document.removeEventListener("mouseup",this._mouseDownListener),document.removeEventListener("click",this._clickListener),document.removeEventListener("dblclick",this._dblClickListener),this.element.removeEventListener("mousemove",this._mouseMoveListener),this.element.removeEventListener("wheel",this._mouseWheelListener),window.OrientationChangeEvent&&window.removeEventListener("orientationchange",this._orientationchangedListener),window.DeviceMotionEvent&&window.removeEventListener("devicemotion",this._deviceMotionListener),window.DeviceOrientationEvent&&window.removeEventListener("deviceorientation",this._deviceOrientListener),this._eventsBound=!1)}},{key:"_getMouseCanvasPos",value:function(e){if(e){for(var t=e.target,n=0,r=0;t.offsetParent;)n+=t.offsetLeft,r+=t.offsetTop,t=t.offsetParent;this.mouseCanvasPos[0]=e.pageX-n,this.mouseCanvasPos[1]=e.pageY-r}else e=window.event,this.mouseCanvasPos[0]=e.x,this.mouseCanvasPos[1]=e.y}},{key:"setEnabled",value:function(e){this.enabled!==e&&this.fire("enabled",this.enabled=e)}},{key:"getEnabled",value:function(){return this.enabled}},{key:"setKeyboardEnabled",value:function(e){this.keyboardEnabled=e}},{key:"getKeyboardEnabled",value:function(){return this.keyboardEnabled}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._unbindEvents()}}]),n}(),Qt=new G({}),Wt=function(){function e(t){for(var n in b(this,e),this.id=Qt.addItem({}),t)t.hasOwnProperty(n)&&(this[n]=t[n])}return P(e,[{key:"destroy",value:function(){Qt.removeItem(this.id)}}]),e}(),zt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({boundary:[0,0,100,100]}),r.boundary=i.boundary,r.autoBoundary=i.autoBoundary,r}return P(n,[{key:"type",get:function(){return"Viewport"}},{key:"boundary",get:function(){return this._state.boundary},set:function(e){if(!this._autoBoundary){if(!e){var t=this.scene.canvas.boundary;e=[0,0,t[2],t[3]]}this._state.boundary=e,this.glRedraw(),this.fire("boundary",this._state.boundary)}}},{key:"autoBoundary",get:function(){return this._autoBoundary},set:function(e){(e=!!e)!==this._autoBoundary&&(this._autoBoundary=e,this._autoBoundary?this._onCanvasSize=this.scene.canvas.on("boundary",(function(e){var t=e[2],n=e[3];this._state.boundary=[0,0,t,n],this.glRedraw(),this.fire("boundary",this._state.boundary)}),this):this._onCanvasSize&&(this.scene.canvas.off(this._onCanvasSize),this._onCanvasSize=null),this.fire("autoBoundary",this._autoBoundary))}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Kt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r._fov=60,r._canvasResized=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r.fov=i.fov,r.fovAxis=i.fovAxis,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Perspective"}},{key:"_update",value:function(){var e=this.scene.canvas.boundary,t=e[2]/e[3],n=this._fovAxis,r=this._fov;("x"===n||"min"===n&&t<1||"max"===n&&t>1)&&(r/=t),r=Math.min(r,120),$.perspectiveMat4(r*(Math.PI/180),t,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.camera._updateScheduled=!0,this.fire("matrix",this._state.matrix)}},{key:"fov",get:function(){return this._fov},set:function(e){(e=null!=e?e:60)!==this._fov&&(this._fov=e,this._needUpdate(0),this.fire("fov",this._fov))}},{key:"fovAxis",get:function(){return this._fovAxis},set:function(e){e=e||"min",this._fovAxis!==e&&("x"!==e&&"y"!==e&&"min"!==e&&(this.error("Unsupported value for 'fovAxis': "+e+" - defaulting to 'min'"),e="min"),this._fovAxis=e,this._needUpdate(0),this.fire("fovAxis",this._fovAxis))}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._canvasResized)}}]),n}(),Yt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:2e3}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.scale=i.scale,r.near=i.near,r.far=i.far,r._onCanvasBoundary=r.scene.canvas.on("boundary",r._needUpdate,g(r)),r}return P(n,[{key:"type",get:function(){return"Ortho"}},{key:"_update",value:function(){var e,t,n,r,i=this.scene,a=.5*this._scale,s=i.canvas.boundary,o=s[2],l=s[3],u=o/l;o>l?(e=-a,t=a,n=a/u,r=-a/u):(e=-a*u,t=a*u,n=a,r=-a),$.orthoMat4c(e,t,r,n,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),e<=0&&(e=.01),this._scale=e,this._needUpdate(0),this.fire("scale",this._scale)}},{key:"near",get:function(){return this._state.near},set:function(e){var t=null!=e?e:.1;this._state.near!==t&&(this._state.near=t,this._needUpdate(0),this.fire("near",this._state.near))}},{key:"far",get:function(){return this._state.far},set:function(e){var t=null!=e?e:2e3;this._state.far!==t&&(this._state.far=t,this._needUpdate(0),this.fire("far",this._state.far))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this.scene.canvas.off(this._onCanvasBoundary)}}]),n}(),Xt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4(),near:.1,far:1e4}),r._left=-1,r._right=1,r._bottom=-1,r._top=1,r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!0,r.left=i.left,r.right=i.right,r.bottom=i.bottom,r.top=i.top,r.near=i.near,r.far=i.far,r}return P(n,[{key:"type",get:function(){return"Frustum"}},{key:"_update",value:function(){$.frustumMat4(this._left,this._right,this._bottom,this._top,this._state.near,this._state.far,this._state.matrix),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"left",get:function(){return this._left},set:function(e){this._left=null!=e?e:-1,this._needUpdate(0),this.fire("left",this._left)}},{key:"right",get:function(){return this._right},set:function(e){this._right=null!=e?e:1,this._needUpdate(0),this.fire("right",this._right)}},{key:"top",get:function(){return this._top},set:function(e){this._top=null!=e?e:1,this._needUpdate(0),this.fire("top",this._top)}},{key:"bottom",get:function(){return this._bottom},set:function(e){this._bottom=null!=e?e:-1,this._needUpdate(0),this.fire("bottom",this._bottom)}},{key:"near",get:function(){return this._state.near},set:function(e){this._state.near=null!=e?e:.1,this._needUpdate(0),this.fire("near",this._state.near)}},{key:"far",get:function(){return this._state.far},set:function(e){this._state.far=null!=e?e:1e4,this._needUpdate(0),this.fire("far",this._state.far)}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),qt=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).camera=e,r._state=new Wt({matrix:$.mat4(),inverseMatrix:$.mat4(),transposedMatrix:$.mat4()}),r._inverseMatrixDirty=!0,r._transposedMatrixDirty=!1,r.matrix=i.matrix,r}return P(n,[{key:"type",get:function(){return"CustomProjection"}},{key:"matrix",get:function(){return this._state.matrix},set:function(e){this._state.matrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._inverseMatrixDirty=!0,this._transposedMatrixDirty=!0,this.glRedraw(),this.fire("matrix",this._state.matrix)}},{key:"inverseMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._inverseMatrixDirty&&($.inverseMat4(this._state.matrix,this._state.inverseMatrix),this._inverseMatrixDirty=!1),this._state.inverseMatrix}},{key:"transposedMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._transposedMatrixDirty&&($.transposeMat4(this._state.matrix,this._state.transposedMatrix),this._transposedMatrixDirty=!1),this._state.transposedMatrix}},{key:"unproject",value:function(e,t,n,r,i){var a=this.scene.canvas.canvas,s=a.offsetWidth/2,o=a.offsetHeight/2;return n[0]=(e[0]-s)/s,n[1]=(e[1]-o)/o,n[2]=t,n[3]=1,$.mulMat4v4(this.inverseMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1,$.mulMat4v4(this.camera.inverseViewMatrix,r,i),i}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Jt=$.vec3(),Zt=$.vec3(),$t=$.vec3(),en=$.vec3(),tn=$.vec3(),nn=$.vec3(),rn=$.vec4(),an=$.vec4(),sn=$.vec4(),on=$.mat4(),ln=$.mat4(),un=$.vec3(),cn=$.vec3(),fn=$.vec3(),pn=$.vec3(),An=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({deviceMatrix:$.mat4(),hasDeviceMatrix:!1,matrix:$.mat4(),normalMatrix:$.mat4(),inverseMatrix:$.mat4()}),r._perspective=new Kt(g(r)),r._ortho=new Yt(g(r)),r._frustum=new Xt(g(r)),r._customProjection=new qt(g(r)),r._project=r._perspective,r._eye=$.vec3([0,0,10]),r._look=$.vec3([0,0,0]),r._up=$.vec3([0,1,0]),r._worldUp=$.vec3([0,1,0]),r._worldRight=$.vec3([1,0,0]),r._worldForward=$.vec3([0,0,-1]),r.deviceMatrix=i.deviceMatrix,r.eye=i.eye,r.look=i.look,r.up=i.up,r.worldAxis=i.worldAxis,r.gimbalLock=i.gimbalLock,r.constrainPitch=i.constrainPitch,r.projection=i.projection,r._perspective.on("matrix",(function(){"perspective"===r._projectionType&&r.fire("projMatrix",r._perspective.matrix)})),r._ortho.on("matrix",(function(){"ortho"===r._projectionType&&r.fire("projMatrix",r._ortho.matrix)})),r._frustum.on("matrix",(function(){"frustum"===r._projectionType&&r.fire("projMatrix",r._frustum.matrix)})),r._customProjection.on("matrix",(function(){"customProjection"===r._projectionType&&r.fire("projMatrix",r._customProjection.matrix)})),r}return P(n,[{key:"type",get:function(){return"Camera"}},{key:"_update",value:function(){var e,t=this._state;"ortho"===this.projection?($.subVec3(this._eye,this._look,un),$.normalizeVec3(un,cn),$.mulVec3Scalar(cn,1e3,fn),$.addVec3(this._look,fn,pn),e=pn):e=this._eye,t.hasDeviceMatrix?($.lookAtMat4v(e,this._look,this._up,ln),$.mulMat4(t.deviceMatrix,ln,t.matrix)):$.lookAtMat4v(e,this._look,this._up,t.matrix),$.inverseMat4(this._state.matrix,this._state.inverseMatrix),$.transposeMat4(this._state.inverseMatrix,this._state.normalMatrix),this.glRedraw(),this.fire("matrix",this._state.matrix),this.fire("viewMatrix",this._state.matrix)}},{key:"orbitYaw",value:function(e){var t=$.subVec3(this._eye,this._look,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.eye=$.addVec3(this._look,t,$t),this.up=$.transformPoint3(on,this._up,en)}},{key:"orbitPitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._eye,this._look,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),t=$.transformPoint3(on,t,en),this.up=$.transformPoint3(on,this._up,tn),this.eye=$.addVec3(t,this._look,nn)}}},{key:"yaw",value:function(e){var t=$.subVec3(this._look,this._eye,Jt);$.rotationMat4v(.0174532925*e,this._gimbalLock?this._worldUp:this._up,on),t=$.transformPoint3(on,t,Zt),this.look=$.addVec3(t,this._eye,$t),this._gimbalLock&&(this.up=$.transformPoint3(on,this._up,en))}},{key:"pitch",value:function(e){if(!(this._constrainPitch&&(e=$.dotVec3(this._up,this._worldUp)/$.DEGTORAD)<1)){var t=$.subVec3(this._look,this._eye,Jt),n=$.cross3Vec3($.normalizeVec3(t,Zt),$.normalizeVec3(this._up,$t));$.rotationMat4v(.0174532925*e,n,on),this.up=$.transformPoint3(on,this._up,nn),t=$.transformPoint3(on,t,en),this.look=$.addVec3(t,this._eye,tn)}}},{key:"pan",value:function(e){var t,n=$.subVec3(this._eye,this._look,Jt),r=[0,0,0];if(0!==e[0]){var i=$.cross3Vec3($.normalizeVec3(n,[]),$.normalizeVec3(this._up,Zt));t=$.mulVec3Scalar(i,e[0]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]}0!==e[1]&&(t=$.mulVec3Scalar($.normalizeVec3(this._up,$t),e[1]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),0!==e[2]&&(t=$.mulVec3Scalar($.normalizeVec3(n,en),e[2]),r[0]+=t[0],r[1]+=t[1],r[2]+=t[2]),this.eye=$.addVec3(this._eye,r,tn),this.look=$.addVec3(this._look,r,nn)}},{key:"zoom",value:function(e){var t=$.subVec3(this._eye,this._look,Jt),n=Math.abs($.lenVec3(t,Zt)),r=Math.abs(n+e);if(!(r<.5)){var i=$.normalizeVec3(t,$t);this.eye=$.addVec3(this._look,$.mulVec3Scalar(i,r),en)}}},{key:"eye",get:function(){return this._eye},set:function(e){this._eye.set(e||[0,0,10]),this._needUpdate(0),this.fire("eye",this._eye)}},{key:"look",get:function(){return this._look},set:function(e){this._look.set(e||[0,0,0]),this._needUpdate(0),this.fire("look",this._look)}},{key:"up",get:function(){return this._up},set:function(e){this._up.set(e||[0,1,0]),this._needUpdate(0),this.fire("up",this._up)}},{key:"deviceMatrix",get:function(){return this._state.deviceMatrix},set:function(e){this._state.deviceMatrix.set(e||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),this._state.hasDeviceMatrix=!!e,this._needUpdate(0),this.fire("deviceMatrix",this._state.deviceMatrix)}},{key:"worldAxis",get:function(){return this._worldAxis},set:function(e){e=e||[1,0,0,0,1,0,0,0,1],this._worldAxis?this._worldAxis.set(e):this._worldAxis=$.vec3(e),this._worldRight[0]=this._worldAxis[0],this._worldRight[1]=this._worldAxis[1],this._worldRight[2]=this._worldAxis[2],this._worldUp[0]=this._worldAxis[3],this._worldUp[1]=this._worldAxis[4],this._worldUp[2]=this._worldAxis[5],this._worldForward[0]=this._worldAxis[6],this._worldForward[1]=this._worldAxis[7],this._worldForward[2]=this._worldAxis[8],this.fire("worldAxis",this._worldAxis)}},{key:"worldUp",get:function(){return this._worldUp}},{key:"xUp",get:function(){return this._worldUp[0]>this._worldUp[1]&&this._worldUp[0]>this._worldUp[2]}},{key:"yUp",get:function(){return this._worldUp[1]>this._worldUp[0]&&this._worldUp[1]>this._worldUp[2]}},{key:"zUp",get:function(){return this._worldUp[2]>this._worldUp[0]&&this._worldUp[2]>this._worldUp[1]}},{key:"worldRight",get:function(){return this._worldRight}},{key:"worldForward",get:function(){return this._worldForward}},{key:"gimbalLock",get:function(){return this._gimbalLock},set:function(e){this._gimbalLock=!1!==e,this.fire("gimbalLock",this._gimbalLock)}},{key:"constrainPitch",set:function(e){this._constrainPitch=!!e,this.fire("constrainPitch",this._constrainPitch)}},{key:"eyeLookDist",get:function(){return $.lenVec3($.subVec3(this._look,this._eye,Jt))}},{key:"matrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"viewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.matrix}},{key:"normalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"viewNormalMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.normalMatrix}},{key:"inverseViewMatrix",get:function(){return this._updateScheduled&&this._doUpdate(),this._state.inverseMatrix}},{key:"projMatrix",get:function(){return this[this.projection].matrix}},{key:"perspective",get:function(){return this._perspective}},{key:"ortho",get:function(){return this._ortho}},{key:"frustum",get:function(){return this._frustum}},{key:"customProjection",get:function(){return this._customProjection}},{key:"projection",get:function(){return this._projectionType},set:function(e){e=e||"perspective",this._projectionType!==e&&("perspective"===e?this._project=this._perspective:"ortho"===e?this._project=this._ortho:"frustum"===e?this._project=this._frustum:"customProjection"===e?this._project=this._customProjection:(this.error("Unsupported value for 'projection': "+e+" defaulting to 'perspective'"),this._project=this._perspective,e="perspective"),this._project._update(),this._projectionType=e,this.glRedraw(),this._update(),this.fire("dirty"),this.fire("projection",this._projectionType),this.fire("projMatrix",this._project.matrix))}},{key:"project",get:function(){return this._project}},{key:"projectWorldPos",value:function(e){var t=rn,n=an,r=sn;t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,$.mulMat4v4(this.viewMatrix,t,n),$.mulMat4v4(this.projMatrix,n,r),$.mulVec3Scalar(r,1/r[3]),r[3]=1,r[1]*=-1;var i=this.scene.canvas.canvas,a=i.offsetWidth/2,s=i.offsetHeight/2;return[r[0]*a+a,r[1]*s+s]}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),dn=function(e){I(n,ye);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n,[{key:"type",get:function(){return"Light"}},{key:"isLight",get:function(){return!0}}]),n}(),vn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var a=r.scene.camera,s=r.scene.canvas;return r._onCameraViewMatrix=a.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=a.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=s.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"dir",dir:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(r._shadowViewMatrixDirty){r._shadowViewMatrix||(r._shadowViewMatrix=$.identityMat4());var e=r.scene.camera,t=r._state.dir,n=e.look,i=[n[0]-t[0],n[1]-t[1],n[2]-t[2]];$.lookAtMat4v(i,n,[0,1,0],r._shadowViewMatrix),r._shadowViewMatrixDirty=!1}return r._shadowViewMatrix},getShadowProjMatrix:function(){return r._shadowProjMatrixDirty&&(r._shadowProjMatrix||(r._shadowProjMatrix=$.identityMat4()),$.orthoMat4c(-40,40,-40,40,-40,80,r._shadowProjMatrix),r._shadowProjMatrixDirty=!1),r._shadowProjMatrix},getShadowRenderBuf:function(){return r._shadowRenderBuf||(r._shadowRenderBuf=new Ut(r.scene.canvas.canvas,r.scene.canvas.gl,{size:[1024,1024]})),r._shadowRenderBuf}}),r.dir=i.dir,r.color=i.color,r.intensity=i.intensity,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"DirLight"}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}(),hn=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state={type:"ambient",color:$.vec3([.7,.7,.7]),intensity:1},r.color=i.color,r.intensity=i.intensity,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"AmbientLight"}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){this._state.intensity=void 0!==e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightDestroyed(this)}}]),n}(),In=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.meshes++,r}return P(n,[{key:"type",get:function(){return"Geometry"}},{key:"isGeometry",get:function(){return!0}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.meshes--}}]),n}(),yn=function(){var e=[],t=[],n=[],r=[],i=[],a=0,s=new Uint16Array(3),o=new Uint16Array(3),l=new Uint16Array(3),u=$.vec3(),c=$.vec3(),f=$.vec3(),p=$.vec3(),A=$.vec3(),d=$.vec3(),v=$.vec3();return function(h,I,y,m){!function(i,a){var s,o,l,u,c,f,p={},A=Math.pow(10,4),d=0;for(c=0,f=i.length;cO)||(C=n[D.index1],_=n[D.index2],(!N&&C>65535||_>65535)&&(N=!0),B.push(C),B.push(_));return N?new Uint32Array(B):new Uint16Array(B)}}();var mn=function(){var e=$.mat4(),t=$.mat4();return function(n,r){r=r||$.mat4();var i=n[0],a=n[1],s=n[2],o=n[3]-i,l=n[4]-a,u=n[5]-s,c=65535;return $.identityMat4(e),$.translationMat4v(n,e),$.identityMat4(t),$.scalingMat4v([o/c,l/c,u/c],t),$.mulMat4(e,t,r),r}}(),wn=function(){var e=$.mat4(),t=$.mat4();return function(n,r,i){var a,s=new Uint16Array(n.length),o=new Float32Array([i[0]!==r[0]?65535/(i[0]-r[0]):0,i[1]!==r[1]?65535/(i[1]-r[1]):0,i[2]!==r[2]?65535/(i[2]-r[2]):0]);for(a=0;a=0?1:-1),o=(1-Math.abs(i))*(a>=0?1:-1);i=s,a=o}return new Int8Array([Math[n](127.5*i+(i<0?-1:0)),Math[r](127.5*a+(a<0?-1:0))])}function Tn(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}function bn(e,t,n){return e[t]*n[0]+e[t+1]*n[1]+e[t+2]*n[2]}var Dn={getPositionsBounds:function(e){var t,n,r=new Float32Array(3),i=new Float32Array(3);for(t=0;t<3;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;r2&&void 0!==arguments[2]?arguments[2]:e;return n[0]=e[0]*t[0]+t[12],n[1]=e[1]*t[5]+t[13],n[2]=e[2]*t[10]+t[14],n[3]=e[3]*t[0]+t[12],n[4]=e[4]*t[5]+t[13],n[5]=e[5]*t[10]+t[14],n},getUVBounds:function(e){var t,n,r=new Float32Array(2),i=new Float32Array(2);for(t=0;t<2;t++)r[t]=Number.MAX_VALUE,i[t]=-Number.MAX_VALUE;for(t=0;t2&&void 0!==arguments[2]?arguments[2]:new Float32Array(e.length),r=0,i=e.length;ri&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"floor","ceil"))))>i&&(n=t,i=r),(r=bn(e,s,Tn(t=En(e,s,"ceil","ceil"))))>i&&(n=t,i=r),a[s]=n[0],a[s+1]=n[1];return a},decompressNormals:function(e,t){for(var n=0,r=0,i=e.length;n=0?1:-1),s=(1-Math.abs(a))*(s>=0?1:-1));var l=Math.sqrt(a*a+s*s+o*o);t[r+0]=a/l,t[r+1]=s/l,t[r+2]=o/l,r+=3}return t},decompressNormal:function(e,t){var n=e[0],r=e[1];n=(2*n+1)/255,r=(2*r+1)/255;var i=1-Math.abs(n)-Math.abs(r);i<0&&(n=(1-Math.abs(r))*(n>=0?1:-1),r=(1-Math.abs(n))*(r>=0?1:-1));var a=Math.sqrt(n*n+r*r+i*i);return t[0]=n/a,t[1]=r/a,t[2]=i/a,t}},Pn=re.memory,Rn=$.AABB3(),Cn=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!!i.compressGeometry,primitive:null,primitiveName:null,positions:null,normals:null,colors:null,uv:null,indices:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._edgeIndicesBuf=null,r._pickTrianglePositionsBuf=null,r._pickTriangleColorsBuf=null,r._aabbDirty=!0,r._boundingSphere=!0,r._aabb=null,r._aabbDirty=!0,r._obb=null,r._obbDirty=!0;var a=r._state,s=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":a.primitive=s.POINTS,a.primitiveName=i.primitive;break;case"lines":a.primitive=s.LINES,a.primitiveName=i.primitive;break;case"line-loop":a.primitive=s.LINE_LOOP,a.primitiveName=i.primitive;break;case"line-strip":a.primitive=s.LINE_STRIP,a.primitiveName=i.primitive;break;case"triangles":a.primitive=s.TRIANGLES,a.primitiveName=i.primitive;break;case"triangle-strip":a.primitive=s.TRIANGLE_STRIP,a.primitiveName=i.primitive;break;case"triangle-fan":a.primitive=s.TRIANGLE_FAN,a.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),a.primitive=s.TRIANGLES,a.primitiveName=i.primitive}if(i.positions)if(r._state.compressGeometry){var o=Dn.getPositionsBounds(i.positions),l=Dn.compressPositions(i.positions,o.min,o.max);a.positions=l.quantized,a.positionsDecodeMatrix=l.decodeMatrix}else a.positions=i.positions.constructor===Float32Array?i.positions:new Float32Array(i.positions);if(i.colors&&(a.colors=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors)),i.uv)if(r._state.compressGeometry){var u=Dn.getUVBounds(i.uv),c=Dn.compressUVs(i.uv,u.min,u.max);a.uv=c.quantized,a.uvDecodeMatrix=c.decodeMatrix}else a.uv=i.uv.constructor===Float32Array?i.uv:new Float32Array(i.uv);return i.normals&&(r._state.compressGeometry?a.normals=Dn.compressNormals(i.normals):a.normals=i.normals.constructor===Float32Array?i.normals:new Float32Array(i.normals)),i.indices&&(a.indices=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3)),r._buildHash(),Pn.meshes++,r._buildVBOs(),r}return P(n,[{key:"type",get:function(){return"ReadableGeometry"}},{key:"isReadableGeometry",get:function(){return!0}},{key:"_buildVBOs",value:function(){var e=this._state,t=this.scene.canvas.gl;if(e.indices&&(e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,e.indices,e.indices.length,1,t.STATIC_DRAW),Pn.indices+=e.indicesBuf.numItems),e.positions&&(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,e.positions,e.positions.length,3,t.STATIC_DRAW),Pn.positions+=e.positionsBuf.numItems),e.normals){var n=e.compressGeometry;e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,e.normals,e.normals.length,3,t.STATIC_DRAW,n),Pn.normals+=e.normalsBuf.numItems}e.colors&&(e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,e.colors,e.colors.length,4,t.STATIC_DRAW),Pn.colors+=e.colorsBuf.numItems),e.uv&&(e.uvBuf=new Dt(t,t.ARRAY_BUFFER,e.uv,e.uv.length,2,t.STATIC_DRAW),Pn.uvs+=e.uvBuf.numItems)}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positions&&t.push("p"),e.colors&&t.push("c"),(e.normals||e.autoVertexNormals)&&t.push("n"),e.uv&&t.push("u"),e.compressGeometry&&t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf||this._buildEdgeIndices(),this._edgeIndicesBuf}},{key:"_getPickTrianglePositions",value:function(){return this._pickTrianglePositionsBuf||this._buildPickTriangleVBOs(),this._pickTrianglePositionsBuf}},{key:"_getPickTriangleColors",value:function(){return this._pickTriangleColorsBuf||this._buildPickTriangleVBOs(),this._pickTriangleColorsBuf}},{key:"_buildEdgeIndices",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=yn(e.positions,e.indices,e.positionsDecodeMatrix,this._edgeThreshold);this._edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,n,n.length,1,t.STATIC_DRAW),Pn.indices+=this._edgeIndicesBuf.numItems}}},{key:"_buildPickTriangleVBOs",value:function(){var e=this._state;if(e.positions&&e.indices){var t=this.scene.canvas.gl,n=$.buildPickTriangles(e.positions,e.indices,e.compressGeometry),r=n.positions,i=n.colors;this._pickTrianglePositionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this._pickTriangleColorsBuf=new Dt(t,t.ARRAY_BUFFER,i,i.length,4,t.STATIC_DRAW,!0),Pn.positions+=this._pickTrianglePositionsBuf.numItems,Pn.colors+=this._pickTriangleColorsBuf.numItems}}},{key:"_buildPickVertexVBOs",value:function(){}},{key:"_webglContextLost",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextLost()}},{key:"_webglContextRestored",value:function(){this._sceneVertexBufs&&this._sceneVertexBufs.webglContextRestored(),this._buildVBOs(),this._edgeIndicesBuf=null,this._pickVertexPositionsBuf=null,this._pickTrianglePositionsBuf=null,this._pickTriangleColorsBuf=null,this._pickVertexPositionsBuf=null,this._pickVertexColorsBuf=null}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"compressGeometry",get:function(){return this._state.compressGeometry}},{key:"positions",get:function(){return this._state.positions?this._state.compressGeometry?(this._decompressedPositions||(this._decompressedPositions=new Float32Array(this._state.positions.length),Dn.decompressPositions(this._state.positions,this._state.positionsDecodeMatrix,this._decompressedPositions)),this._decompressedPositions):this._state.positions:null},set:function(e){var t=this._state,n=t.positions;if(n)if(n.length===e.length){if(this._state.compressGeometry){var r=Dn.getPositionsBounds(e),i=Dn.compressPositions(e,r.min,r.max);e=i.quantized,t.positionsDecodeMatrix=i.decodeMatrix}n.set(e),t.positionsBuf&&t.positionsBuf.setData(n),this._setAABBDirty(),this.glRedraw()}else this.error("can't update geometry positions - new positions are wrong length");else this.error("can't update geometry positions - geometry has no positions")}},{key:"normals",get:function(){if(this._state.normals){if(!this._state.compressGeometry)return this._state.normals;if(!this._decompressedNormals){var e=this._state.normals.length,t=e+e/2;this._decompressedNormals=new Float32Array(t),Dn.decompressNormals(this._state.normals,this._decompressedNormals)}return this._decompressedNormals}},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry normals - quantized geometry is immutable");else{var t=this._state,n=t.normals;n?n.length===e.length?(n.set(e),t.normalsBuf&&t.normalsBuf.setData(n),this.glRedraw()):this.error("can't update geometry normals - new normals are wrong length"):this.error("can't update geometry normals - geometry has no normals")}}},{key:"uv",get:function(){return this._state.uv?this._state.compressGeometry?(this._decompressedUV||(this._decompressedUV=new Float32Array(this._state.uv.length),Dn.decompressUVs(this._state.uv,this._state.uvDecodeMatrix,this._decompressedUV)),this._decompressedUV):this._state.uv:null},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry UVs - quantized geometry is immutable");else{var t=this._state,n=t.uv;n?n.length===e.length?(n.set(e),t.uvBuf&&t.uvBuf.setData(n),this.glRedraw()):this.error("can't update geometry UVs - new UVs are wrong length"):this.error("can't update geometry UVs - geometry has no UVs")}}},{key:"colors",get:function(){return this._state.colors},set:function(e){if(this._state.compressGeometry)this.error("can't update geometry colors - quantized geometry is immutable");else{var t=this._state,n=t.colors;n?n.length===e.length?(n.set(e),t.colorsBuf&&t.colorsBuf.setData(n),this.glRedraw()):this.error("can't update geometry colors - new colors are wrong length"):this.error("can't update geometry colors - geometry has no colors")}}},{key:"indices",get:function(){return this._state.indices}},{key:"aabb",get:function(){return this._aabbDirty&&(this._aabb||(this._aabb=$.AABB3()),$.positions3ToAABB3(this._state.positions,this._aabb,this._state.positionsDecodeMatrix),this._aabbDirty=!1),this._aabb}},{key:"obb",get:function(){return this._obbDirty&&(this._obb||(this._obb=$.OBB3()),$.positions3ToAABB3(this._state.positions,Rn,this._state.positionsDecodeMatrix),$.AABB3ToOBB3(Rn,this._obb),this._obbDirty=!1),this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_setAABBDirty",value:function(){this._aabbDirty||(this._aabbDirty=!0,this._aabbDirty=!0,this._obbDirty=!0)}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),this._pickTrianglePositionsBuf&&this._pickTrianglePositionsBuf.destroy(),this._pickTriangleColorsBuf&&this._pickTriangleColorsBuf.destroy(),this._pickVertexPositionsBuf&&this._pickVertexPositionsBuf.destroy(),this._pickVertexColorsBuf&&this._pickVertexColorsBuf.destroy(),e.destroy(),Pn.meshes--}}]),n}();function _n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{positions:[f,p,A,l,p,A,l,u,A,f,u,A,f,p,A,f,u,A,f,u,c,f,p,c,f,p,A,f,p,c,l,p,c,l,p,A,l,p,A,l,p,c,l,u,c,l,u,A,l,u,c,f,u,c,f,u,A,l,u,A,f,u,c,l,u,c,l,p,c,f,p,c],normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],uv:[1,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,0,0],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]})}var Bn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,e,i),re.memory.materials++,r}return P(n,[{key:"type",get:function(){return"Material"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),re.memory.materials--}}]),n}(),On={opaque:0,mask:1,blend:2},Sn=["opaque","mask","blend"],Nn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PhongMaterial",ambient:$.vec3([1,1,1]),diffuse:$.vec3([1,1,1]),specular:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,shininess:null,reflectivity:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.ambient=i.ambient,r.diffuse=i.diffuse,r.specular=i.specular,r.emissive=i.emissive,r.alpha=i.alpha,r.shininess=i.shininess,r.reflectivity=i.reflectivity,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,i.ambientMap&&(r._ambientMap=r._checkComponent("Texture",i.ambientMap)),i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.reflectivityMap&&(r._reflectivityMap=r._checkComponent("Texture",i.reflectivityMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.diffuseFresnel&&(r._diffuseFresnel=r._checkComponent("Fresnel",i.diffuseFresnel)),i.specularFresnel&&(r._specularFresnel=r._checkComponent("Fresnel",i.specularFresnel)),i.emissiveFresnel&&(r._emissiveFresnel=r._checkComponent("Fresnel",i.emissiveFresnel)),i.alphaFresnel&&(r._alphaFresnel=r._checkComponent("Fresnel",i.alphaFresnel)),i.reflectivityFresnel&&(r._reflectivityFresnel=r._checkComponent("Fresnel",i.reflectivityFresnel)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"PhongMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/p"];this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._ambientMap&&(t.push("/am"),this._ambientMap.hasMatrix&&t.push("/mat"),t.push("/"+this._ambientMap.encoding)),this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat"),t.push("/"+this._emissiveMap.encoding)),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),this._reflectivityMap&&(t.push("/rm"),this._reflectivityMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._diffuseFresnel&&t.push("/df"),this._specularFresnel&&t.push("/sf"),this._emissiveFresnel&&t.push("/ef"),this._alphaFresnel&&t.push("/of"),this._reflectivityFresnel&&t.push("/rf"),t.push(";"),e.hash=t.join("")}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"shininess",get:function(){return this._state.shininess},set:function(e){this._state.shininess=void 0!==e?e:80,this.glRedraw()}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"reflectivity",get:function(){return this._state.reflectivity},set:function(e){this._state.reflectivity=void 0!==e?e:1,this.glRedraw()}},{key:"normalMap",get:function(){return this._normalMap}},{key:"ambientMap",get:function(){return this._ambientMap}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specularMap",get:function(){return this._specularMap}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"reflectivityMap",get:function(){return this._reflectivityMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"diffuseFresnel",get:function(){return this._diffuseFresnel}},{key:"specularFresnel",get:function(){return this._specularFresnel}},{key:"emissiveFresnel",get:function(){return this._emissiveFresnel}},{key:"alphaFresnel",get:function(){return this._alphaFresnel}},{key:"reflectivityFresnel",get:function(){return this._reflectivityFresnel}},{key:"alphaMode",get:function(){return Sn[this._state.alphaMode]},set:function(e){var t=On[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" - defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Ln={default:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultWhiteBG:{fill:!0,fillColor:[1,1,1],fillAlpha:.6,edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.2,.2,.2],edgeAlpha:.5,edgeWidth:1},defaultDarkBG:{fill:!0,fillColor:[.4,.4,.4],fillAlpha:.2,edges:!0,edgeColor:[.5,.5,.5],edgeAlpha:.5,edgeWidth:1},phosphorous:{fill:!0,fillColor:[0,0,0],fillAlpha:.4,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:2},sunset:{fill:!0,fillColor:[.9,.9,.6],fillAlpha:.2,edges:!0,edgeColor:[.9,.9,.9],edgeAlpha:.5,edgeWidth:1},vectorscope:{fill:!0,fillColor:[0,0,0],fillAlpha:.7,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:2},battlezone:{fill:!0,fillColor:[0,0,0],fillAlpha:1,edges:!0,edgeColor:[.2,1,.2],edgeAlpha:1,edgeWidth:3},sepia:{fill:!0,fillColor:[.970588207244873,.7965892553329468,.6660899519920349],fillAlpha:.4,edges:!0,edgeColor:[.529411792755127,.4577854573726654,.4100345969200134],edgeAlpha:1,edgeWidth:1},yellowHighlight:{fill:!0,fillColor:[1,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},greenSelected:{fill:!0,fillColor:[0,1,0],fillAlpha:.5,edges:!0,edgeColor:[1,1,1],edgeAlpha:1,edgeWidth:1},gamegrid:{fill:!0,fillColor:[.2,.2,.7],fillAlpha:.9,edges:!0,edgeColor:[.4,.4,1.6],edgeAlpha:.8,edgeWidth:3}},Mn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EmphasisMaterial",fill:null,fillColor:null,fillAlpha:null,edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null,backfaces:!0,glowThrough:!0}),r._preset="default",i.preset?(r.preset=i.preset,void 0!==i.fill&&(r.fill=i.fill),i.fillColor&&(r.fillColor=i.fillColor),void 0!==i.fillAlpha&&(r.fillAlpha=i.fillAlpha),void 0!==i.edges&&(r.edges=i.edges),i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth),void 0!==i.backfaces&&(r.backfaces=i.backfaces),void 0!==i.glowThrough&&(r.glowThrough=i.glowThrough)):(r.fill=i.fill,r.fillColor=i.fillColor,r.fillAlpha=i.fillAlpha,r.edges=i.edges,r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth,r.backfaces=i.backfaces,r.glowThrough=i.glowThrough),r}return P(n,[{key:"type",get:function(){return"EmphasisMaterial"}},{key:"presets",get:function(){return Ln}},{key:"fill",get:function(){return this._state.fill},set:function(e){e=!1!==e,this._state.fill!==e&&(this._state.fill=e,this.glRedraw())}},{key:"fillColor",get:function(){return this._state.fillColor},set:function(e){var t=this._state.fillColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.fillColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.4,t[1]=.4,t[2]=.4),this.glRedraw()}},{key:"fillAlpha",get:function(){return this._state.fillAlpha},set:function(e){e=null!=e?e:.2,this._state.fillAlpha!==e&&(this._state.fillAlpha=e,this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:.5,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"glowThrough",get:function(){return this._state.glowThrough},set:function(e){e=!1!==e,this._state.glowThrough!==e&&(this._state.glowThrough=e,this.glRedraw())}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Ln[e];t?(this.fill=t.fill,this.fillColor=t.fillColor,this.fillAlpha=t.fillAlpha,this.edges=t.edges,this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this.glowThrough=t.glowThrough,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Ln).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),xn={default:{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1},defaultWhiteBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultLightBG:{edgeColor:[.2,.2,.2],edgeAlpha:1,edgeWidth:1},defaultDarkBG:{edgeColor:[.5,.5,.5],edgeAlpha:1,edgeWidth:1}},Fn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"EdgeMaterial",edges:null,edgeColor:null,edgeAlpha:null,edgeWidth:null}),r._preset="default",i.preset?(r.preset=i.preset,i.edgeColor&&(r.edgeColor=i.edgeColor),void 0!==i.edgeAlpha&&(r.edgeAlpha=i.edgeAlpha),void 0!==i.edgeWidth&&(r.edgeWidth=i.edgeWidth)):(r.edgeColor=i.edgeColor,r.edgeAlpha=i.edgeAlpha,r.edgeWidth=i.edgeWidth),r.edges=!1!==i.edges,r}return P(n,[{key:"type",get:function(){return"EdgeMaterial"}},{key:"presets",get:function(){return xn}},{key:"edges",get:function(){return this._state.edges},set:function(e){e=!1!==e,this._state.edges!==e&&(this._state.edges=e,this.glRedraw())}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){var t=this._state.edgeColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.edgeColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"edgeAlpha",get:function(){return this._state.edgeAlpha},set:function(e){e=null!=e?e:1,this._state.edgeAlpha!==e&&(this._state.edgeAlpha=e,this.glRedraw())}},{key:"edgeWidth",get:function(){return this._state.edgeWidth},set:function(e){this._state.edgeWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=xn[e];t?(this.edgeColor=t.edgeColor,this.edgeAlpha=t.edgeAlpha,this.edgeWidth=t.edgeWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(xn).join(", "))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Hn={meters:{abbrev:"m"},metres:{abbrev:"m"},centimeters:{abbrev:"cm"},centimetres:{abbrev:"cm"},millimeters:{abbrev:"mm"},millimetres:{abbrev:"mm"},yards:{abbrev:"yd"},feet:{abbrev:"ft"},inches:{abbrev:"in"}},Un=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._units="meters",r._scale=1,r._origin=$.vec3([0,0,0]),r.units=i.units,r.scale=i.scale,r.origin=i.origin,r}return P(n,[{key:"unitsInfo",get:function(){return Hn}},{key:"units",get:function(){return this._units},set:function(e){e||(e="meters"),Hn[e]||(this.error("Unsupported value for 'units': "+e+" defaulting to 'meters'"),e="meters"),this._units=e,this.fire("units",this._units)}},{key:"scale",get:function(){return this._scale},set:function(e){(e=e||1)<=0?this.error("scale value should be larger than zero"):(this._scale=e,this.fire("scale",this._scale))}},{key:"origin",get:function(){return this._origin},set:function(e){if(!e)return this._origin[0]=0,this._origin[1]=0,void(this._origin[2]=0);this._origin[0]=e[0],this._origin[1]=e[1],this._origin[2]=e[2],this.fire("origin",this._origin)}},{key:"worldToRealPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);t[0]=this._origin[0]+this._scale*e[0],t[1]=this._origin[1]+this._scale*e[1],t[2]=this._origin[2]+this._scale*e[2]}},{key:"realToWorldPos",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$.vec3(3);return t[0]=(e[0]-this._origin[0])/this._scale,t[1]=(e[1]-this._origin[1])/this._scale,t[2]=(e[2]-this._origin[2])/this._scale,t}}]),n}(),Gn=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._supported=dt.SUPPORTED_EXTENSIONS.OES_standard_derivatives,r.enabled=i.enabled,r.kernelRadius=i.kernelRadius,r.intensity=i.intensity,r.bias=i.bias,r.scale=i.scale,r.minResolution=i.minResolution,r.numSamples=i.numSamples,r.blur=i.blur,r.blendCutoff=i.blendCutoff,r.blendFactor=i.blendFactor,r}return P(n,[{key:"supported",get:function(){return this._supported}},{key:"enabled",get:function(){return this._enabled},set:function(e){e=!!e,this._enabled!==e&&(this._enabled=e,this.glRedraw())}},{key:"possible",get:function(){if(!this._supported)return!1;if(!this._enabled)return!1;var e=this.scene.camera.projection;return"customProjection"!==e&&"frustum"!==e}},{key:"active",get:function(){return this._active}},{key:"kernelRadius",get:function(){return this._kernelRadius},set:function(e){null==e&&(e=100),this._kernelRadius!==e&&(this._kernelRadius=e,this.glRedraw())}},{key:"intensity",get:function(){return this._intensity},set:function(e){null==e&&(e=.15),this._intensity!==e&&(this._intensity=e,this.glRedraw())}},{key:"bias",get:function(){return this._bias},set:function(e){null==e&&(e=.5),this._bias!==e&&(this._bias=e,this.glRedraw())}},{key:"scale",get:function(){return this._scale},set:function(e){null==e&&(e=1),this._scale!==e&&(this._scale=e,this.glRedraw())}},{key:"minResolution",get:function(){return this._minResolution},set:function(e){null==e&&(e=0),this._minResolution!==e&&(this._minResolution=e,this.glRedraw())}},{key:"numSamples",get:function(){return this._numSamples},set:function(e){null==e&&(e=10),this._numSamples!==e&&(this._numSamples=e,this.glRedraw())}},{key:"blur",get:function(){return this._blur},set:function(e){e=!1!==e,this._blur!==e&&(this._blur=e,this.glRedraw())}},{key:"blendCutoff",get:function(){return this._blendCutoff},set:function(e){null==e&&(e=.3),this._blendCutoff!==e&&(this._blendCutoff=e,this.glRedraw())}},{key:"blendFactor",get:function(){return this._blendFactor},set:function(e){null==e&&(e=1),this._blendFactor!==e&&(this._blendFactor=e,this.glRedraw())}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),kn={default:{pointSize:4,roundPoints:!0,perspectivePoints:!0},square:{pointSize:4,roundPoints:!1,perspectivePoints:!0},round:{pointSize:4,roundPoints:!0,perspectivePoints:!0}},jn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"PointsMaterial",pointSize:null,roundPoints:null,perspectivePoints:null,minPerspectivePointSize:null,maxPerspectivePointSize:null,filterIntensity:null,minIntensity:null,maxIntensity:null}),i.preset?(r.preset=i.preset,void 0!==i.pointSize&&(r.pointSize=i.pointSize),void 0!==i.roundPoints&&(r.roundPoints=i.roundPoints),void 0!==i.perspectivePoints&&(r.perspectivePoints=i.perspectivePoints),void 0!==i.minPerspectivePointSize&&(r.minPerspectivePointSize=i.minPerspectivePointSize),void 0!==i.maxPerspectivePointSize&&(r.maxPerspectivePointSize=i.minPerspectivePointSize)):(r._preset="default",r.pointSize=i.pointSize,r.roundPoints=i.roundPoints,r.perspectivePoints=i.perspectivePoints,r.minPerspectivePointSize=i.minPerspectivePointSize,r.maxPerspectivePointSize=i.maxPerspectivePointSize),r.filterIntensity=i.filterIntensity,r.minIntensity=i.minIntensity,r.maxIntensity=i.maxIntensity,r}return P(n,[{key:"type",get:function(){return"PointsMaterial"}},{key:"presets",get:function(){return kn}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||2,this.glRedraw()}},{key:"roundPoints",get:function(){return this._state.roundPoints},set:function(e){e=!1!==e,this._state.roundPoints!==e&&(this._state.roundPoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"perspectivePoints",get:function(){return this._state.perspectivePoints},set:function(e){e=!1!==e,this._state.perspectivePoints!==e&&(this._state.perspectivePoints=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minPerspectivePointSize",get:function(){return this._state.minPerspectivePointSize},set:function(e){this._state.minPerspectivePointSize=e||1,this.scene._needRecompile=!0,this.glRedraw()}},{key:"maxPerspectivePointSize",get:function(){return this._state.maxPerspectivePointSize},set:function(e){this._state.maxPerspectivePointSize=e||6,this.scene._needRecompile=!0,this.glRedraw()}},{key:"filterIntensity",get:function(){return this._state.filterIntensity},set:function(e){e=!1!==e,this._state.filterIntensity!==e&&(this._state.filterIntensity=e,this.scene._needRecompile=!0,this.glRedraw())}},{key:"minIntensity",get:function(){return this._state.minIntensity},set:function(e){this._state.minIntensity=null!=e?e:0,this.glRedraw()}},{key:"maxIntensity",get:function(){return this._state.maxIntensity},set:function(e){this._state.maxIntensity=null!=e?e:1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=kn[e];t?(this.pointSize=t.pointSize,this.roundPoints=t.roundPoints,this.perspectivePoints=t.perspectivePoints,this.minPerspectivePointSize=t.minPerspectivePointSize,this.maxPerspectivePointSize=t.maxPerspectivePointSize,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(kn).join(", "))}}},{key:"hash",get:function(){return[this.pointSize,this.roundPoints,this.perspectivePoints,this.minPerspectivePointSize,this.maxPerspectivePointSize,this.filterIntensity].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Vn={default:{lineWidth:1},thick:{lineWidth:2},thicker:{lineWidth:4}},Qn=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LinesMaterial",lineWidth:null}),i.preset?(r.preset=i.preset,void 0!==i.lineWidth&&(r.lineWidth=i.lineWidth)):(r._preset="default",r.lineWidth=i.lineWidth),r}return P(n,[{key:"type",get:function(){return"LinesMaterial"}},{key:"presets",get:function(){return Vn}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"preset",get:function(){return this._preset},set:function(e){if(e=e||"default",this._preset!==e){var t=Vn[e];t?(this.lineWidth=t.lineWidth,this._preset=e):this.error("unsupported preset: '"+e+"' - supported values are "+Object.keys(Vn).join(", "))}}},{key:"hash",get:function(){return[""+this.lineWidth].join(";")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Wn(e,t){for(var n,r,i={},a=0,s=t.length;a1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,null,i);var a=i.canvasElement||document.getElementById(i.canvasId);if(!(a instanceof HTMLCanvasElement))throw"Mandatory config expected: valid canvasId or canvasElement";r._tickifiedFunctions={};var s=!!i.transparent,o=!!i.alphaDepthMask;return r._aabbDirty=!0,r.viewer=e,r.occlusionTestCountdown=0,r.loading=0,r.startTime=(new Date).getTime(),r.models={},r.objects={},r._numObjects=0,r.visibleObjects={},r._numVisibleObjects=0,r.xrayedObjects={},r._numXRayedObjects=0,r.highlightedObjects={},r._numHighlightedObjects=0,r.selectedObjects={},r._numSelectedObjects=0,r.colorizedObjects={},r._numColorizedObjects=0,r.opacityObjects={},r._numOpacityObjects=0,r.offsetObjects={},r._numOffsetObjects=0,r._modelIds=null,r._objectIds=null,r._visibleObjectIds=null,r._xrayedObjectIds=null,r._highlightedObjectIds=null,r._selectedObjectIds=null,r._colorizedObjectIds=null,r._opacityObjectIds=null,r._offsetObjectIds=null,r._collidables={},r._compilables={},r._needRecompile=!1,r.types={},r.components={},r.sectionPlanes={},r.lights={},r.lightMaps={},r.reflectionMaps={},r.bitmaps={},r.lineSets={},r.realWorldOffset=i.realWorldOffset||new Float64Array([0,0,0]),r.canvas=new pt(g(r),{dontClear:!0,canvas:a,spinnerElementId:i.spinnerElementId,transparent:s,webgl2:!1!==i.webgl2,contextAttr:i.contextAttr||{},backgroundColor:i.backgroundColor,backgroundColorFromAmbientLight:i.backgroundColorFromAmbientLight,premultipliedAlpha:i.premultipliedAlpha}),r.canvas.on("boundary",(function(){r.glRedraw()})),r.canvas.on("webglContextFailed",(function(){alert("xeokit failed to find WebGL!")})),r._renderer=new jt(g(r),{transparent:s,alphaDepthMask:o}),r._sectionPlanesState=new function(){this.sectionPlanes=[],this.clippingCaps=!1,this._numCachedSectionPlanes=0;var e=null;this.getHash=function(){if(e)return e;var t=this.getNumAllocatedSectionPlanes();if(this.sectionPlanes,0===t)return this.hash=";";for(var n=[],r=0,i=t;rthis._numCachedSectionPlanes?e:this._numCachedSectionPlanes}},r._sectionPlanesState.setNumCachedSectionPlanes(i.numCachedSectionPlanes||0),r._lightsState=new function(){var e=$.vec4([0,0,0,0]),t=$.vec4();this.lights=[],this.reflectionMaps=[],this.lightMaps=[];var n=null,r=null;this.getHash=function(){if(n)return n;for(var e,t=[],r=this.lights,i=0,a=r.length;i0&&t.push("/lm"),this.reflectionMaps.length>0&&t.push("/rm"),t.push(";"),n=t.join("")},this.addLight=function(e){this.lights.push(e),r=null,n=null},this.removeLight=function(e){for(var t=0,i=this.lights.length;t1&&void 0!==arguments[1])||arguments[1];e.visible?(this.visibleObjects[e.id]=e,this._numVisibleObjects++):(delete this.visibleObjects[e.id],this._numVisibleObjects--),this._visibleObjectIds=null,t&&this.fire("objectVisibility",e,!0)}},{key:"_objectXRayedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.xrayed?(this.xrayedObjects[e.id]=e,this._numXRayedObjects++):(delete this.xrayedObjects[e.id],this._numXRayedObjects--),this._xrayedObjectIds=null,t&&this.fire("objectXRayed",e,!0)}},{key:"_objectHighlightedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.highlighted?(this.highlightedObjects[e.id]=e,this._numHighlightedObjects++):(delete this.highlightedObjects[e.id],this._numHighlightedObjects--),this._highlightedObjectIds=null,t&&this.fire("objectHighlighted",e,!0)}},{key:"_objectSelectedUpdated",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];e.selected?(this.selectedObjects[e.id]=e,this._numSelectedObjects++):(delete this.selectedObjects[e.id],this._numSelectedObjects--),this._selectedObjectIds=null,t&&this.fire("objectSelected",e,!0)}},{key:"_objectColorizeUpdated",value:function(e,t){t?(this.colorizedObjects[e.id]=e,this._numColorizedObjects++):(delete this.colorizedObjects[e.id],this._numColorizedObjects--),this._colorizedObjectIds=null}},{key:"_objectOpacityUpdated",value:function(e,t){t?(this.opacityObjects[e.id]=e,this._numOpacityObjects++):(delete this.opacityObjects[e.id],this._numOpacityObjects--),this._opacityObjectIds=null}},{key:"_objectOffsetUpdated",value:function(e,t){!t||0===t[0]&&0===t[1]&&0===t[2]?(this.offsetObjects[e.id]=e,this._numOffsetObjects++):(delete this.offsetObjects[e.id],this._numOffsetObjects--),this._offsetObjectIds=null}},{key:"_webglContextLost",value:function(){for(var e in this.canvas.spinner.processes++,this.components)if(this.components.hasOwnProperty(e)){var t=this.components[e];t._webglContextLost&&t._webglContextLost()}this._renderer.webglContextLost()}},{key:"_webglContextRestored",value:function(){var e=this.canvas.gl;for(var t in this.components)if(this.components.hasOwnProperty(t)){var n=this.components[t];n._webglContextRestored&&n._webglContextRestored(e)}this._renderer.webglContextRestored(e),this.canvas.spinner.processes--}},{key:"capabilities",get:function(){return this._renderer.capabilities}},{key:"entityOffsetsEnabled",get:function(){return this._entityOffsetsEnabled}},{key:"pickSurfacePrecisionEnabled",get:function(){return!1}},{key:"logarithmicDepthBufferEnabled",get:function(){return this._logarithmicDepthBufferEnabled}},{key:"numCachedSectionPlanes",get:function(){return this._sectionPlanesState.getNumCachedSectionPlanes()},set:function(e){e=e||0,this._sectionPlanesState.getNumCachedSectionPlanes()!==e&&(this._sectionPlanesState.setNumCachedSectionPlanes(e),this._needRecompile=!0,this.glRedraw())}},{key:"pbrEnabled",get:function(){return this._pbrEnabled},set:function(e){this._pbrEnabled=!!e,this.glRedraw()}},{key:"dtxEnabled",get:function(){return this._dtxEnabled},set:function(e){e=!!e,this._dtxEnabled!==e&&(this._dtxEnabled=e)}},{key:"colorTextureEnabled",get:function(){return this._colorTextureEnabled},set:function(e){this._colorTextureEnabled=!!e,this.glRedraw()}},{key:"doOcclusionTest",value:function(){this._needRecompile&&(this._recompile(),this._needRecompile=!1),this._renderer.doOcclusionTest()}},{key:"render",value:function(e){e&&he.runTasks();var t={sceneId:null,pass:0};if(this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),e||this._renderer.needsRender()){t.sceneId=this.id;var n,r,i=this._passes,a=this._clearEachPass;for(n=0;na&&(a=e[3]),e[4]>s&&(s=e[4]),e[5]>o&&(o=e[5]),u=!0}u||(n=-100,r=-100,i=-100,a=100,s=100,o=100),this._aabb[0]=n,this._aabb[1]=r,this._aabb[2]=i,this._aabb[3]=a,this._aabb[4]=s,this._aabb[5]=o,this._aabbDirty=!1}return this._aabb}},{key:"_setAABBDirty",value:function(){this._aabbDirty=!0,this.fire("boundary")}},{key:"pick",value:function(e,t){if(0===this.canvas.boundary[2]||0===this.canvas.boundary[3])return this.error("Picking not allowed while canvas has zero width or height"),null;(e=e||{}).pickSurface=e.pickSurface||e.rayPick,e.canvasPos||e.matrix||e.origin&&e.direction||this.warn("picking without canvasPos, matrix, or ray origin and direction");var n=e.includeEntities||e.include;n&&(e.includeEntityIds=Wn(this,n));var r=e.excludeEntities||e.exclude;return r&&(e.excludeEntityIds=Wn(this,r)),this._needRecompile&&(this._recompile(),this._renderer.imageDirty(),this._needRecompile=!1),(t=e.snapToEdge||e.snapToVertex?this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge,t):this._renderer.pick(e,t))&&t.entity&&t.entity.fire&&t.entity.fire("picked",t),t}},{key:"snapPick",value:function(e){return void 0===this._warnSnapPickDeprecated&&(this._warnSnapPickDeprecated=!0,this.warn("Scene.snapPick() is deprecated since v2.4.2 - use Scene.pick() instead")),this._renderer.snapPick(e.canvasPos,e.snapRadius||30,e.snapToVertex,e.snapToEdge)}},{key:"clear",value:function(){var e;for(var t in this.components)this.components.hasOwnProperty(t)&&((e=this.components[t])._dontClear||e.destroy())}},{key:"clearLights",value:function(){for(var e=Object.keys(this.lights),t=0,n=e.length;ts&&(s=t[3]),t[4]>o&&(o=t[4]),t[5]>l&&(l=t[5]),n=!0}})),n){var u=$.AABB3();return u[0]=r,u[1]=i,u[2]=a,u[3]=s,u[4]=o,u[5]=l,u}return this.aabb}},{key:"setObjectsVisible",value:function(e,t){return this.withObjects(e,(function(e){var n=e.visible!==t;return e.visible=t,n}))}},{key:"setObjectsCollidable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.collidable!==t;return e.collidable=t,n}))}},{key:"setObjectsCulled",value:function(e,t){return this.withObjects(e,(function(e){var n=e.culled!==t;return e.culled=t,n}))}},{key:"setObjectsSelected",value:function(e,t){return this.withObjects(e,(function(e){var n=e.selected!==t;return e.selected=t,n}))}},{key:"setObjectsHighlighted",value:function(e,t){return this.withObjects(e,(function(e){var n=e.highlighted!==t;return e.highlighted=t,n}))}},{key:"setObjectsXRayed",value:function(e,t){return this.withObjects(e,(function(e){var n=e.xrayed!==t;return e.xrayed=t,n}))}},{key:"setObjectsEdges",value:function(e,t){return this.withObjects(e,(function(e){var n=e.edges!==t;return e.edges=t,n}))}},{key:"setObjectsColorized",value:function(e,t){return this.withObjects(e,(function(e){e.colorize=t}))}},{key:"setObjectsOpacity",value:function(e,t){return this.withObjects(e,(function(e){var n=e.opacity!==t;return e.opacity=t,n}))}},{key:"setObjectsPickable",value:function(e,t){return this.withObjects(e,(function(e){var n=e.pickable!==t;return e.pickable=t,n}))}},{key:"setObjectsOffset",value:function(e,t){this.withObjects(e,(function(e){e.offset=t}))}},{key:"withObjects",value:function(e,t){le.isString(e)&&(e=[e]);for(var n=!1,r=0,i=e.length;rr&&(r=i,e.apply(void 0,c(n)))}));return this._tickifiedFunctions[t]={tickSubId:s,wrapperFunc:a},a}},{key:"destroy",value:function(){for(var e in v(E(n.prototype),"destroy",this).call(this),this.components)this.components.hasOwnProperty(e)&&this.components[e].destroy();this.canvas.gl=null,this.components=null,this.models=null,this.objects=null,this.visibleObjects=null,this.xrayedObjects=null,this.highlightedObjects=null,this.selectedObjects=null,this.colorizedObjects=null,this.opacityObjects=null,this.sectionPlanes=null,this.lights=null,this.lightMaps=null,this.reflectionMaps=null,this._objectIds=null,this._visibleObjectIds=null,this._xrayedObjectIds=null,this._highlightedObjectIds=null,this._selectedObjectIds=null,this._colorizedObjectIds=null,this.types=null,this.components=null,this.canvas=null,this._renderer=null,this.input=null,this._viewport=null,this._camera=null}}]),n}(),Kn=1e3,Yn=1001,Xn=1002,qn=1003,Jn=1004,Zn=1004,$n=1005,er=1005,tr=1006,nr=1007,rr=1007,ir=1008,ar=1008,sr=1009,or=1010,lr=1011,ur=1012,cr=1013,fr=1014,pr=1015,Ar=1016,dr=1017,vr=1018,hr=1020,Ir=1021,yr=1022,mr=1023,wr=1024,gr=1025,Er=1026,Tr=1027,br=1028,Dr=1029,Pr=1030,Rr=1031,Cr=1033,_r=33776,Br=33777,Or=33778,Sr=33779,Nr=35840,Lr=35841,Mr=35842,xr=35843,Fr=36196,Hr=37492,Ur=37496,Gr=37808,kr=37809,jr=37810,Vr=37811,Qr=37812,Wr=37813,zr=37814,Kr=37815,Yr=37816,Xr=37817,qr=37818,Jr=37819,Zr=37820,$r=37821,ei=36492,ti=3e3,ni=3001,ri=1e4,ii=10001,ai=10002,si=10003,oi=function(e){"LambertMaterial"===e._material._state.type?(this.vertex=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene._lightsState,i=e._geometry._state,a=e._state.billboard,s=e._state.stationary,o=n.getNumAllocatedSectionPlanes()>0,l=!!i.compressGeometry,u=[];u.push("#version 300 es"),u.push("// Lambertian drawing vertex shader"),u.push("in vec3 position;"),u.push("uniform mat4 modelMatrix;"),u.push("uniform mat4 viewMatrix;"),u.push("uniform mat4 projMatrix;"),u.push("uniform vec4 colorize;"),u.push("uniform vec3 offset;"),l&&u.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(u.push("uniform float logDepthBufFC;"),u.push("out float vFragDepth;"),u.push("bool isPerspectiveMatrix(mat4 m) {"),u.push(" return (m[2][3] == - 1.0);"),u.push("}"),u.push("out float isPerspective;"));o&&u.push("out vec4 vWorldPosition;");if(u.push("uniform vec4 lightAmbient;"),u.push("uniform vec4 materialColor;"),u.push("uniform vec3 materialEmissive;"),i.normalsBuf){u.push("in vec3 normal;"),u.push("uniform mat4 modelNormalMatrix;"),u.push("uniform mat4 viewNormalMatrix;");for(var c=0,f=r.lights.length;c= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),u.push(" }"),u.push(" return normalize(v);"),u.push("}"))}u.push("out vec4 vColor;"),"points"===i.primitiveName&&u.push("uniform float pointSize;");"spherical"!==a&&"cylindrical"!==a||(u.push("void billboard(inout mat4 mat) {"),u.push(" mat[0][0] = 1.0;"),u.push(" mat[0][1] = 0.0;"),u.push(" mat[0][2] = 0.0;"),"spherical"===a&&(u.push(" mat[1][0] = 0.0;"),u.push(" mat[1][1] = 1.0;"),u.push(" mat[1][2] = 0.0;")),u.push(" mat[2][0] = 0.0;"),u.push(" mat[2][1] = 0.0;"),u.push(" mat[2][2] =1.0;"),u.push("}"));u.push("void main(void) {"),u.push("vec4 localPosition = vec4(position, 1.0); "),u.push("vec4 worldPosition;"),l&&u.push("localPosition = positionsDecodeMatrix * localPosition;");i.normalsBuf&&(l?u.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):u.push("vec4 localNormal = vec4(normal, 0.0); "),u.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),u.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));u.push("mat4 viewMatrix2 = viewMatrix;"),u.push("mat4 modelMatrix2 = modelMatrix;"),s&&u.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===a||"cylindrical"===a?(u.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),u.push("billboard(modelMatrix2);"),u.push("billboard(viewMatrix2);"),u.push("billboard(modelViewMatrix);"),i.normalsBuf&&(u.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),u.push("billboard(modelNormalMatrix2);"),u.push("billboard(viewNormalMatrix2);"),u.push("billboard(modelViewNormalMatrix);")),u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(u.push("worldPosition = modelMatrix2 * localPosition;"),u.push("worldPosition.xyz = worldPosition.xyz + offset;"),u.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));i.normalsBuf&&u.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(u.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),u.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),u.push("float lambertian = 1.0;"),i.normalsBuf)for(var A=0,d=r.lights.length;A0,a=t.gammaOutput,s=[];s.push("#version 300 es"),s.push("// Lambertian drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),t.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;"));if(i){s.push("in vec4 vWorldPosition;"),s.push("uniform bool clippable;");for(var o=0,l=n.getNumAllocatedSectionPlanes();o 0.0) { discard; }"),s.push("}")}"points"===r.primitiveName&&(s.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),s.push("float r = dot(cxy, cxy);"),s.push("if (r > 1.0) {"),s.push(" discard;"),s.push("}"));t.logarithmicDepthBufferEnabled&&s.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");a?s.push("outColor = linearToGamma(vColor, gammaFactor);"):s.push("outColor = vColor;");return s.push("}"),s}(e)):(this.vertex=function(e){var t=e.scene;e._material;var n,r=e._state,i=t._sectionPlanesState,a=e._geometry._state,s=t._lightsState,o=r.billboard,l=r.background,u=r.stationary,c=function(e){if(!e._geometry._state.uvBuf)return!1;var t=e._material;return!!(t._ambientMap||t._occlusionMap||t._baseColorMap||t._diffuseMap||t._alphaMap||t._specularMap||t._glossinessMap||t._specularGlossinessMap||t._emissiveMap||t._metallicMap||t._roughnessMap||t._metallicRoughnessMap||t._reflectivityMap||t._normalMap)}(e),f=ci(e),p=i.getNumAllocatedSectionPlanes()>0,A=ui(e),d=!!a.compressGeometry,v=[];v.push("#version 300 es"),v.push("// Drawing vertex shader"),v.push("in vec3 position;"),d&&v.push("uniform mat4 positionsDecodeMatrix;");v.push("uniform mat4 modelMatrix;"),v.push("uniform mat4 viewMatrix;"),v.push("uniform mat4 projMatrix;"),v.push("out vec3 vViewPosition;"),v.push("uniform vec3 offset;"),p&&v.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(v.push("uniform float logDepthBufFC;"),v.push("out float vFragDepth;"),v.push("bool isPerspectiveMatrix(mat4 m) {"),v.push(" return (m[2][3] == - 1.0);"),v.push("}"),v.push("out float isPerspective;"));s.lightMaps.length>0&&v.push("out vec3 vWorldNormal;");if(f){v.push("in vec3 normal;"),v.push("uniform mat4 modelNormalMatrix;"),v.push("uniform mat4 viewNormalMatrix;"),v.push("out vec3 vViewNormal;");for(var h=0,I=s.lights.length;h= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),v.push(" }"),v.push(" return normalize(v);"),v.push("}"))}c&&(v.push("in vec2 uv;"),v.push("out vec2 vUV;"),d&&v.push("uniform mat3 uvDecodeMatrix;"));a.colors&&(v.push("in vec4 color;"),v.push("out vec4 vColor;"));"points"===a.primitiveName&&v.push("uniform float pointSize;");"spherical"!==o&&"cylindrical"!==o||(v.push("void billboard(inout mat4 mat) {"),v.push(" mat[0][0] = 1.0;"),v.push(" mat[0][1] = 0.0;"),v.push(" mat[0][2] = 0.0;"),"spherical"===o&&(v.push(" mat[1][0] = 0.0;"),v.push(" mat[1][1] = 1.0;"),v.push(" mat[1][2] = 0.0;")),v.push(" mat[2][0] = 0.0;"),v.push(" mat[2][1] = 0.0;"),v.push(" mat[2][2] =1.0;"),v.push("}"));if(A){v.push("const mat4 texUnitConverter = mat4(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);");for(var y=0,m=s.lights.length;y0&&v.push("vWorldNormal = worldNormal;"),v.push("vViewNormal = normalize((viewNormalMatrix2 * vec4(worldNormal, 1.0)).xyz);"),v.push("vec3 tmpVec3;"),v.push("float lightDist;");for(var w=0,g=s.lights.length;w0,l=ci(e),u=r.uvBuf,c="PhongMaterial"===s.type,f="MetallicMaterial"===s.type,p="SpecularMaterial"===s.type,A=ui(e);t.gammaInput;var d=t.gammaOutput,v=[];v.push("#version 300 es"),v.push("// Drawing fragment shader"),v.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),v.push("precision highp float;"),v.push("precision highp int;"),v.push("#else"),v.push("precision mediump float;"),v.push("precision mediump int;"),v.push("#endif"),t.logarithmicDepthBufferEnabled&&(v.push("in float isPerspective;"),v.push("uniform float logDepthBufFC;"),v.push("in float vFragDepth;"));A&&(v.push("float unpackDepth (vec4 color) {"),v.push(" const vec4 bitShift = vec4(1.0, 1.0/256.0, 1.0/(256.0 * 256.0), 1.0/(256.0*256.0*256.0));"),v.push(" return dot(color, bitShift);"),v.push("}"));v.push("uniform float gammaFactor;"),v.push("vec4 linearToLinear( in vec4 value ) {"),v.push(" return value;"),v.push("}"),v.push("vec4 sRGBToLinear( in vec4 value ) {"),v.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),v.push("}"),v.push("vec4 gammaToLinear( in vec4 value) {"),v.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),v.push("}"),d&&(v.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),v.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),v.push("}"));if(o){v.push("in vec4 vWorldPosition;"),v.push("uniform bool clippable;");for(var h=0;h0&&(v.push("uniform samplerCube lightMap;"),v.push("uniform mat4 viewNormalMatrix;")),a.reflectionMaps.length>0&&v.push("uniform samplerCube reflectionMap;"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("uniform mat4 viewMatrix;"),v.push("#define PI 3.14159265359"),v.push("#define RECIPROCAL_PI 0.31830988618"),v.push("#define RECIPROCAL_PI2 0.15915494"),v.push("#define EPSILON 1e-6"),v.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),v.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),v.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),v.push("}"),v.push("struct IncidentLight {"),v.push(" vec3 color;"),v.push(" vec3 direction;"),v.push("};"),v.push("struct ReflectedLight {"),v.push(" vec3 diffuse;"),v.push(" vec3 specular;"),v.push("};"),v.push("struct Geometry {"),v.push(" vec3 position;"),v.push(" vec3 viewNormal;"),v.push(" vec3 worldNormal;"),v.push(" vec3 viewEyeDir;"),v.push("};"),v.push("struct Material {"),v.push(" vec3 diffuseColor;"),v.push(" float specularRoughness;"),v.push(" vec3 specularColor;"),v.push(" float shine;"),v.push("};"),c&&((a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePhongLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = "+li[a.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" vec3 radiance = texture(reflectionMap, reflectVec).rgb * 0.2;"),v.push(" radiance *= PI;"),v.push(" reflectedLight.specular += radiance;")),v.push("}")),v.push("void computePhongLighting(const in IncidentLight directLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, directLight.direction));"),v.push(" vec3 irradiance = dotNL * directLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += directLight.color * material.specularColor * pow(max(dot(reflect(-directLight.direction, -geometry.viewNormal), geometry.viewEyeDir), 0.0), material.shine);"),v.push("}")),(f||p)&&(v.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),v.push(" float r = ggxRoughness + 0.0001;"),v.push(" return (2.0 / (r * r) - 2.0);"),v.push("}"),v.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),v.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),v.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),v.push("}"),a.reflectionMaps.length>0&&(v.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),v.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),v.push(" vec3 envMapColor = "+li[a.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),v.push(" return envMapColor;"),v.push("}")),v.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),v.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),v.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),v.push("}"),v.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" return 1.0 / ( gl * gv );"),v.push("}"),v.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),v.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),v.push(" return 0.5 / max( gv + gl, EPSILON );"),v.push("}"),v.push("float D_GGX(const in float alpha, const in float dotNH) {"),v.push(" float a2 = ( alpha * alpha );"),v.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),v.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float alpha = ( roughness * roughness );"),v.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),v.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),v.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),v.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),v.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),v.push(" vec3 F = F_Schlick( specularColor, dotLH );"),v.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),v.push(" float D = D_GGX( alpha, dotNH );"),v.push(" return F * (G * D);"),v.push("}"),v.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),v.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),v.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),v.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),v.push(" vec4 r = roughness * c0 + c1;"),v.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),v.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),v.push(" return specularColor * AB.x + AB.y;"),v.push("}"),(a.lightMaps.length>0||a.reflectionMaps.length>0)&&(v.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),a.lightMaps.length>0&&(v.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),v.push(" irradiance *= PI;"),v.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),a.reflectionMaps.length>0&&(v.push(" vec3 reflectVec = reflect(-geometry.viewEyeDir, geometry.viewNormal);"),v.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),v.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),v.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),v.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),v.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),v.push("}")),v.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),v.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),v.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),v.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),v.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),v.push("}")));v.push("in vec3 vViewPosition;"),r.colors&&v.push("in vec4 vColor;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._occlusionMap||n._alphaMap)&&v.push("in vec2 vUV;");l&&(a.lightMaps.length>0&&v.push("in vec3 vWorldNormal;"),v.push("in vec3 vViewNormal;"));s.ambient&&v.push("uniform vec3 materialAmbient;");s.baseColor&&v.push("uniform vec3 materialBaseColor;");void 0!==s.alpha&&null!==s.alpha&&v.push("uniform vec4 materialAlphaModeCutoff;");s.emissive&&v.push("uniform vec3 materialEmissive;");s.diffuse&&v.push("uniform vec3 materialDiffuse;");void 0!==s.glossiness&&null!==s.glossiness&&v.push("uniform float materialGlossiness;");void 0!==s.shininess&&null!==s.shininess&&v.push("uniform float materialShininess;");s.specular&&v.push("uniform vec3 materialSpecular;");void 0!==s.metallic&&null!==s.metallic&&v.push("uniform float materialMetallic;");void 0!==s.roughness&&null!==s.roughness&&v.push("uniform float materialRoughness;");void 0!==s.specularF0&&null!==s.specularF0&&v.push("uniform float materialSpecularF0;");u&&n._ambientMap&&(v.push("uniform sampler2D ambientMap;"),n._ambientMap._state.matrix&&v.push("uniform mat4 ambientMapMatrix;"));u&&n._baseColorMap&&(v.push("uniform sampler2D baseColorMap;"),n._baseColorMap._state.matrix&&v.push("uniform mat4 baseColorMapMatrix;"));u&&n._diffuseMap&&(v.push("uniform sampler2D diffuseMap;"),n._diffuseMap._state.matrix&&v.push("uniform mat4 diffuseMapMatrix;"));u&&n._emissiveMap&&(v.push("uniform sampler2D emissiveMap;"),n._emissiveMap._state.matrix&&v.push("uniform mat4 emissiveMapMatrix;"));l&&u&&n._metallicMap&&(v.push("uniform sampler2D metallicMap;"),n._metallicMap._state.matrix&&v.push("uniform mat4 metallicMapMatrix;"));l&&u&&n._roughnessMap&&(v.push("uniform sampler2D roughnessMap;"),n._roughnessMap._state.matrix&&v.push("uniform mat4 roughnessMapMatrix;"));l&&u&&n._metallicRoughnessMap&&(v.push("uniform sampler2D metallicRoughnessMap;"),n._metallicRoughnessMap._state.matrix&&v.push("uniform mat4 metallicRoughnessMapMatrix;"));l&&n._normalMap&&(v.push("uniform sampler2D normalMap;"),n._normalMap._state.matrix&&v.push("uniform mat4 normalMapMatrix;"),v.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),v.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),v.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),v.push(" vec2 st0 = dFdx( uv.st );"),v.push(" vec2 st1 = dFdy( uv.st );"),v.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),v.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),v.push(" vec3 N = normalize( surf_norm );"),v.push(" vec3 mapN = texture( normalMap, uv ).xyz * 2.0 - 1.0;"),v.push(" mat3 tsn = mat3( S, T, N );"),v.push(" return normalize( tsn * mapN );"),v.push("}"));u&&n._occlusionMap&&(v.push("uniform sampler2D occlusionMap;"),n._occlusionMap._state.matrix&&v.push("uniform mat4 occlusionMapMatrix;"));u&&n._alphaMap&&(v.push("uniform sampler2D alphaMap;"),n._alphaMap._state.matrix&&v.push("uniform mat4 alphaMapMatrix;"));l&&u&&n._specularMap&&(v.push("uniform sampler2D specularMap;"),n._specularMap._state.matrix&&v.push("uniform mat4 specularMapMatrix;"));l&&u&&n._glossinessMap&&(v.push("uniform sampler2D glossinessMap;"),n._glossinessMap._state.matrix&&v.push("uniform mat4 glossinessMapMatrix;"));l&&u&&n._specularGlossinessMap&&(v.push("uniform sampler2D materialSpecularGlossinessMap;"),n._specularGlossinessMap._state.matrix&&v.push("uniform mat4 materialSpecularGlossinessMapMatrix;"));l&&(n._diffuseFresnel||n._specularFresnel||n._alphaFresnel||n._emissiveFresnel||n._reflectivityFresnel)&&(v.push("float fresnel(vec3 eyeDir, vec3 normal, float edgeBias, float centerBias, float power) {"),v.push(" float fr = abs(dot(eyeDir, normal));"),v.push(" float finalFr = clamp((fr - edgeBias) / (centerBias - edgeBias), 0.0, 1.0);"),v.push(" return pow(finalFr, power);"),v.push("}"),n._diffuseFresnel&&(v.push("uniform float diffuseFresnelCenterBias;"),v.push("uniform float diffuseFresnelEdgeBias;"),v.push("uniform float diffuseFresnelPower;"),v.push("uniform vec3 diffuseFresnelCenterColor;"),v.push("uniform vec3 diffuseFresnelEdgeColor;")),n._specularFresnel&&(v.push("uniform float specularFresnelCenterBias;"),v.push("uniform float specularFresnelEdgeBias;"),v.push("uniform float specularFresnelPower;"),v.push("uniform vec3 specularFresnelCenterColor;"),v.push("uniform vec3 specularFresnelEdgeColor;")),n._alphaFresnel&&(v.push("uniform float alphaFresnelCenterBias;"),v.push("uniform float alphaFresnelEdgeBias;"),v.push("uniform float alphaFresnelPower;"),v.push("uniform vec3 alphaFresnelCenterColor;"),v.push("uniform vec3 alphaFresnelEdgeColor;")),n._reflectivityFresnel&&(v.push("uniform float materialSpecularF0FresnelCenterBias;"),v.push("uniform float materialSpecularF0FresnelEdgeBias;"),v.push("uniform float materialSpecularF0FresnelPower;"),v.push("uniform vec3 materialSpecularF0FresnelCenterColor;"),v.push("uniform vec3 materialSpecularF0FresnelEdgeColor;")),n._emissiveFresnel&&(v.push("uniform float emissiveFresnelCenterBias;"),v.push("uniform float emissiveFresnelEdgeBias;"),v.push("uniform float emissiveFresnelPower;"),v.push("uniform vec3 emissiveFresnelCenterColor;"),v.push("uniform vec3 emissiveFresnelEdgeColor;")));if(v.push("uniform vec4 lightAmbient;"),l)for(var I=0,y=a.lights.length;I 0.0) { discard; }"),v.push("}")}"points"===r.primitiveName&&(v.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),v.push("float r = dot(cxy, cxy);"),v.push("if (r > 1.0) {"),v.push(" discard;"),v.push("}"));v.push("float occlusion = 1.0;"),s.ambient?v.push("vec3 ambientColor = materialAmbient;"):v.push("vec3 ambientColor = vec3(1.0, 1.0, 1.0);");s.diffuse?v.push("vec3 diffuseColor = materialDiffuse;"):s.baseColor?v.push("vec3 diffuseColor = materialBaseColor;"):v.push("vec3 diffuseColor = vec3(1.0, 1.0, 1.0);");r.colors&&v.push("diffuseColor *= vColor.rgb;");s.emissive?v.push("vec3 emissiveColor = materialEmissive;"):v.push("vec3 emissiveColor = vec3(0.0, 0.0, 0.0);");s.specular?v.push("vec3 specular = materialSpecular;"):v.push("vec3 specular = vec3(1.0, 1.0, 1.0);");void 0!==s.alpha?v.push("float alpha = materialAlphaModeCutoff[0];"):v.push("float alpha = 1.0;");r.colors&&v.push("alpha *= vColor.a;");void 0!==s.glossiness?v.push("float glossiness = materialGlossiness;"):v.push("float glossiness = 1.0;");void 0!==s.metallic?v.push("float metallic = materialMetallic;"):v.push("float metallic = 1.0;");void 0!==s.roughness?v.push("float roughness = materialRoughness;"):v.push("float roughness = 1.0;");void 0!==s.specularF0?v.push("float specularF0 = materialSpecularF0;"):v.push("float specularF0 = 1.0;");u&&(l&&n._normalMap||n._ambientMap||n._baseColorMap||n._diffuseMap||n._occlusionMap||n._emissiveMap||n._metallicMap||n._roughnessMap||n._metallicRoughnessMap||n._specularMap||n._glossinessMap||n._specularGlossinessMap||n._alphaMap)&&(v.push("vec4 texturePos = vec4(vUV.s, vUV.t, 1.0, 1.0);"),v.push("vec2 textureCoord;"));u&&n._ambientMap&&(n._ambientMap._state.matrix?v.push("textureCoord = (ambientMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 ambientTexel = texture(ambientMap, textureCoord).rgb;"),v.push("ambientTexel = "+li[n._ambientMap._state.encoding]+"(ambientTexel);"),v.push("ambientColor *= ambientTexel.rgb;"));u&&n._diffuseMap&&(n._diffuseMap._state.matrix?v.push("textureCoord = (diffuseMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 diffuseTexel = texture(diffuseMap, textureCoord);"),v.push("diffuseTexel = "+li[n._diffuseMap._state.encoding]+"(diffuseTexel);"),v.push("diffuseColor *= diffuseTexel.rgb;"),v.push("alpha *= diffuseTexel.a;"));u&&n._baseColorMap&&(n._baseColorMap._state.matrix?v.push("textureCoord = (baseColorMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 baseColorTexel = texture(baseColorMap, textureCoord);"),v.push("baseColorTexel = "+li[n._baseColorMap._state.encoding]+"(baseColorTexel);"),v.push("diffuseColor *= baseColorTexel.rgb;"),v.push("alpha *= baseColorTexel.a;"));u&&n._emissiveMap&&(n._emissiveMap._state.matrix?v.push("textureCoord = (emissiveMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 emissiveTexel = texture(emissiveMap, textureCoord);"),v.push("emissiveTexel = "+li[n._emissiveMap._state.encoding]+"(emissiveTexel);"),v.push("emissiveColor = emissiveTexel.rgb;"));u&&n._alphaMap&&(n._alphaMap._state.matrix?v.push("textureCoord = (alphaMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("alpha *= texture(alphaMap, textureCoord).r;"));u&&n._occlusionMap&&(n._occlusionMap._state.matrix?v.push("textureCoord = (occlusionMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("occlusion *= texture(occlusionMap, textureCoord).r;"));if(l&&(a.lights.length>0||a.lightMaps.length>0||a.reflectionMaps.length>0)){u&&n._normalMap?(n._normalMap._state.matrix?v.push("textureCoord = (normalMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition, normalize(vViewNormal), textureCoord );")):v.push("vec3 viewNormal = normalize(vViewNormal);"),u&&n._specularMap&&(n._specularMap._state.matrix?v.push("textureCoord = (specularMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("specular *= texture(specularMap, textureCoord).rgb;")),u&&n._glossinessMap&&(n._glossinessMap._state.matrix?v.push("textureCoord = (glossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("glossiness *= texture(glossinessMap, textureCoord).r;")),u&&n._specularGlossinessMap&&(n._specularGlossinessMap._state.matrix?v.push("textureCoord = (materialSpecularGlossinessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec4 specGlossRGB = texture(materialSpecularGlossinessMap, textureCoord).rgba;"),v.push("specular *= specGlossRGB.rgb;"),v.push("glossiness *= specGlossRGB.a;")),u&&n._metallicMap&&(n._metallicMap._state.matrix?v.push("textureCoord = (metallicMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("metallic *= texture(metallicMap, textureCoord).r;")),u&&n._roughnessMap&&(n._roughnessMap._state.matrix?v.push("textureCoord = (roughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("roughness *= texture(roughnessMap, textureCoord).r;")),u&&n._metallicRoughnessMap&&(n._metallicRoughnessMap._state.matrix?v.push("textureCoord = (metallicRoughnessMapMatrix * texturePos).xy;"):v.push("textureCoord = texturePos.xy;"),v.push("vec3 metalRoughRGB = texture(metallicRoughnessMap, textureCoord).rgb;"),v.push("metallic *= metalRoughRGB.b;"),v.push("roughness *= metalRoughRGB.g;")),v.push("vec3 viewEyeDir = normalize(-vViewPosition);"),n._diffuseFresnel&&(v.push("float diffuseFresnel = fresnel(viewEyeDir, viewNormal, diffuseFresnelEdgeBias, diffuseFresnelCenterBias, diffuseFresnelPower);"),v.push("diffuseColor *= mix(diffuseFresnelEdgeColor, diffuseFresnelCenterColor, diffuseFresnel);")),n._specularFresnel&&(v.push("float specularFresnel = fresnel(viewEyeDir, viewNormal, specularFresnelEdgeBias, specularFresnelCenterBias, specularFresnelPower);"),v.push("specular *= mix(specularFresnelEdgeColor, specularFresnelCenterColor, specularFresnel);")),n._alphaFresnel&&(v.push("float alphaFresnel = fresnel(viewEyeDir, viewNormal, alphaFresnelEdgeBias, alphaFresnelCenterBias, alphaFresnelPower);"),v.push("alpha *= mix(alphaFresnelEdgeColor.r, alphaFresnelCenterColor.r, alphaFresnel);")),n._emissiveFresnel&&(v.push("float emissiveFresnel = fresnel(viewEyeDir, viewNormal, emissiveFresnelEdgeBias, emissiveFresnelCenterBias, emissiveFresnelPower);"),v.push("emissiveColor *= mix(emissiveFresnelEdgeColor, emissiveFresnelCenterColor, emissiveFresnel);")),v.push("if (materialAlphaModeCutoff[1] == 1.0 && alpha < materialAlphaModeCutoff[2]) {"),v.push(" discard;"),v.push("}"),v.push("IncidentLight light;"),v.push("Material material;"),v.push("Geometry geometry;"),v.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),v.push("vec3 viewLightDir;"),c&&(v.push("material.diffuseColor = diffuseColor;"),v.push("material.specularColor = specular;"),v.push("material.shine = materialShininess;")),p&&(v.push("float oneMinusSpecularStrength = 1.0 - max(max(specular.r, specular.g ),specular.b);"),v.push("material.diffuseColor = diffuseColor * oneMinusSpecularStrength;"),v.push("material.specularRoughness = clamp( 1.0 - glossiness, 0.04, 1.0 );"),v.push("material.specularColor = specular;")),f&&(v.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),v.push("material.diffuseColor = diffuseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),v.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),v.push("material.specularColor = mix(vec3(dielectricSpecular), diffuseColor, metallic);")),v.push("geometry.position = vViewPosition;"),a.lightMaps.length>0&&v.push("geometry.worldNormal = normalize(vWorldNormal);"),v.push("geometry.viewNormal = viewNormal;"),v.push("geometry.viewEyeDir = viewEyeDir;"),c&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePhongLightMapping(geometry, material, reflectedLight);"),(p||f)&&(a.lightMaps.length>0||a.reflectionMaps.length>0)&&v.push("computePBRLightMapping(geometry, material, reflectedLight);"),v.push("float shadow = 1.0;"),v.push("float shadowAcneRemover = 0.007;"),v.push("vec3 fragmentDepth;"),v.push("float texelSize = 1.0 / 1024.0;"),v.push("float amountInLight = 0.0;"),v.push("vec3 shadowCoord;"),v.push("vec4 rgbaDepth;"),v.push("float depth;");for(var E=0,T=a.lights.length;E0)for(var v=r._sectionPlanesState.sectionPlanes,h=t.renderFlags,I=0;I0&&(this._uLightMap="lightMap"),i.reflectionMaps.length>0&&(this._uReflectionMap="reflectionMap"),this._uSectionPlanes=[];for(c=0,f=a.sectionPlanes.length;c0&&a.lightMaps[0].texture&&this._uLightMap&&(o.bindTexture(this._uLightMap,a.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),a.reflectionMaps.length>0&&a.reflectionMaps[0].texture&&this._uReflectionMap&&(o.bindTexture(this._uReflectionMap,a.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%n,e.bindTexture++),this._uGammaFactor&&i.uniform1f(this._uGammaFactor,r.gammaFactor),this._baseTextureUnit=e.textureUnit};var vi=P((function e(t){b(this,e),this.vertex=function(e){var t=e.scene,n=t._lightsState,r=function(e){var t=e._geometry._state.primitiveName;if((e._geometry._state.autoVertexNormals||e._geometry._state.normalsBuf)&&("triangles"===t||"triangle-strip"===t||"triangle-fan"===t))return!0;return!1}(e),i=t._sectionPlanesState.sectionPlanes.length>0,a=!!e._geometry._state.compressGeometry,s=e._state.billboard,o=e._state.stationary,l=[];l.push("#version 300 es"),l.push("// EmphasisFillShaderSource vertex shader"),l.push("in vec3 position;"),l.push("uniform mat4 modelMatrix;"),l.push("uniform mat4 viewMatrix;"),l.push("uniform mat4 projMatrix;"),l.push("uniform vec4 colorize;"),l.push("uniform vec3 offset;"),a&&l.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(l.push("uniform float logDepthBufFC;"),l.push("out float vFragDepth;"),l.push("bool isPerspectiveMatrix(mat4 m) {"),l.push(" return (m[2][3] == - 1.0);"),l.push("}"),l.push("out float isPerspective;"));i&&l.push("out vec4 vWorldPosition;");if(l.push("uniform vec4 lightAmbient;"),l.push("uniform vec4 fillColor;"),r){l.push("in vec3 normal;"),l.push("uniform mat4 modelNormalMatrix;"),l.push("uniform mat4 viewNormalMatrix;");for(var u=0,c=n.lights.length;u= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),l.push(" }"),l.push(" return normalize(v);"),l.push("}"))}l.push("out vec4 vColor;"),("spherical"===s||"cylindrical"===s)&&(l.push("void billboard(inout mat4 mat) {"),l.push(" mat[0][0] = 1.0;"),l.push(" mat[0][1] = 0.0;"),l.push(" mat[0][2] = 0.0;"),"spherical"===s&&(l.push(" mat[1][0] = 0.0;"),l.push(" mat[1][1] = 1.0;"),l.push(" mat[1][2] = 0.0;")),l.push(" mat[2][0] = 0.0;"),l.push(" mat[2][1] = 0.0;"),l.push(" mat[2][2] =1.0;"),l.push("}"));l.push("void main(void) {"),l.push("vec4 localPosition = vec4(position, 1.0); "),l.push("vec4 worldPosition;"),a&&l.push("localPosition = positionsDecodeMatrix * localPosition;");r&&(a?l.push("vec4 localNormal = vec4(octDecode(normal.xy), 0.0); "):l.push("vec4 localNormal = vec4(normal, 0.0); "),l.push("mat4 modelNormalMatrix2 = modelNormalMatrix;"),l.push("mat4 viewNormalMatrix2 = viewNormalMatrix;"));l.push("mat4 viewMatrix2 = viewMatrix;"),l.push("mat4 modelMatrix2 = modelMatrix;"),o&&l.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===s||"cylindrical"===s?(l.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),l.push("billboard(modelMatrix2);"),l.push("billboard(viewMatrix2);"),l.push("billboard(modelViewMatrix);"),r&&(l.push("mat4 modelViewNormalMatrix = viewNormalMatrix2 * modelNormalMatrix2;"),l.push("billboard(modelNormalMatrix2);"),l.push("billboard(viewNormalMatrix2);"),l.push("billboard(modelViewNormalMatrix);")),l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(l.push("worldPosition = modelMatrix2 * localPosition;"),l.push("worldPosition.xyz = worldPosition.xyz + offset;"),l.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));r&&l.push("vec3 viewNormal = normalize((viewNormalMatrix2 * modelNormalMatrix2 * localNormal).xyz);");if(l.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),l.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),l.push("float lambertian = 1.0;"),r)for(var p=0,A=n.lights.length;p0,a=[];a.push("#version 300 es"),a.push("// Lambertian drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}"points"===e._geometry._state.primitiveName&&(a.push("vec2 cxy = 2.0 * gl_PointCoord - 1.0;"),a.push("float r = dot(cxy, cxy);"),a.push("if (r > 1.0) {"),a.push(" discard;"),a.push("}"));t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var hi=new G({}),Ii=$.vec3(),yi=function(e,t){this.id=hi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new vi(t),this._allocate(t)},mi={};yi.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.normalsBuf?"n":"",e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=mi[t];return n||(n=new yi(t,e),mi[t]=n,re.memory.programs++),n._useCount++,n},yi.prototype.put=function(){0==--this._useCount&&(hi.removeItem(this.id),this._program&&this._program.destroy(),delete mi[this._hash],re.memory.programs--)},yi.prototype.webglContextRestored=function(){this._program=null},yi.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r=this._scene,i=r.camera,a=r.canvas.gl,s=0===n?t._xrayMaterial._state:1===n?t._highlightMaterial._state:t._selectedMaterial._state,o=t._state,l=t._geometry._state,u=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),a.uniformMatrix4fv(this._uViewMatrix,!1,u?e.getRTCViewMatrix(o.originHash,u):i.viewMatrix),a.uniformMatrix4fv(this._uViewNormalMatrix,!1,i.viewNormalMatrix),o.clippable){var c=r._sectionPlanesState.getNumAllocatedSectionPlanes(),f=r._sectionPlanesState.sectionPlanes.length;if(c>0)for(var p=r._sectionPlanesState.sectionPlanes,A=t.renderFlags,d=0;d0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Edges drawing vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec4 edgeColor;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));n&&s.push("out vec4 vWorldPosition;");s.push("out vec4 vColor;"),("spherical"===i||"cylindrical"===i)&&(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));s.push("vColor = edgeColor;"),n&&s.push("vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=e.scene._sectionPlanesState,r=e.scene.gammaOutput,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Edges drawing fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),t.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;"));r&&(a.push("uniform float gammaFactor;"),a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}"));if(i){a.push("in vec4 vWorldPosition;"),a.push("uniform bool clippable;");for(var s=0,o=n.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),a.push("}")}t.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");r?a.push("outColor = linearToGamma(vColor, gammaFactor);"):a.push("outColor = vColor;");return a.push("}"),a}(t)}));var gi=new G({}),Ei=$.vec3(),Ti=function(e,t){this.id=gi.addItem({}),this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new wi(t),this._allocate(t)},bi={};Ti.get=function(e){var t=[e.scene.id,e.scene.gammaOutput?"go":"",e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=bi[t];return n||(n=new Ti(t,e),bi[t]=n,re.memory.programs++),n._useCount++,n},Ti.prototype.put=function(){0==--this._useCount&&(gi.removeItem(this.id),this._program&&this._program.destroy(),delete bi[this._hash],re.memory.programs--)},Ti.prototype.webglContextRestored=function(){this._program=null},Ti.prototype.drawMesh=function(e,t,n){this._program||this._allocate(t);var r,i,a=this._scene,s=a.camera,o=a.canvas.gl,l=t._state,u=t._geometry,c=u._state,f=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),o.uniformMatrix4fv(this._uViewMatrix,!1,f?e.getRTCViewMatrix(l.originHash,f):s.viewMatrix),l.clippable){var p=a._sectionPlanesState.getNumAllocatedSectionPlanes(),A=a._sectionPlanesState.sectionPlanes.length;if(p>0)for(var d=a._sectionPlanesState.sectionPlanes,v=t.renderFlags,h=0;h0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh picking vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("out vec4 vViewPosition;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("uniform vec2 pickClipPos;"),s.push("vec4 remapClipPos(vec4 clipPos) {"),s.push(" clipPos.xy /= clipPos.w;"),s.push(" clipPos.xy -= pickClipPos;"),s.push(" clipPos.xy *= clipPos.w;"),s.push(" return clipPos;"),s.push("}"),s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"!==i&&"cylindrical"!==i||(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"));s.push(" vec4 worldPosition = modelMatrix2 * localPosition;"),s.push(" worldPosition.xyz = worldPosition.xyz + offset;"),s.push(" vec4 viewPosition = viewMatrix2 * worldPosition;"),n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = remapClipPos(clipPos);"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(i.push("uniform vec4 pickColor;"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = pickColor; "),i.push("}"),i}(t)}));var Pi=$.vec3(),Ri=function(e,t){this._hash=e,this._shaderSource=new Di(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ci={};Ri.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),n=Ci[t];if(!n){if((n=new Ri(t,e)).errors)return console.log(n.errors.join("\n")),null;Ci[t]=n,re.memory.programs++}return n._useCount++,n},Ri.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ci[this._hash],re.memory.programs--)},Ri.prototype.webglContextRestored=function(){this._program=null},Ri.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCPickViewMatrix(i.originHash,o):e.pickViewMatrix),i.clippable){var l=n._sectionPlanesState.getNumAllocatedSectionPlanes(),u=n._sectionPlanesState.sectionPlanes.length;if(l>0)for(var c=n._sectionPlanesState.sectionPlanes,f=t.renderFlags,p=0;p>24&255,g=m>>16&255,E=m>>8&255,T=255&m;r.uniform4f(this._uPickColor,T/255,E/255,g/255,w/255),r.uniform2fv(this._uPickClipPos,e.pickClipPos),s.indicesBuf?(r.drawElements(s.primitive,s.indicesBuf.numItems,s.indicesBuf.itemType,0),e.drawElements++):s.positions&&r.drawArrays(r.TRIANGLES,0,s.positions.numItems)},Ri.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uViewMatrix=r.getLocation("viewMatrix"),this._uProjMatrix=r.getLocation("projMatrix"),this._uSectionPlanes=[];for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0,r=!!e._geometry._state.compressGeometry,i=[];i.push("#version 300 es"),i.push("// Surface picking vertex shader"),i.push("in vec3 position;"),i.push("in vec4 color;"),i.push("uniform mat4 modelMatrix;"),i.push("uniform mat4 viewMatrix;"),i.push("uniform mat4 projMatrix;"),i.push("uniform vec3 offset;"),n&&(i.push("uniform bool clippable;"),i.push("out vec4 vWorldPosition;"));t.logarithmicDepthBufferEnabled&&(i.push("uniform float logDepthBufFC;"),i.push("out float vFragDepth;"),i.push("bool isPerspectiveMatrix(mat4 m) {"),i.push(" return (m[2][3] == - 1.0);"),i.push("}"),i.push("out float isPerspective;"));i.push("uniform vec2 pickClipPos;"),i.push("vec4 remapClipPos(vec4 clipPos) {"),i.push(" clipPos.xy /= clipPos.w;"),i.push(" clipPos.xy -= pickClipPos;"),i.push(" clipPos.xy *= clipPos.w;"),i.push(" return clipPos;"),i.push("}"),i.push("out vec4 vColor;"),r&&i.push("uniform mat4 positionsDecodeMatrix;");i.push("void main(void) {"),i.push("vec4 localPosition = vec4(position, 1.0); "),r&&i.push("localPosition = positionsDecodeMatrix * localPosition;");i.push(" vec4 worldPosition = modelMatrix * localPosition; "),i.push(" worldPosition.xyz = worldPosition.xyz + offset;"),i.push(" vec4 viewPosition = viewMatrix * worldPosition;"),n&&i.push(" vWorldPosition = worldPosition;");i.push(" vColor = color;"),i.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(i.push("vFragDepth = 1.0 + clipPos.w;"),i.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return i.push("gl_Position = remapClipPos(clipPos);"),i.push("}"),i}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Surface picking fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),i.push("in vec4 vColor;"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push(" outColor = vColor;"),i.push("}"),i}(t)}));var Bi=$.vec3(),Oi=function(e,t){this._hash=e,this._scene=t.scene,this._useCount=0,this._shaderSource=new _i(t),this._allocate(t)},Si={};Oi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.compressGeometry?"cp":"",e._state.hash].join(";"),n=Si[t];if(!n){if((n=new Oi(t,e)).errors)return console.log(n.errors.join("\n")),null;Si[t]=n,re.memory.programs++}return n._useCount++,n},Oi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Si[this._hash],re.memory.programs--)},Oi.prototype.webglContextRestored=function(){this._program=null},Oi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._state,a=t._material._state,s=t._geometry,o=t._geometry._state,l=t.origin,u=a.backfaces,c=a.frontface,f=n.camera.project,p=s._getPickTrianglePositions(),A=s._getPickTriangleColors();if(this._program.bind(),e.useProgram++,n.logarithmicDepthBufferEnabled){var d=2/(Math.log(f.far+1)/Math.LN2);r.uniform1f(this._uLogDepthBufFC,d)}if(r.uniformMatrix4fv(this._uViewMatrix,!1,l?e.getRTCPickViewMatrix(i.originHash,l):e.pickViewMatrix),i.clippable){var v=n._sectionPlanesState.getNumAllocatedSectionPlanes(),h=n._sectionPlanesState.sectionPlanes.length;if(v>0)for(var I=n._sectionPlanesState.sectionPlanes,y=t.renderFlags,m=0;m0,r=!!e._geometry._state.compressGeometry,i=e._state.billboard,a=e._state.stationary,s=[];s.push("#version 300 es"),s.push("// Mesh occlusion vertex shader"),s.push("in vec3 position;"),s.push("uniform mat4 modelMatrix;"),s.push("uniform mat4 viewMatrix;"),s.push("uniform mat4 projMatrix;"),s.push("uniform vec3 offset;"),r&&s.push("uniform mat4 positionsDecodeMatrix;");n&&s.push("out vec4 vWorldPosition;");t.logarithmicDepthBufferEnabled&&(s.push("uniform float logDepthBufFC;"),s.push("out float vFragDepth;"),s.push("bool isPerspectiveMatrix(mat4 m) {"),s.push(" return (m[2][3] == - 1.0);"),s.push("}"),s.push("out float isPerspective;"));"spherical"!==i&&"cylindrical"!==i||(s.push("void billboard(inout mat4 mat) {"),s.push(" mat[0][0] = 1.0;"),s.push(" mat[0][1] = 0.0;"),s.push(" mat[0][2] = 0.0;"),"spherical"===i&&(s.push(" mat[1][0] = 0.0;"),s.push(" mat[1][1] = 1.0;"),s.push(" mat[1][2] = 0.0;")),s.push(" mat[2][0] = 0.0;"),s.push(" mat[2][1] = 0.0;"),s.push(" mat[2][2] =1.0;"),s.push("}"));s.push("void main(void) {"),s.push("vec4 localPosition = vec4(position, 1.0); "),s.push("vec4 worldPosition;"),r&&s.push("localPosition = positionsDecodeMatrix * localPosition;");s.push("mat4 viewMatrix2 = viewMatrix;"),s.push("mat4 modelMatrix2 = modelMatrix;"),a&&s.push("viewMatrix2[3][0] = viewMatrix2[3][1] = viewMatrix2[3][2] = 0.0;");"spherical"===i||"cylindrical"===i?(s.push("mat4 modelViewMatrix = viewMatrix2 * modelMatrix2;"),s.push("billboard(modelMatrix2);"),s.push("billboard(viewMatrix2);"),s.push("billboard(modelViewMatrix);"),s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = modelViewMatrix * localPosition;")):(s.push("worldPosition = modelMatrix2 * localPosition;"),s.push("worldPosition.xyz = worldPosition.xyz + offset;"),s.push("vec4 viewPosition = viewMatrix2 * worldPosition; "));n&&s.push(" vWorldPosition = worldPosition;");s.push("vec4 clipPos = projMatrix * viewPosition;"),t.logarithmicDepthBufferEnabled&&(s.push("vFragDepth = 1.0 + clipPos.w;"),s.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"));return s.push("gl_Position = clipPos;"),s.push("}"),s}(t),this.fragment=function(e){var t=e.scene,n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];i.push("#version 300 es"),i.push("// Mesh occlusion fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),t.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;"));if(r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}i.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),t.logarithmicDepthBufferEnabled&&i.push("gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;");return i.push("}"),i}(t)}));var Li=$.vec3(),Mi=function(e,t){this._hash=e,this._shaderSource=new Ni(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},xi={};Mi.get=function(e){var t=[e.scene.canvas.canvas.id,e.scene._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.occlusionHash].join(";"),n=xi[t];if(!n){if((n=new Mi(t,e)).errors)return console.log(n.errors.join("\n")),null;xi[t]=n,re.memory.programs++}return n._useCount++,n},Mi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete xi[this._hash],re.memory.programs--)},Mi.prototype.webglContextRestored=function(){this._program=null},Mi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene,r=n.canvas.gl,i=t._material._state,a=t._state,s=t._geometry._state,o=t.origin;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),i.id!==this._lastMaterialId){var l=i.backfaces;e.backfaces!==l&&(l?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),e.backfaces=l);var u=i.frontface;e.frontface!==u&&(u?r.frontFace(r.CCW):r.frontFace(r.CW),e.frontface=u),this._lastMaterialId=i.id}var c=n.camera;if(r.uniformMatrix4fv(this._uViewMatrix,!1,o?e.getRTCViewMatrix(a.originHash,o):c.viewMatrix),a.clippable){var f=n._sectionPlanesState.getNumAllocatedSectionPlanes(),p=n._sectionPlanesState.sectionPlanes.length;if(f>0)for(var A=n._sectionPlanesState.sectionPlanes,d=t.renderFlags,v=0;v0,n=!!e._geometry._state.compressGeometry,r=[];r.push("// Mesh shadow vertex shader"),r.push("in vec3 position;"),r.push("uniform mat4 modelMatrix;"),r.push("uniform mat4 shadowViewMatrix;"),r.push("uniform mat4 shadowProjMatrix;"),r.push("uniform vec3 offset;"),n&&r.push("uniform mat4 positionsDecodeMatrix;");t&&r.push("out vec4 vWorldPosition;");r.push("void main(void) {"),r.push("vec4 localPosition = vec4(position, 1.0); "),r.push("vec4 worldPosition;"),n&&r.push("localPosition = positionsDecodeMatrix * localPosition;");r.push("worldPosition = modelMatrix * localPosition;"),r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&r.push("vWorldPosition = worldPosition;");return r.push(" gl_Position = shadowProjMatrix * viewPosition;"),r.push("}"),r}(t),this.fragment=function(e){var t=e.scene;t.canvas.gl;var n=t._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("// Mesh shadow fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),r){i.push("uniform bool clippable;"),i.push("in vec4 vWorldPosition;");for(var a=0;a 0.0) { discard; }"),i.push("}")}return i.push("outColor = encodeFloat(gl_FragCoord.z);"),i.push("}"),i}(t)}));var Hi=function(e,t){this._hash=e,this._shaderSource=new Fi(t),this._scene=t.scene,this._useCount=0,this._allocate(t)},Ui={};Hi.get=function(e){var t=e.scene,n=[t.canvas.canvas.id,t._sectionPlanesState.getHash(),e._geometry._state.hash,e._state.hash].join(";"),r=Ui[n];if(!r){if((r=new Hi(n,e)).errors)return console.log(r.errors.join("\n")),null;Ui[n]=r,re.memory.programs++}return r._useCount++,r},Hi.prototype.put=function(){0==--this._useCount&&(this._program&&this._program.destroy(),delete Ui[this._hash],re.memory.programs--)},Hi.prototype.webglContextRestored=function(){this._program=null},Hi.prototype.drawMesh=function(e,t){this._program||this._allocate(t);var n=this._scene.canvas.gl,r=t._material._state,i=t._geometry._state;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),r.id!==this._lastMaterialId){var a=r.backfaces;e.backfaces!==a&&(a?n.disable(n.CULL_FACE):n.enable(n.CULL_FACE),e.backfaces=a);var s=r.frontface;e.frontface!==s&&(s?n.frontFace(n.CCW):n.frontFace(n.CW),e.frontface=s),e.lineWidth!==r.lineWidth&&(n.lineWidth(r.lineWidth),e.lineWidth=r.lineWidth),this._uPointSize&&n.uniform1i(this._uPointSize,r.pointSize),this._lastMaterialId=r.id}if(n.uniformMatrix4fv(this._uModelMatrix,n.FALSE,t.worldMatrix),i.combineGeometry){var o=t.vertexBufs;o.id!==this._lastVertexBufsId&&(o.positionsBuf&&this._aPosition&&(this._aPosition.bindArrayBuffer(o.positionsBuf,o.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),this._lastVertexBufsId=o.id)}this._uClippable&&n.uniform1i(this._uClippable,t._state.clippable),n.uniform3fv(this._uOffset,t._state.offset),i.id!==this._lastGeometryId&&(this._uPositionsDecodeMatrix&&n.uniformMatrix4fv(this._uPositionsDecodeMatrix,!1,i.positionsDecodeMatrix),i.combineGeometry?i.indicesBufCombined&&(i.indicesBufCombined.bind(),e.bindArray++):(this._aPosition&&(this._aPosition.bindArrayBuffer(i.positionsBuf,i.compressGeometry?n.UNSIGNED_SHORT:n.FLOAT),e.bindArray++),i.indicesBuf&&(i.indicesBuf.bind(),e.bindArray++)),this._lastGeometryId=i.id),i.combineGeometry?i.indicesBufCombined&&(n.drawElements(i.primitive,i.indicesBufCombined.numItems,i.indicesBufCombined.itemType,0),e.drawElements++):i.indicesBuf?(n.drawElements(i.primitive,i.indicesBuf.numItems,i.indicesBuf.itemType,0),e.drawElements++):i.positions&&(n.drawArrays(n.TRIANGLES,0,i.positions.numItems),e.drawArrays++)},Hi.prototype._allocate=function(e){var t=e.scene,n=t.canvas.gl;if(this._program=new bt(n,this._shaderSource),this._scene=t,this._useCount=0,this._program.errors)this.errors=this._program.errors;else{var r=this._program;this._uPositionsDecodeMatrix=r.getLocation("positionsDecodeMatrix"),this._uModelMatrix=r.getLocation("modelMatrix"),this._uShadowViewMatrix=r.getLocation("shadowViewMatrix"),this._uShadowProjMatrix=r.getLocation("shadowProjMatrix"),this._uSectionPlanes={};for(var i=0,a=t._sectionPlanesState.sectionPlanes.length;i0)for(var i,a,s,o=0,l=this._uSectionPlanes.length;o1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).originalSystemId=i.originalSystemId||r.id,r.renderFlags=new Gi,r._state=new Wt({visible:!0,culled:!1,pickable:null,clippable:null,collidable:null,occluder:!1!==i.occluder,castsShadow:null,receivesShadow:null,xrayed:!1,highlighted:!1,selected:!1,edges:!1,stationary:!!i.stationary,background:!!i.background,billboard:r._checkBillboard(i.billboard),layer:null,colorize:null,pickID:r.scene._renderer.getPickID(g(r)),drawHash:"",pickHash:"",offset:$.vec3(),origin:null,originHash:null}),r._drawRenderer=null,r._shadowRenderer=null,r._emphasisFillRenderer=null,r._emphasisEdgesRenderer=null,r._pickMeshRenderer=null,r._pickTriangleRenderer=null,r._occlusionRenderer=null,r._geometry=i.geometry?r._checkComponent2(["ReadableGeometry","VBOGeometry"],i.geometry):r.scene.geometry,r._material=i.material?r._checkComponent2(["PhongMaterial","MetallicMaterial","SpecularMaterial","LambertMaterial"],i.material):r.scene.material,r._xrayMaterial=i.xrayMaterial?r._checkComponent("EmphasisMaterial",i.xrayMaterial):r.scene.xrayMaterial,r._highlightMaterial=i.highlightMaterial?r._checkComponent("EmphasisMaterial",i.highlightMaterial):r.scene.highlightMaterial,r._selectedMaterial=i.selectedMaterial?r._checkComponent("EmphasisMaterial",i.selectedMaterial):r.scene.selectedMaterial,r._edgeMaterial=i.edgeMaterial?r._checkComponent("EdgeMaterial",i.edgeMaterial):r.scene.edgeMaterial,r._parentNode=null,r._aabb=null,r._aabbDirty=!0,r._numTriangles=r._geometry?r._geometry.numTriangles:0,r.scene._aabbDirty=!0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._worldMatrix=$.identityMat4(),r._worldNormalMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,r._worldNormalMatrixDirty=!0;var a=i.origin||i.rtcCenter;if(a&&(r._state.origin=$.vec3(a),r._state.originHash=a.join()),i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.layer=i.layer,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.parentId){var s=r.scene.components[i.parentId];s?s.isNode?s.addChild(g(r)):r.error("Parent is not a Node: '"+i.parentId+"'"):r.error("Parent not found: '"+i.parentId+"'"),r._parentNode=s}else i.parent&&(i.parent.isNode||r.error("Parent is not a Node"),i.parent.addChild(g(r)),r._parentNode=i.parent);return r.compile(),r}return P(n,[{key:"type",get:function(){return"Mesh"}},{key:"isMesh",get:function(){return!0}},{key:"parent",get:function(){return this._parentNode}},{key:"geometry",get:function(){return this._geometry}},{key:"material",get:function(){return this._material}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this.__localMatrix||(this.__localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this.__localMatrix),this._localMatrixDirty=!1),this.__localMatrix},set:function(e){this.__localMatrix||(this.__localMatrix=$.identityMat4()),this.__localMatrix.set(e||qi),$.decomposeMat4(this.__localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._setWorldMatrixDirty(),this._setAABBDirty(),this.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"worldNormalMatrix",get:function(){return this._worldNormalMatrixDirty&&this._buildWorldNormalMatrix(),this._worldNormalMatrix}},{key:"isEntity",get:function(){return!0}},{key:"isModel",get:function(){return this._isModel}},{key:"isObject",get:function(){return this._isObject}},{key:"aabb",get:function(){return this._aabbDirty&&this._updateAABB(),this._aabb}},{key:"origin",get:function(){return this._state.origin},set:function(e){e?(this._state.origin||(this._state.origin=$.vec3()),this._state.origin.set(e),this._state.originHash=e.join(),this._setAABBDirty(),this.scene._aabbDirty=!0):this._state.origin&&(this._state.origin=null,this._state.originHash=null,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"rtcCenter",get:function(){return this.origin},set:function(e){this.origin=e}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"visible",get:function(){return this._state.visible},set:function(e){e=!1!==e,this._state.visible=e,this._isObject&&this.scene._objectVisibilityUpdated(this,e),this.glRedraw()}},{key:"xrayed",get:function(){return this._state.xrayed},set:function(e){e=!!e,this._state.xrayed!==e&&(this._state.xrayed=e,this._isObject&&this.scene._objectXRayedUpdated(this,e),this.glRedraw())}},{key:"highlighted",get:function(){return this._state.highlighted},set:function(e){(e=!!e)!==this._state.highlighted&&(this._state.highlighted=e,this._isObject&&this.scene._objectHighlightedUpdated(this,e),this.glRedraw())}},{key:"selected",get:function(){return this._state.selected},set:function(e){(e=!!e)!==this._state.selected&&(this._state.selected=e,this._isObject&&this.scene._objectSelectedUpdated(this,e),this.glRedraw())}},{key:"edges",get:function(){return this._state.edges},set:function(e){(e=!!e)!==this._state.edges&&(this._state.edges=e,this.glRedraw())}},{key:"culled",get:function(){return this._state.culled},set:function(e){this._state.culled=!!e,this.glRedraw()}},{key:"clippable",get:function(){return this._state.clippable},set:function(e){e=!1!==e,this._state.clippable!==e&&(this._state.clippable=e,this.glRedraw())}},{key:"collidable",get:function(){return this._state.collidable},set:function(e){(e=!1!==e)!==this._state.collidable&&(this._state.collidable=e,this._setAABBDirty(),this.scene._aabbDirty=!0)}},{key:"pickable",get:function(){return this._state.pickable},set:function(e){e=!1!==e,this._state.pickable!==e&&(this._state.pickable=e)}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){(e=!1!==e)!==this._state.castsShadow&&(this._state.castsShadow=e,this.glRedraw())}},{key:"receivesShadow",get:function(){return this._state.receivesShadow},set:function(e){(e=!1!==e)!==this._state.receivesShadow&&(this._state.receivesShadow=e,this._state.hash=e?"/mod/rs;":"/mod;",this.fire("dirty",this))}},{key:"saoEnabled",get:function(){return!1}},{key:"colorize",get:function(){return this._state.colorize},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[3]=1),e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1);var n=!!e;this.scene._objectColorizeUpdated(this,n),this.glRedraw()}},{key:"opacity",get:function(){return this._state.colorize[3]},set:function(e){var t=this._state.colorize;t||((t=this._state.colorize=new Float32Array(4))[0]=1,t[1]=1,t[2]=1);var n=null!=e;t[3]=n?e:1,this.scene._objectOpacityUpdated(this,n),this.glRedraw()}},{key:"transparent",get:function(){return 2===this._material.alphaMode||this._state.colorize[3]<1}},{key:"layer",get:function(){return this._state.layer},set:function(e){e=e||0,(e=Math.round(e))!==this._state.layer&&(this._state.layer=e,this._renderer.needStateSort())}},{key:"stationary",get:function(){return this._state.stationary}},{key:"billboard",get:function(){return this._state.billboard}},{key:"offset",get:function(){return this._state.offset},set:function(e){this._state.offset.set(e||[0,0,0]),this._setAABBDirty(),this.glRedraw()}},{key:"isDrawable",get:function(){return!0}},{key:"isStateSortable",get:function(){return!0}},{key:"xrayMaterial",get:function(){return this._xrayMaterial}},{key:"highlightMaterial",get:function(){return this._highlightMaterial}},{key:"selectedMaterial",get:function(){return this._selectedMaterial}},{key:"edgeMaterial",get:function(){return this._edgeMaterial}},{key:"_checkBillboard",value:function(e){return"spherical"!==(e=e||"none")&&"cylindrical"!==e&&"none"!==e&&(this.error("Unsupported value for 'billboard': "+e+" - accepted values are 'spherical', 'cylindrical' and 'none' - defaulting to 'none'."),e="none"),e}},{key:"compile",value:function(){var e=this._makeDrawHash();this._state.drawHash!==e&&(this._state.drawHash=e,this._putDrawRenderers(),this._drawRenderer=Ai.get(this),this._emphasisFillRenderer=yi.get(this),this._emphasisEdgesRenderer=Ti.get(this));var t=this._makePickHash();if(this._state.pickHash!==t&&(this._state.pickHash=t,this._putPickRenderers(),this._pickMeshRenderer=Ri.get(this)),this._state.occluder){var n=this._makeOcclusionHash();this._state.occlusionHash!==n&&(this._state.occlusionHash=n,this._putOcclusionRenderer(),this._occlusionRenderer=Mi.get(this))}}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._setWorldMatrixDirty()}},{key:"_setWorldMatrixDirty",value:function(){this._worldMatrixDirty=!0,this._worldNormalMatrixDirty=!0}},{key:"_buildWorldMatrix",value:function(){var e=this.matrix;if(this._parentNode)$.mulMat4(this._parentNode.worldMatrix,e,this._worldMatrix);else for(var t=0,n=e.length;t0)for(var n=0;n-1){var M=B.geometry._state,x=B.scene,F=x.camera,H=x.canvas;if("triangles"===M.primitiveName){N.primitive="triangle";var U,G,k,j=L,V=M.indices,Q=M.positions;if(V){var W=V[j+0],z=V[j+1],K=V[j+2];a[0]=W,a[1]=z,a[2]=K,N.indices=a,U=3*W,G=3*z,k=3*K}else k=(G=(U=3*j)+3)+3;if(n[0]=Q[U+0],n[1]=Q[U+1],n[2]=Q[U+2],r[0]=Q[G+0],r[1]=Q[G+1],r[2]=Q[G+2],i[0]=Q[k+0],i[1]=Q[k+1],i[2]=Q[k+2],M.compressGeometry){var Y=M.positionsDecodeMatrix;Y&&(Dn.decompressPosition(n,Y,n),Dn.decompressPosition(r,Y,r),Dn.decompressPosition(i,Y,i))}N.canvasPos?$.canvasPosToLocalRay(H.canvas,B.origin?Be(O,B.origin):O,S,B.worldMatrix,N.canvasPos,e,t):N.origin&&N.direction&&$.worldRayToLocalRay(B.worldMatrix,N.origin,N.direction,e,t),$.normalizeVec3(t),$.rayPlaneIntersect(e,t,n,r,i,s),N.localPos=s,N.position=s,h[0]=s[0],h[1]=s[1],h[2]=s[2],h[3]=1,$.transformVec4(B.worldMatrix,h,I),o[0]=I[0],o[1]=I[1],o[2]=I[2],N.canvasPos&&B.origin&&(o[0]+=B.origin[0],o[1]+=B.origin[1],o[2]+=B.origin[2]),N.worldPos=o,$.transformVec4(F.matrix,I,y),l[0]=y[0],l[1]=y[1],l[2]=y[2],N.viewPos=l,$.cartesianToBarycentric(s,n,r,i,u),N.bary=u;var X=M.normals;if(X){if(M.compressGeometry){var q=3*W,J=3*z,Z=3*K;Dn.decompressNormal(X.subarray(q,q+2),c),Dn.decompressNormal(X.subarray(J,J+2),f),Dn.decompressNormal(X.subarray(Z,Z+2),p)}else c[0]=X[U],c[1]=X[U+1],c[2]=X[U+2],f[0]=X[G],f[1]=X[G+1],f[2]=X[G+2],p[0]=X[k],p[1]=X[k+1],p[2]=X[k+2];var ee=$.addVec3($.addVec3($.mulVec3Scalar(c,u[0],m),$.mulVec3Scalar(f,u[1],w),g),$.mulVec3Scalar(p,u[2],E),T);N.worldNormal=$.normalizeVec3($.transformVec3(B.worldNormalMatrix,ee,b))}var te=M.uv;if(te){if(A[0]=te[2*W],A[1]=te[2*W+1],d[0]=te[2*z],d[1]=te[2*z+1],v[0]=te[2*K],v[1]=te[2*K+1],M.compressGeometry){var ne=M.uvDecodeMatrix;ne&&(Dn.decompressUV(A,ne,A),Dn.decompressUV(d,ne,d),Dn.decompressUV(v,ne,v))}N.uv=$.addVec3($.addVec3($.mulVec2Scalar(A,u[0],D),$.mulVec2Scalar(d,u[1],P),R),$.mulVec2Scalar(v,u[2],C),_)}}}}}();function $i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.radiusTop||1;t<0&&(console.error("negative radiusTop not allowed - will invert"),t*=-1);var n=e.radiusBottom||1;n<0&&(console.error("negative radiusBottom not allowed - will invert"),n*=-1);var r=e.height||1;r<0&&(console.error("negative height not allowed - will invert"),r*=-1);var i=e.radialSegments||32;i<0&&(console.error("negative radialSegments not allowed - will invert"),i*=-1),i<3&&(i=3);var a=e.heightSegments||1;a<0&&(console.error("negative heightSegments not allowed - will invert"),a*=-1),a<1&&(a=1);var s,o,l,u,c,f,p,A,d,v,h,I=!!e.openEnded,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=r/2,T=r/a,b=2*Math.PI/i,D=1/i,P=(t-n)/a,R=[],C=[],_=[],B=[],O=(90-180*Math.atan(r/(n-t))/Math.PI)/90;for(s=0;s<=a;s++)for(c=t-s*P,f=E-s*T,o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),C.push(c*l),C.push(O),C.push(c*u),_.push(o*D),_.push(1*s/a),R.push(c*l+m),R.push(f+w),R.push(c*u+g);for(s=0;s0){for(d=R.length/3,C.push(0),C.push(1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(t*l),C.push(1),C.push(t*u),_.push(v),_.push(h),R.push(t*l+m),R.push(E+w),R.push(t*u+g);for(o=0;o0){for(d=R.length/3,C.push(0),C.push(-1),C.push(0),_.push(.5),_.push(.5),R.push(0+m),R.push(0-E+w),R.push(0+g),o=0;o<=i;o++)l=Math.sin(o*b),u=Math.cos(o*b),v=.5*Math.sin(o*b)+.5,h=.5*Math.cos(o*b)+.5,C.push(n*l),C.push(-1),C.push(n*u),_.push(v),_.push(h),R.push(n*l+m),R.push(0-E+w),R.push(n*u+g);for(o=0;o0&&void 0!==arguments[0]?arguments[0]:{},t=e.lod||1,n=e.center?e.center[0]:0,r=e.center?e.center[1]:0,i=e.center?e.center[2]:0,a=e.radius||1;a<0&&(console.error("negative radius not allowed - will invert"),a*=-1);var s=e.heightSegments||18;s<0&&(console.error("negative heightSegments not allowed - will invert"),s*=-1),(s=Math.floor(t*s))<18&&(s=18);var o=e.widthSegments||18;o<0&&(console.error("negative widthSegments not allowed - will invert"),o*=-1),(o=Math.floor(t*o))<18&&(o=18);var l,u,c,f,p,A,d,v,h,I,y,m,w,g,E=[],T=[],b=[],D=[];for(l=0;l<=s;l++)for(c=l*Math.PI/s,f=Math.sin(c),p=Math.cos(c),u=0;u<=o;u++)A=2*u*Math.PI/o,d=Math.sin(A),v=Math.cos(A)*f,h=p,I=d*f,y=1-u/o,m=l/s,T.push(v),T.push(h),T.push(I),b.push(y),b.push(m),E.push(n+a*v),E.push(r+a*h),E.push(i+a*I);for(l=0;l":{width:24,points:[[4,18],[20,9],[4,0]]},"?":{width:18,points:[[3,16],[3,17],[4,19],[5,20],[7,21],[11,21],[13,20],[14,19],[15,17],[15,15],[14,13],[13,12],[9,10],[9,7],[-1,-1],[9,2],[8,1],[9,0],[10,1],[9,2]]},"@":{width:27,points:[[18,13],[17,15],[15,16],[12,16],[10,15],[9,14],[8,11],[8,8],[9,6],[11,5],[14,5],[16,6],[17,8],[-1,-1],[12,16],[10,14],[9,11],[9,8],[10,6],[11,5],[-1,-1],[18,16],[17,8],[17,6],[19,5],[21,5],[23,7],[24,10],[24,12],[23,15],[22,17],[20,19],[18,20],[15,21],[12,21],[9,20],[7,19],[5,17],[4,15],[3,12],[3,9],[4,6],[5,4],[7,2],[9,1],[12,0],[15,0],[18,1],[20,2],[21,3],[-1,-1],[19,16],[18,8],[18,6],[19,5]]},A:{width:18,points:[[9,21],[1,0],[-1,-1],[9,21],[17,0],[-1,-1],[4,7],[14,7]]},B:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[-1,-1],[4,11],[13,11],[16,10],[17,9],[18,7],[18,4],[17,2],[16,1],[13,0],[4,0]]},C:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5]]},D:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[11,21],[14,20],[16,18],[17,16],[18,13],[18,8],[17,5],[16,3],[14,1],[11,0],[4,0]]},E:{width:19,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11],[-1,-1],[4,0],[17,0]]},F:{width:18,points:[[4,21],[4,0],[-1,-1],[4,21],[17,21],[-1,-1],[4,11],[12,11]]},G:{width:21,points:[[18,16],[17,18],[15,20],[13,21],[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[18,8],[-1,-1],[13,8],[18,8]]},H:{width:22,points:[[4,21],[4,0],[-1,-1],[18,21],[18,0],[-1,-1],[4,11],[18,11]]},I:{width:8,points:[[4,21],[4,0]]},J:{width:16,points:[[12,21],[12,5],[11,2],[10,1],[8,0],[6,0],[4,1],[3,2],[2,5],[2,7]]},K:{width:21,points:[[4,21],[4,0],[-1,-1],[18,21],[4,7],[-1,-1],[9,12],[18,0]]},L:{width:17,points:[[4,21],[4,0],[-1,-1],[4,0],[16,0]]},M:{width:24,points:[[4,21],[4,0],[-1,-1],[4,21],[12,0],[-1,-1],[20,21],[12,0],[-1,-1],[20,21],[20,0]]},N:{width:22,points:[[4,21],[4,0],[-1,-1],[4,21],[18,0],[-1,-1],[18,21],[18,0]]},O:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21]]},P:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,14],[17,12],[16,11],[13,10],[4,10]]},Q:{width:22,points:[[9,21],[7,20],[5,18],[4,16],[3,13],[3,8],[4,5],[5,3],[7,1],[9,0],[13,0],[15,1],[17,3],[18,5],[19,8],[19,13],[18,16],[17,18],[15,20],[13,21],[9,21],[-1,-1],[12,4],[18,-2]]},R:{width:21,points:[[4,21],[4,0],[-1,-1],[4,21],[13,21],[16,20],[17,19],[18,17],[18,15],[17,13],[16,12],[13,11],[4,11],[-1,-1],[11,11],[18,0]]},S:{width:20,points:[[17,18],[15,20],[12,21],[8,21],[5,20],[3,18],[3,16],[4,14],[5,13],[7,12],[13,10],[15,9],[16,8],[17,6],[17,3],[15,1],[12,0],[8,0],[5,1],[3,3]]},T:{width:16,points:[[8,21],[8,0],[-1,-1],[1,21],[15,21]]},U:{width:22,points:[[4,21],[4,6],[5,3],[7,1],[10,0],[12,0],[15,1],[17,3],[18,6],[18,21]]},V:{width:18,points:[[1,21],[9,0],[-1,-1],[17,21],[9,0]]},W:{width:24,points:[[2,21],[7,0],[-1,-1],[12,21],[7,0],[-1,-1],[12,21],[17,0],[-1,-1],[22,21],[17,0]]},X:{width:20,points:[[3,21],[17,0],[-1,-1],[17,21],[3,0]]},Y:{width:18,points:[[1,21],[9,11],[9,0],[-1,-1],[17,21],[9,11]]},Z:{width:20,points:[[17,21],[3,0],[-1,-1],[3,21],[17,21],[-1,-1],[3,0],[17,0]]},"[":{width:14,points:[[4,25],[4,-7],[-1,-1],[5,25],[5,-7],[-1,-1],[4,25],[11,25],[-1,-1],[4,-7],[11,-7]]},"\\":{width:14,points:[[0,21],[14,-3]]},"]":{width:14,points:[[9,25],[9,-7],[-1,-1],[10,25],[10,-7],[-1,-1],[3,25],[10,25],[-1,-1],[3,-7],[10,-7]]},"^":{width:16,points:[[6,15],[8,18],[10,15],[-1,-1],[3,12],[8,17],[13,12],[-1,-1],[8,17],[8,0]]},_:{width:16,points:[[0,-2],[16,-2]]},"`":{width:10,points:[[6,21],[5,20],[4,18],[4,16],[5,15],[6,16],[5,17]]},a:{width:19,points:[[15,14],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},b:{width:19,points:[[4,21],[4,0],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},c:{width:18,points:[[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},d:{width:19,points:[[15,21],[15,0],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},e:{width:18,points:[[3,8],[15,8],[15,10],[14,12],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},f:{width:12,points:[[10,21],[8,21],[6,20],[5,17],[5,0],[-1,-1],[2,14],[9,14]]},g:{width:19,points:[[15,14],[15,-2],[14,-5],[13,-6],[11,-7],[8,-7],[6,-6],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},h:{width:19,points:[[4,21],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},i:{width:8,points:[[3,21],[4,20],[5,21],[4,22],[3,21],[-1,-1],[4,14],[4,0]]},j:{width:10,points:[[5,21],[6,20],[7,21],[6,22],[5,21],[-1,-1],[6,14],[6,-3],[5,-6],[3,-7],[1,-7]]},k:{width:17,points:[[4,21],[4,0],[-1,-1],[14,14],[4,4],[-1,-1],[8,8],[15,0]]},l:{width:8,points:[[4,21],[4,0]]},m:{width:30,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0],[-1,-1],[15,10],[18,13],[20,14],[23,14],[25,13],[26,10],[26,0]]},n:{width:19,points:[[4,14],[4,0],[-1,-1],[4,10],[7,13],[9,14],[12,14],[14,13],[15,10],[15,0]]},o:{width:19,points:[[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3],[16,6],[16,8],[15,11],[13,13],[11,14],[8,14]]},p:{width:19,points:[[4,14],[4,-7],[-1,-1],[4,11],[6,13],[8,14],[11,14],[13,13],[15,11],[16,8],[16,6],[15,3],[13,1],[11,0],[8,0],[6,1],[4,3]]},q:{width:19,points:[[15,14],[15,-7],[-1,-1],[15,11],[13,13],[11,14],[8,14],[6,13],[4,11],[3,8],[3,6],[4,3],[6,1],[8,0],[11,0],[13,1],[15,3]]},r:{width:13,points:[[4,14],[4,0],[-1,-1],[4,8],[5,11],[7,13],[9,14],[12,14]]},s:{width:17,points:[[14,11],[13,13],[10,14],[7,14],[4,13],[3,11],[4,9],[6,8],[11,7],[13,6],[14,4],[14,3],[13,1],[10,0],[7,0],[4,1],[3,3]]},t:{width:12,points:[[5,21],[5,4],[6,1],[8,0],[10,0],[-1,-1],[2,14],[9,14]]},u:{width:19,points:[[4,14],[4,4],[5,1],[7,0],[10,0],[12,1],[15,4],[-1,-1],[15,14],[15,0]]},v:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0]]},w:{width:22,points:[[3,14],[7,0],[-1,-1],[11,14],[7,0],[-1,-1],[11,14],[15,0],[-1,-1],[19,14],[15,0]]},x:{width:17,points:[[3,14],[14,0],[-1,-1],[14,14],[3,0]]},y:{width:16,points:[[2,14],[8,0],[-1,-1],[14,14],[8,0],[6,-4],[4,-6],[2,-7],[1,-7]]},z:{width:17,points:[[14,14],[3,0],[-1,-1],[3,14],[14,14],[-1,-1],[3,0],[14,0]]},"{":{width:14,points:[[9,25],[7,24],[6,23],[5,21],[5,19],[6,17],[7,16],[8,14],[8,12],[6,10],[-1,-1],[7,24],[6,22],[6,20],[7,18],[8,17],[9,15],[9,13],[8,11],[4,9],[8,7],[9,5],[9,3],[8,1],[7,0],[6,-2],[6,-4],[7,-6],[-1,-1],[6,8],[8,6],[8,4],[7,2],[6,1],[5,-1],[5,-3],[6,-5],[7,-6],[9,-7]]},"|":{width:8,points:[[4,25],[4,-7]]},"}":{width:14,points:[[5,25],[7,24],[8,23],[9,21],[9,19],[8,17],[7,16],[6,14],[6,12],[8,10],[-1,-1],[7,24],[8,22],[8,20],[7,18],[6,17],[5,15],[5,13],[6,11],[10,9],[6,7],[5,5],[5,3],[6,1],[7,0],[8,-2],[8,-4],[7,-6],[-1,-1],[8,8],[6,6],[6,4],[7,2],[8,1],[9,-1],[9,-3],[8,-5],[7,-6],[5,-7]]},"~":{width:24,points:[[3,6],[3,8],[4,11],[6,12],[8,12],[10,11],[14,8],[16,7],[18,7],[20,8],[21,10],[-1,-1],[3,8],[4,10],[6,11],[8,11],[10,10],[14,7],[16,6],[18,6],[20,7],[21,10],[21,12]]}};function na(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.origin||[0,0,0],n=t[0],r=t[1],i=t[2],a=e.size||1,s=[],o=[],l=e.text;le.isNumeric(l)&&(l=""+l);for(var u,c,f,p,A,d,v,h,I,y=(l||"").split("\n"),m=0,w=0,g=.04,E=0;E1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({active:!0,pos:$.vec3(),dir:$.vec3(),dist:0}),r.active=i.active,r.pos=i.pos,r.dir=i.dir,r.scene._sectionPlaneCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"SectionPlane"}},{key:"active",get:function(){return this._state.active},set:function(e){this._state.active=!1!==e,this.glRedraw(),this.fire("active",this._state.active)}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[0,0,0]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("pos",this._state.pos),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dir",get:function(){return this._state.dir},set:function(e){this._state.dir.set(e||[0,0,-1]),this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.glRedraw(),this.fire("dir",this._state.dir),this.scene.fire("sectionPlaneUpdated",this)}},{key:"dist",get:function(){return this._state.dist}},{key:"flipDir",value:function(){var e=this._state.dir;e[0]*=-1,e[1]*=-1,e[2]*=-1,this._state.dist=-$.dotVec3(this._state.pos,this._state.dir),this.fire("dir",this._state.dir),this.glRedraw()}},{key:"destroy",value:function(){this._state.destroy(),this.scene._sectionPlaneDestroyed(this),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aa=$.vec4(4),sa=$.vec4(),oa=$.vec4(),la=$.vec3([1,0,0]),ua=$.vec3([0,1,0]),ca=$.vec3([0,0,1]),fa=$.vec3(3),pa=$.vec3(3),Aa=$.identityMat4(),da=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e,i))._parentNode=null,r._children=[],r._aabb=null,r._aabbDirty=!0,r.scene._aabbDirty=!0,r._numTriangles=0,r._scale=$.vec3(),r._quaternion=$.identityQuaternion(),r._rotation=$.vec3(),r._position=$.vec3(),r._offset=$.vec3(),r._localMatrix=$.identityMat4(),r._worldMatrix=$.identityMat4(),r._localMatrixDirty=!0,r._worldMatrixDirty=!0,i.matrix?r.matrix=i.matrix:(r.scale=i.scale,r.position=i.position,i.quaternion||(r.rotation=i.rotation)),r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._isObject=i.isObject,r._isObject&&r.scene._registerObject(g(r)),r.origin=i.origin,r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.offset=i.offset,i.children)for(var a=i.children,s=0,o=a.length;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"LambertMaterial",ambient:$.vec3([1,1,1]),color:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),alpha:null,alphaMode:0,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:"/lam;"}),r.ambient=i.ambient,r.color=i.color,r.emissive=i.emissive,r.alpha=i.alpha,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r.backfaces=i.backfaces,r.frontface=i.frontface,r}return P(n,[{key:"type",get:function(){return"LambertMaterial"}},{key:"ambient",get:function(){return this._state.ambient},set:function(e){var t=this._state.ambient;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.ambient=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=.2,t[1]=.2,t[2]=.2),this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){var t=this._state.color;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.color=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this._state.alphaMode=e<1?2:0,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ha={opaque:0,mask:1,blend:2},Ia=["opaque","mask","blend"],ya=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"MetallicMaterial",baseColor:$.vec4([1,1,1]),emissive:$.vec4([0,0,0]),metallic:null,roughness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.baseColor=i.baseColor,r.metallic=i.metallic,r.roughness=i.roughness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.baseColorMap&&(r._baseColorMap=r._checkComponent("Texture",i.baseColorMap)),i.metallicMap&&(r._metallicMap=r._checkComponent("Texture",i.metallicMap)),i.roughnessMap&&(r._roughnessMap=r._checkComponent("Texture",i.roughnessMap)),i.metallicRoughnessMap&&(r._metallicRoughnessMap=r._checkComponent("Texture",i.metallicRoughnessMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"MetallicMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/met"];this._baseColorMap&&(t.push("/bm"),this._baseColorMap._state.hasMatrix&&t.push("/mat"),t.push("/"+this._baseColorMap._state.encoding)),this._metallicMap&&(t.push("/mm"),this._metallicMap._state.hasMatrix&&t.push("/mat")),this._roughnessMap&&(t.push("/rm"),this._roughnessMap._state.hasMatrix&&t.push("/mat")),this._metallicRoughnessMap&&(t.push("/mrm"),this._metallicRoughnessMap._state.hasMatrix&&t.push("/mat")),this._emissiveMap&&(t.push("/em"),this._emissiveMap._state.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap._state.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/am"),this._alphaMap._state.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap._state.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"baseColor",get:function(){return this._state.baseColor},set:function(e){var t=this._state.baseColor;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.baseColor=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"baseColorMap",get:function(){return this._baseColorMap}},{key:"metallic",get:function(){return this._state.metallic},set:function(e){e=null!=e?e:1,this._state.metallic!==e&&(this._state.metallic=e,this.glRedraw())}},{key:"metallicMap",get:function(){return this._attached.metallicMap}},{key:"roughness",get:function(){return this._state.roughness},set:function(e){e=null!=e?e:1,this._state.roughness!==e&&(this._state.roughness=e,this.glRedraw())}},{key:"roughnessMap",get:function(){return this._attached.roughnessMap}},{key:"metallicRoughnessMap",get:function(){return this._attached.metallicRoughnessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._attached.emissiveMap}},{key:"occlusionMap",get:function(){return this._attached.occlusionMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._attached.alphaMap}},{key:"normalMap",get:function(){return this._attached.normalMap}},{key:"alphaMode",get:function(){return Ia[this._state.alphaMode]},set:function(e){var t=ha[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),ma={opaque:0,mask:1,blend:2},wa=["opaque","mask","blend"],ga=function(e){I(n,Bn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({type:"SpecularMaterial",diffuse:$.vec3([1,1,1]),emissive:$.vec3([0,0,0]),specular:$.vec3([1,1,1]),glossiness:null,specularF0:null,alpha:null,alphaMode:null,alphaCutoff:null,lineWidth:null,pointSize:null,backfaces:null,frontface:null,hash:null}),r.diffuse=i.diffuse,r.specular=i.specular,r.glossiness=i.glossiness,r.specularF0=i.specularF0,r.emissive=i.emissive,r.alpha=i.alpha,i.diffuseMap&&(r._diffuseMap=r._checkComponent("Texture",i.diffuseMap)),i.emissiveMap&&(r._emissiveMap=r._checkComponent("Texture",i.emissiveMap)),i.specularMap&&(r._specularMap=r._checkComponent("Texture",i.specularMap)),i.glossinessMap&&(r._glossinessMap=r._checkComponent("Texture",i.glossinessMap)),i.specularGlossinessMap&&(r._specularGlossinessMap=r._checkComponent("Texture",i.specularGlossinessMap)),i.occlusionMap&&(r._occlusionMap=r._checkComponent("Texture",i.occlusionMap)),i.alphaMap&&(r._alphaMap=r._checkComponent("Texture",i.alphaMap)),i.normalMap&&(r._normalMap=r._checkComponent("Texture",i.normalMap)),r.alphaMode=i.alphaMode,r.alphaCutoff=i.alphaCutoff,r.backfaces=i.backfaces,r.frontface=i.frontface,r.lineWidth=i.lineWidth,r.pointSize=i.pointSize,r._makeHash(),r}return P(n,[{key:"type",get:function(){return"SpecularMaterial"}},{key:"_makeHash",value:function(){var e=this._state,t=["/spe"];this._diffuseMap&&(t.push("/dm"),this._diffuseMap.hasMatrix&&t.push("/mat"),t.push("/"+this._diffuseMap.encoding)),this._emissiveMap&&(t.push("/em"),this._emissiveMap.hasMatrix&&t.push("/mat")),this._glossinessMap&&(t.push("/gm"),this._glossinessMap.hasMatrix&&t.push("/mat")),this._specularMap&&(t.push("/sm"),this._specularMap.hasMatrix&&t.push("/mat")),this._specularGlossinessMap&&(t.push("/sgm"),this._specularGlossinessMap.hasMatrix&&t.push("/mat")),this._occlusionMap&&(t.push("/ocm"),this._occlusionMap.hasMatrix&&t.push("/mat")),this._normalMap&&(t.push("/nm"),this._normalMap.hasMatrix&&t.push("/mat")),this._alphaMap&&(t.push("/opm"),this._alphaMap.hasMatrix&&t.push("/mat")),t.push(";"),e.hash=t.join("")}},{key:"diffuse",get:function(){return this._state.diffuse},set:function(e){var t=this._state.diffuse;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.diffuse=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"diffuseMap",get:function(){return this._diffuseMap}},{key:"specular",get:function(){return this._state.specular},set:function(e){var t=this._state.specular;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.specular=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=1,t[1]=1,t[2]=1),this.glRedraw()}},{key:"specularMap",get:function(){return this._specularMap}},{key:"specularGlossinessMap",get:function(){return this._specularGlossinessMap}},{key:"glossiness",get:function(){return this._state.glossiness},set:function(e){e=null!=e?e:1,this._state.glossiness!==e&&(this._state.glossiness=e,this.glRedraw())}},{key:"glossinessMap",get:function(){return this._glossinessMap}},{key:"specularF0",get:function(){return this._state.specularF0},set:function(e){e=null!=e?e:0,this._state.specularF0!==e&&(this._state.specularF0=e,this.glRedraw())}},{key:"emissive",get:function(){return this._state.emissive},set:function(e){var t=this._state.emissive;if(t){if(e&&t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2])return}else t=this._state.emissive=new Float32Array(3);e?(t[0]=e[0],t[1]=e[1],t[2]=e[2]):(t[0]=0,t[1]=0,t[2]=0),this.glRedraw()}},{key:"emissiveMap",get:function(){return this._emissiveMap}},{key:"alpha",get:function(){return this._state.alpha},set:function(e){e=null!=e?e:1,this._state.alpha!==e&&(this._state.alpha=e,this.glRedraw())}},{key:"alphaMap",get:function(){return this._alphaMap}},{key:"normalMap",get:function(){return this._normalMap}},{key:"occlusionMap",get:function(){return this._occlusionMap}},{key:"alphaMode",get:function(){return wa[this._state.alphaMode]},set:function(e){var t=ma[e=e||"opaque"];void 0===t&&(this.error("Unsupported value for 'alphaMode': "+e+" defaulting to 'opaque'"),t="opaque"),this._state.alphaMode!==t&&(this._state.alphaMode=t,this.glRedraw())}},{key:"alphaCutoff",get:function(){return this._state.alphaCutoff},set:function(e){null==e&&(e=.5),this._state.alphaCutoff!==e&&(this._state.alphaCutoff=e)}},{key:"backfaces",get:function(){return this._state.backfaces},set:function(e){e=!!e,this._state.backfaces!==e&&(this._state.backfaces=e,this.glRedraw())}},{key:"frontface",get:function(){return this._state.frontface?"ccw":"cw"},set:function(e){e="cw"!==e,this._state.frontface!==e&&(this._state.frontface=e,this.glRedraw())}},{key:"lineWidth",get:function(){return this._state.lineWidth},set:function(e){this._state.lineWidth=e||1,this.glRedraw()}},{key:"pointSize",get:function(){return this._state.pointSize},set:function(e){this._state.pointSize=e||1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}();function Ea(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=t;if(1009===i)return e.UNSIGNED_BYTE;if(1017===i)return e.UNSIGNED_SHORT_4_4_4_4;if(1018===i)return e.UNSIGNED_SHORT_5_5_5_1;if(1010===i)return e.BYTE;if(1011===i)return e.SHORT;if(1012===i)return e.UNSIGNED_SHORT;if(1013===i)return e.INT;if(1014===i)return e.UNSIGNED_INT;if(1015===i)return e.FLOAT;if(1016===i)return e.HALF_FLOAT;if(1021===i)return e.ALPHA;if(1023===i)return e.RGBA;if(1024===i)return e.LUMINANCE;if(1025===i)return e.LUMINANCE_ALPHA;if(1026===i)return e.DEPTH_COMPONENT;if(1027===i)return e.DEPTH_STENCIL;if(1028===i)return e.RED;if(1022===i)return e.RGBA;if(1029===i)return e.RED_INTEGER;if(1030===i)return e.RG;if(1031===i)return e.RG_INTEGER;if(1033===i)return e.RGBA_INTEGER;if(33776===i||33777===i||33778===i||33779===i)if(3001===r){var a=kt(e,"WEBGL_compressed_texture_s3tc_srgb");if(null===a)return null;if(33776===i)return a.COMPRESSED_SRGB_S3TC_DXT1_EXT;if(33777===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT;if(33778===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT;if(33779===i)return a.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}else{if(null===(n=kt(e,"WEBGL_compressed_texture_s3tc")))return null;if(33776===i)return n.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===i)return n.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===i)return n.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===i)return n.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===i||35841===i||35842===i||35843===i){var s=kt(e,"WEBGL_compressed_texture_pvrtc");if(null===s)return null;if(35840===i)return s.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===i)return s.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===i)return s.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===i)return s.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196===i){var o=kt(e,"WEBGL_compressed_texture_etc1");return null!==o?o.COMPRESSED_RGB_ETC1_WEBGL:null}if(37492===i||37496===i){var l=kt(e,"WEBGL_compressed_texture_etc");if(null===l)return null;if(37492===i)return 3001===r?l.COMPRESSED_SRGB8_ETC2:l.COMPRESSED_RGB8_ETC2;if(37496===i)return 3001===r?l.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:l.COMPRESSED_RGBA8_ETC2_EAC}if(37808===i||37809===i||37810===i||37811===i||37812===i||37813===i||37814===i||37815===i||37816===i||37817===i||37818===i||37819===i||37820===i||37821===i){var u=kt(e,"WEBGL_compressed_texture_astc");if(null===u)return null;if(37808===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR:u.COMPRESSED_RGBA_ASTC_4x4_KHR;if(37809===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR:u.COMPRESSED_RGBA_ASTC_5x4_KHR;if(37810===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR:u.COMPRESSED_RGBA_ASTC_5x5_KHR;if(37811===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR:u.COMPRESSED_RGBA_ASTC_6x5_KHR;if(37812===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR:u.COMPRESSED_RGBA_ASTC_6x6_KHR;if(37813===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR:u.COMPRESSED_RGBA_ASTC_8x5_KHR;if(37814===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR:u.COMPRESSED_RGBA_ASTC_8x6_KHR;if(37815===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR:u.COMPRESSED_RGBA_ASTC_8x8_KHR;if(37816===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR:u.COMPRESSED_RGBA_ASTC_10x5_KHR;if(37817===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR:u.COMPRESSED_RGBA_ASTC_10x6_KHR;if(37818===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR:u.COMPRESSED_RGBA_ASTC_10x8_KHR;if(37819===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR:u.COMPRESSED_RGBA_ASTC_10x10_KHR;if(37820===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR:u.COMPRESSED_RGBA_ASTC_12x10_KHR;if(37821===i)return 3001===r?u.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR:u.COMPRESSED_RGBA_ASTC_12x12_KHR}if(36492===i){var c=kt(e,"EXT_texture_compression_bptc");if(null===c)return null;if(36492===i)return 3001===r?c.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT:c.COMPRESSED_RGBA_BPTC_UNORM_EXT}return 1020===i?e.UNSIGNED_INT_24_8:1e3===i?e.REPEAT:1001===i?e.CLAMP_TO_EDGE:1004===i||1005===i?e.NEAREST_MIPMAP_LINEAR:1007===i?e.LINEAR_MIPMAP_NEAREST:1008===i?e.LINEAR_MIPMAP_LINEAR:1003===i?e.NEAREST:1006===i?e.LINEAR:null}var Ta=new Uint8Array([0,0,0,1]),ba=function(){function e(t){var n=t.gl,r=t.target,i=t.format,a=t.type,s=t.wrapS,o=t.wrapT,l=t.wrapR,u=t.encoding,c=t.preloadColor,f=t.premultiplyAlpha,p=t.flipY;b(this,e),this.gl=n,this.target=r||n.TEXTURE_2D,this.format=i||1023,this.type=a||1009,this.internalFormat=null,this.premultiplyAlpha=!!f,this.flipY=!!p,this.unpackAlignment=4,this.wrapS=s||1e3,this.wrapT=o||1e3,this.wrapR=l||1e3,this.encoding=u||3001,this.texture=n.createTexture(),c&&this.setPreloadColor(c),this.allocated=!0}return P(e,[{key:"setPreloadColor",value:function(e){e?(Ta[0]=Math.floor(255*e[0]),Ta[1]=Math.floor(255*e[1]),Ta[2]=Math.floor(255*e[2]),Ta[3]=Math.floor(255*(void 0!==e[3]?e[3]:1))):(Ta[0]=0,Ta[1]=0,Ta[2]=0,Ta[3]=255);var t=this.gl;if(t.bindTexture(this.target,this.texture),this.target===t.TEXTURE_CUBE_MAP)for(var n=[t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y,t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z],r=0,i=n.length;r1&&void 0!==arguments[1]?arguments[1]:{},n=this.gl;void 0!==t.format&&(this.format=t.format),void 0!==t.internalFormat&&(this.internalFormat=t.internalFormat),void 0!==t.encoding&&(this.encoding=t.encoding),void 0!==t.type&&(this.type=t.type),void 0!==t.flipY&&(this.flipY=t.flipY),void 0!==t.premultiplyAlpha&&(this.premultiplyAlpha=t.premultiplyAlpha),void 0!==t.unpackAlignment&&(this.unpackAlignment=t.unpackAlignment),void 0!==t.minFilter&&(this.minFilter=t.minFilter),void 0!==t.magFilter&&(this.magFilter=t.magFilter),void 0!==t.wrapS&&(this.wrapS=t.wrapS),void 0!==t.wrapT&&(this.wrapT=t.wrapT),void 0!==t.wrapR&&(this.wrapR=t.wrapR);var r=!1;n.bindTexture(this.target,this.texture);var i=n.getParameter(n.UNPACK_FLIP_Y_WEBGL);n.pixelStorei(n.UNPACK_FLIP_Y_WEBGL,this.flipY);var a=n.getParameter(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL);n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha);var s=n.getParameter(n.UNPACK_ALIGNMENT);n.pixelStorei(n.UNPACK_ALIGNMENT,this.unpackAlignment);var o=n.getParameter(n.UNPACK_COLORSPACE_CONVERSION_WEBGL);n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE);var l=Ea(n,this.minFilter);n.texParameteri(this.target,n.TEXTURE_MIN_FILTER,l),l!==n.NEAREST_MIPMAP_NEAREST&&l!==n.LINEAR_MIPMAP_NEAREST&&l!==n.NEAREST_MIPMAP_LINEAR&&l!==n.LINEAR_MIPMAP_LINEAR||(r=!0);var u=Ea(n,this.magFilter);u&&n.texParameteri(this.target,n.TEXTURE_MAG_FILTER,u);var c=Ea(n,this.wrapS);c&&n.texParameteri(this.target,n.TEXTURE_WRAP_S,c);var f=Ea(n,this.wrapT);f&&n.texParameteri(this.target,n.TEXTURE_WRAP_T,f);var p=Ea(n,this.format,this.encoding),A=Ea(n,this.type),d=Da(n,this.internalFormat,p,A,this.encoding,!1);if(this.target===n.TEXTURE_CUBE_MAP){if(le.isArray(e))for(var v=e,h=[n.TEXTURE_CUBE_MAP_POSITIVE_X,n.TEXTURE_CUBE_MAP_NEGATIVE_X,n.TEXTURE_CUBE_MAP_POSITIVE_Y,n.TEXTURE_CUBE_MAP_NEGATIVE_Y,n.TEXTURE_CUBE_MAP_POSITIVE_Z,n.TEXTURE_CUBE_MAP_NEGATIVE_Z],I=0,y=h.length;I1;i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,this.flipY),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),i.pixelStorei(i.UNPACK_ALIGNMENT,this.unpackAlignment),i.pixelStorei(i.UNPACK_COLORSPACE_CONVERSION_WEBGL,i.NONE);var o=Ea(i,this.wrapS);o&&i.texParameteri(this.target,i.TEXTURE_WRAP_S,o);var l=Ea(i,this.wrapT);if(l&&i.texParameteri(this.target,i.TEXTURE_WRAP_T,l),this.type===i.TEXTURE_3D||this.type===i.TEXTURE_2D_ARRAY){var u=Ea(i,this.wrapR);u&&i.texParameteri(this.target,i.TEXTURE_WRAP_R,u),i.texParameteri(this.type,i.TEXTURE_WRAP_R,u)}s?(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Pa(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Pa(i,this.magFilter))):(i.texParameteri(this.target,i.TEXTURE_MIN_FILTER,Ea(i,this.minFilter)),i.texParameteri(this.target,i.TEXTURE_MAG_FILTER,Ea(i,this.magFilter)));var c=Ea(i,this.format,this.encoding),f=Ea(i,this.type),p=Da(i,this.internalFormat,c,f,this.encoding,!1);i.texStorage2D(i.TEXTURE_2D,a,p,t[0].width,t[0].height);for(var A=0,d=t.length;A5&&void 0!==arguments[5]&&arguments[5];if(null!==t){if(void 0!==e[t])return e[t];console.warn("Attempt to use non-existing WebGL internal format '"+t+"'")}var s=n;return n===e.RED&&(r===e.FLOAT&&(s=e.R32F),r===e.HALF_FLOAT&&(s=e.R16F),r===e.UNSIGNED_BYTE&&(s=e.R8)),n===e.RG&&(r===e.FLOAT&&(s=e.RG32F),r===e.HALF_FLOAT&&(s=e.RG16F),r===e.UNSIGNED_BYTE&&(s=e.RG8)),n===e.RGBA&&(r===e.FLOAT&&(s=e.RGBA32F),r===e.HALF_FLOAT&&(s=e.RGBA16F),r===e.UNSIGNED_BYTE&&(s=3001===i&&!1===a?e.SRGB8_ALPHA8:e.RGBA8),r===e.UNSIGNED_SHORT_4_4_4_4&&(s=e.RGBA4),r===e.UNSIGNED_SHORT_5_5_5_1&&(s=e.RGB5_A1)),s!==e.R16F&&s!==e.R32F&&s!==e.RG16F&&s!==e.RG32F&&s!==e.RGBA16F&&s!==e.RGBA32F||kt(e,"EXT_color_buffer_float"),s}function Pa(e,t){return 1003===t||1004===t||1005===t?e.NEAREST:e.LINEAR}function Ra(e){if(!Ca(e.width)||!Ca(e.height)){var t=document.createElement("canvas");t.width=_a(e.width),t.height=_a(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}function Ca(e){return 0==(e&e-1)}function _a(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Ba=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({texture:new ba({gl:r.scene.canvas.gl}),matrix:$.identityMat4(),hasMatrix:i.translate&&(0!==i.translate[0]||0!==i.translate[1])||!!i.rotate||i.scale&&(0!==i.scale[0]||0!==i.scale[1]),minFilter:r._checkMinFilter(i.minFilter),magFilter:r._checkMagFilter(i.magFilter),wrapS:r._checkWrapS(i.wrapS),wrapT:r._checkWrapT(i.wrapT),flipY:r._checkFlipY(i.flipY),encoding:r._checkEncoding(i.encoding)}),r._src=null,r._image=null,r._translate=$.vec2([0,0]),r._scale=$.vec2([1,1]),r._rotate=$.vec2([0,0]),r._matrixDirty=!1,r.translate=i.translate,r.scale=i.scale,r.rotate=i.rotate,i.src?r.src=i.src:i.image&&(r.image=i.image),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"Texture"}},{key:"_checkMinFilter",value:function(e){return 1006!==(e=e||1008)&&1007!==e&&1008!==e&&1005!==e&&1004!==e&&(this.error("Unsupported value for 'minFilter' - supported values are LinearFilter, LinearMipMapNearestFilter, NearestMipMapNearestFilter, NearestMipMapLinearFilter and LinearMipMapLinearFilter. Defaulting to LinearMipMapLinearFilter."),e=1008),e}},{key:"_checkMagFilter",value:function(e){return 1006!==(e=e||1006)&&1003!==e&&(this.error("Unsupported value for 'magFilter' - supported values are LinearFilter and NearestFilter. Defaulting to LinearFilter."),e=1006),e}},{key:"_checkWrapS",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapS' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkWrapT",value:function(e){return 1001!==(e=e||1e3)&&1002!==e&&1e3!==e&&(this.error("Unsupported value for 'wrapT' - supported values are ClampToEdgeWrapping, MirroredRepeatWrapping and RepeatWrapping. Defaulting to RepeatWrapping."),e=1e3),e}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this._state.texture=new ba({gl:this.scene.canvas.gl}),this._image?this.image=this._image:this._src&&(this.src=this._src)}},{key:"_update",value:function(){var e,t,n=this._state;this._matrixDirty&&(0===this._translate[0]&&0===this._translate[1]||(e=$.translationMat4v([this._translate[0],this._translate[1],0],this._state.matrix)),1===this._scale[0]&&1===this._scale[1]||(t=$.scalingMat4v([this._scale[0],this._scale[1],1]),e=e?$.mulMat4(e,t):t),0!==this._rotate&&(t=$.rotationMat4v(.0174532925*this._rotate,[0,0,1]),e=e?$.mulMat4(e,t):t),e&&(n.matrix=e),this._matrixDirty=!1);this.glRedraw()}},{key:"image",get:function(){return this._image},set:function(e){this._image=Ra(e),this._image.crossOrigin="Anonymous",this._state.texture.setImage(this._image,this._state),this._src=null,this.glRedraw()}},{key:"src",get:function(){return this._src},set:function(e){this.scene.loading++,this.scene.canvas.spinner.processes++;var t=this,n=new Image;n.onload=function(){n=Ra(n),t._state.texture.setImage(n,t._state),t.scene.loading--,t.glRedraw(),t.scene.canvas.spinner.processes--},n.src=e,this._src=e,this._image=null}},{key:"translate",get:function(){return this._translate},set:function(e){this._translate.set(e||[0,0]),this._matrixDirty=!0,this._needUpdate()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1]),this._matrixDirty=!0,this._needUpdate()}},{key:"rotate",get:function(){return this._rotate},set:function(e){e=e||0,this._rotate!==e&&(this._rotate=e,this._matrixDirty=!0,this._needUpdate())}},{key:"minFilter",get:function(){return this._state.minFilter}},{key:"magFilter",get:function(){return this._state.magFilter}},{key:"wrapS",get:function(){return this._state.wrapS}},{key:"wrapT",get:function(){return this._state.wrapT}},{key:"flipY",get:function(){return this._state.flipY}},{key:"encoding",get:function(){return this._state.encoding}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.texture&&this._state.texture.destroy(),this._state.destroy(),re.memory.textures--}}]),n}(),Oa=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._state=new Wt({edgeColor:$.vec3([0,0,0]),centerColor:$.vec3([1,1,1]),edgeBias:0,centerBias:1,power:1}),r.edgeColor=i.edgeColor,r.centerColor=i.centerColor,r.edgeBias=i.edgeBias,r.centerBias=i.centerBias,r.power=i.power,r}return P(n,[{key:"type",get:function(){return"Fresnel"}},{key:"edgeColor",get:function(){return this._state.edgeColor},set:function(e){this._state.edgeColor.set(e||[0,0,0]),this.glRedraw()}},{key:"centerColor",get:function(){return this._state.centerColor},set:function(e){this._state.centerColor.set(e||[1,1,1]),this.glRedraw()}},{key:"edgeBias",get:function(){return this._state.edgeBias},set:function(e){this._state.edgeBias=e||0,this.glRedraw()}},{key:"centerBias",get:function(){return this._state.centerBias},set:function(e){this._state.centerBias=null!=e?e:1,this.glRedraw()}},{key:"power",get:function(){return this._state.power},set:function(e){this._state.power=null!=e?e:1,this.glRedraw()}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this._state.destroy()}}]),n}(),Sa=re.memory,Na=$.AABB3(),La=function(e){I(n,In);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._state=new Wt({compressGeometry:!0,primitive:null,primitiveName:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,positionsBuf:null,normalsBuf:null,colorsbuf:null,uvBuf:null,indicesBuf:null,hash:""}),r._numTriangles=0,r._edgeThreshold=i.edgeThreshold||10,r._aabb=null,r._obb=$.OBB3();var a,s=r._state,o=r.scene.canvas.gl;switch(i.primitive=i.primitive||"triangles",i.primitive){case"points":s.primitive=o.POINTS,s.primitiveName=i.primitive;break;case"lines":s.primitive=o.LINES,s.primitiveName=i.primitive;break;case"line-loop":s.primitive=o.LINE_LOOP,s.primitiveName=i.primitive;break;case"line-strip":s.primitive=o.LINE_STRIP,s.primitiveName=i.primitive;break;case"triangles":s.primitive=o.TRIANGLES,s.primitiveName=i.primitive;break;case"triangle-strip":s.primitive=o.TRIANGLE_STRIP,s.primitiveName=i.primitive;break;case"triangle-fan":s.primitive=o.TRIANGLE_FAN,s.primitiveName=i.primitive;break;default:r.error("Unsupported value for 'primitive': '"+i.primitive+"' - supported values are 'points', 'lines', 'line-loop', 'line-strip', 'triangles', 'triangle-strip' and 'triangle-fan'. Defaulting to 'triangles'."),s.primitive=o.TRIANGLES,s.primitiveName=i.primitive}if(!i.positions)return r.error("Config expected: positions"),w(r);if(!i.indices)return r.error("Config expected: indices"),w(r);var l=i.positionsDecodeMatrix;if(l);else{var u=Dn.getPositionsBounds(i.positions),c=Dn.compressPositions(i.positions,u.min,u.max);a=c.quantized,s.positionsDecodeMatrix=c.decodeMatrix,s.positionsBuf=new Dt(o,o.ARRAY_BUFFER,a,a.length,3,o.STATIC_DRAW),Sa.positions+=s.positionsBuf.numItems,$.positions3ToAABB3(i.positions,r._aabb),$.positions3ToAABB3(a,Na,s.positionsDecodeMatrix),$.AABB3ToOBB3(Na,r._obb)}if(i.colors){var f=i.colors.constructor===Float32Array?i.colors:new Float32Array(i.colors);s.colorsBuf=new Dt(o,o.ARRAY_BUFFER,f,f.length,4,o.STATIC_DRAW),Sa.colors+=s.colorsBuf.numItems}if(i.uv){var p=Dn.getUVBounds(i.uv),A=Dn.compressUVs(i.uv,p.min,p.max),d=A.quantized;s.uvDecodeMatrix=A.decodeMatrix,s.uvBuf=new Dt(o,o.ARRAY_BUFFER,d,d.length,2,o.STATIC_DRAW),Sa.uvs+=s.uvBuf.numItems}if(i.normals){var v=Dn.compressNormals(i.normals),h=s.compressGeometry;s.normalsBuf=new Dt(o,o.ARRAY_BUFFER,v,v.length,3,o.STATIC_DRAW,h),Sa.normals+=s.normalsBuf.numItems}var I=i.indices.constructor===Uint32Array||i.indices.constructor===Uint16Array?i.indices:new Uint32Array(i.indices);s.indicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,I,I.length,1,o.STATIC_DRAW),Sa.indices+=s.indicesBuf.numItems;var y=yn(a,I,s.positionsDecodeMatrix,r._edgeThreshold);return r._edgeIndicesBuf=new Dt(o,o.ELEMENT_ARRAY_BUFFER,y,y.length,1,o.STATIC_DRAW),"triangles"===r._state.primitiveName&&(r._numTriangles=i.indices.length/3),r._buildHash(),Sa.meshes++,r}return P(n,[{key:"type",get:function(){return"VBOGeometry"}},{key:"isVBOGeometry",get:function(){return!0}},{key:"_buildHash",value:function(){var e=this._state,t=["/g"];t.push("/"+e.primitive+";"),e.positionsBuf&&t.push("p"),e.colorsBuf&&t.push("c"),(e.normalsBuf||e.autoVertexNormals)&&t.push("n"),e.uvBuf&&t.push("u"),t.push("cp"),t.push(";"),e.hash=t.join("")}},{key:"_getEdgeIndices",value:function(){return this._edgeIndicesBuf}},{key:"primitive",get:function(){return this._state.primitiveName}},{key:"aabb",get:function(){return this._aabb}},{key:"obb",get:function(){return this._obb}},{key:"numTriangles",get:function(){return this._numTriangles}},{key:"_getState",value:function(){return this._state}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this);var e=this._state;e.indicesBuf&&e.indicesBuf.destroy(),e.positionsBuf&&e.positionsBuf.destroy(),e.normalsBuf&&e.normalsBuf.destroy(),e.uvBuf&&e.uvBuf.destroy(),e.colorsBuf&&e.colorsBuf.destroy(),this._edgeIndicesBuf&&this._edgeIndicesBuf.destroy(),e.destroy(),Sa.meshes--}}]),n}(),Ma={};function xa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("load3DSGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("load3DSGeometry: no data loaded"),i.processes--,r());var a=Ma.parse.from3DS(e).edit.objects[0].mesh,s=a.vertices,o=a.uvt,l=a.indices;i.processes--,n(le.apply(t,{primitive:"triangles",positions:s,normals:null,uv:o,indices:l}))}),(function(e){console.error("load3DSGeometry: "+e),i.processes--,r()}))}))}function Fa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new Promise((function(n,r){t.src||(console.error("loadOBJGeometry: Parameter expected: src"),r());var i=e.canvas.spinner;i.processes++,le.loadArraybuffer(t.src,(function(e){e.byteLength||(console.error("loadOBJGeometry: no data loaded"),i.processes--,r());for(var a=Ma.parse.fromOBJ(e),s=Ma.edit.unwrap(a.i_verts,a.c_verts,3),o=Ma.edit.unwrap(a.i_norms,a.c_norms,3),l=Ma.edit.unwrap(a.i_uvt,a.c_uvt,2),u=new Int32Array(a.i_verts.length),c=0;c0?o:null,autoNormals:0===o.length,uv:l,indices:u}))}),(function(e){console.error("loadOBJGeometry: "+e),i.processes--,r()}))}))}function Ha(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.ySize||1;n<0&&(console.error("negative ySize not allowed - will invert"),n*=-1);var r=e.zSize||1;r<0&&(console.error("negative zSize not allowed - will invert"),r*=-1);var i=e.center,a=i?i[0]:0,s=i?i[1]:0,o=i?i[2]:0,l=-t+a,u=-n+s,c=-r+o,f=t+a,p=n+s,A=r+o;return le.apply(e,{primitive:"lines",positions:[l,u,c,l,u,A,l,p,c,l,p,A,f,u,c,f,u,A,f,p,c,f,p,A],indices:[0,1,1,3,3,2,2,0,4,5,5,7,7,6,6,4,0,4,1,5,2,6,3,7]})}function Ua(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.size||1;t<0&&(console.error("negative size not allowed - will invert"),t*=-1);var n=e.divisions||1;n<0&&(console.error("negative divisions not allowed - will invert"),n*=-1),n<1&&(n=1);for(var r=(t=t||10)/(n=n||10),i=t/2,a=[],s=[],o=0,l=0,u=-i;l<=n;l++,u+=r)a.push(-i),a.push(0),a.push(u),a.push(i),a.push(0),a.push(u),a.push(u),a.push(0),a.push(-i),a.push(u),a.push(0),a.push(i),s.push(o++),s.push(o++),s.push(o++),s.push(o++);return le.apply(e,{primitive:"lines",positions:a,indices:s})}function Ga(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.xSize||1;t<0&&(console.error("negative xSize not allowed - will invert"),t*=-1);var n=e.zSize||1;n<0&&(console.error("negative zSize not allowed - will invert"),n*=-1);var r=e.xSegments||1;r<0&&(console.error("negative xSegments not allowed - will invert"),r*=-1),r<1&&(r=1);var i=e.xSegments||1;i<0&&(console.error("negative zSegments not allowed - will invert"),i*=-1),i<1&&(i=1);var a,s,o,l,u,c,f,p=e.center,A=p?p[0]:0,d=p?p[1]:0,v=p?p[2]:0,h=t/2,I=n/2,y=Math.floor(r)||1,m=Math.floor(i)||1,w=y+1,g=m+1,E=t/y,T=n/m,b=new Float32Array(w*g*3),D=new Float32Array(w*g*3),P=new Float32Array(w*g*2),R=0,C=0;for(a=0;a65535?Uint32Array:Uint16Array)(y*m*6);for(a=0;a0&&void 0!==arguments[0]?arguments[0]:{},t=e.radius||1;t<0&&(console.error("negative radius not allowed - will invert"),t*=-1),t*=.5;var n=e.tube||.3;n<0&&(console.error("negative tube not allowed - will invert"),n*=-1);var r=e.radialSegments||32;r<0&&(console.error("negative radialSegments not allowed - will invert"),r*=-1),r<4&&(r=4);var i=e.tubeSegments||24;i<0&&(console.error("negative tubeSegments not allowed - will invert"),i*=-1),i<4&&(i=4);var a=e.arc||2*Math.PI;a<0&&(console.warn("negative arc not allowed - will invert"),a*=-1),a>360&&(a=360);var s,o,l,u,c,f,p,A,d,v,h,I,y=e.center,m=y?y[0]:0,w=y?y[1]:0,g=y?y[2]:0,E=[],T=[],b=[],D=[];for(A=0;A<=i;A++)for(p=0;p<=r;p++)s=p/r*a,o=.785398+A/i*Math.PI*2,m=t*Math.cos(s),w=t*Math.sin(s),l=(t+n*Math.cos(o))*Math.cos(s),u=(t+n*Math.cos(o))*Math.sin(s),c=n*Math.sin(o),E.push(l+m),E.push(u+w),E.push(c+g),b.push(1-p/r),b.push(A/i),f=$.normalizeVec3($.subVec3([l,u,c],[m,w,g],[]),[]),T.push(f[0]),T.push(f[1]),T.push(f[2]);for(A=1;A<=i;A++)for(p=1;p<=r;p++)d=(r+1)*A+p-1,v=(r+1)*(A-1)+p-1,h=(r+1)*(A-1)+p,I=(r+1)*A+p,D.push(d),D.push(v),D.push(h),D.push(h),D.push(I),D.push(d);return le.apply(e,{positions:E,normals:T,uv:b,indices:D})}Ma.load=function(e,t){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=function(e){t(e.target.response)},n.send()},Ma.save=function(e,t){var n="data:application/octet-stream;base64,"+btoa(Ma.parse._buffToStr(e));window.location.href=n},Ma.clone=function(e){return JSON.parse(JSON.stringify(e))},Ma.bin={},Ma.bin.f=new Float32Array(1),Ma.bin.fb=new Uint8Array(Ma.bin.f.buffer),Ma.bin.rf=function(e,t){for(var n=Ma.bin.f,r=Ma.bin.fb,i=0;i<4;i++)r[i]=e[t+i];return n[0]},Ma.bin.rsl=function(e,t){return e[t]|e[t+1]<<8},Ma.bin.ril=function(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24},Ma.bin.rASCII0=function(e,t){for(var n="";0!=e[t];)n+=String.fromCharCode(e[t++]);return n},Ma.bin.wf=function(e,t,n){new Float32Array(e.buffer,t,1)[0]=n},Ma.bin.wsl=function(e,t,n){e[t]=n,e[t+1]=n>>8},Ma.bin.wil=function(e,t,n){e[t]=n,e[t+1]=n>>8,e[t+2]=n>>16,e[t+3]},Ma.parse={},Ma.parse._buffToStr=function(e){for(var t=new Uint8Array(e),n="",r=0;ri&&(i=l),ua&&(a=u),cs&&(s=c)}return{min:{x:t,y:n,z:r},max:{x:i,y:a,z:s}}};var ja=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._type=i.type||(i.src?i.src.split(".").pop():null)||"jpg",r._pos=$.vec3(i.pos||[0,0,0]),r._up=$.vec3(i.up||[0,1,0]),r._normal=$.vec3(i.normal||[0,0,1]),r._height=i.height||1,r._origin=$.vec3(),r._rtcPos=$.vec3(),r._imageSize=$.vec2(),r._texture=new Ba(g(r),{flipY:!0}),r._image=new Image,"jpg"!==r._type&&"png"!==r._type&&(r.error('Unsupported type - defaulting to "jpg"'),r._type="jpg"),r._node=new da(g(r),{matrix:$.inverseMat4($.lookAtMat4v(r._pos,$.subVec3(r._pos,r._normal,$.mat4()),r._up,$.mat4())),children:[r._bitmapMesh=new Ji(g(r),{scale:[1,1,1],rotation:[-90,0,0],collidable:i.collidable,pickable:i.pickable,opacity:i.opacity,clippable:i.clippable,geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:2,zSegments:2})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0})})]}),i.image?r.image=i.image:i.src?r.src=i.src:i.imageData&&(r.imageData=i.imageData),r.scene._bitmapCreated(g(r)),r}return P(n,[{key:"visible",get:function(){return this._bitmapMesh.visible},set:function(e){this._bitmapMesh.visible=e}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._texture.image=this._image,this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updateBitmapMeshScale())}},{key:"src",get:function(){return this._image.src},set:function(e){var t=this;if(e)switch(this._image.onload=function(){t._texture.image=t._image,t._imageSize[0]=t._image.width,t._imageSize[1]=t._image.height,t._updateBitmapMeshScale()},this._image.src=e,e.split(".").pop()){case"jpeg":case"jpg":this._type="jpg";break;case"png":this._type="png"}}},{key:"imageData",get:function(){var e=document.createElement("canvas"),t=e.getContext("2d");return e.width=this._image.width,e.height=this._image.height,t.drawImage(this._image,0,0),e.toDataURL("jpg"===this._type?"image/jpeg":"image/png")},set:function(e){var t=this;this._image.onload=function(){t._texture.image=image,t._imageSize[0]=image.width,t._imageSize[1]=image.height,t._updateBitmapMeshScale()},this._image.src=e}},{key:"type",get:function(){return this._type},set:function(e){"png"===(e=e||"jpg")&&"jpg"===e||(this.error("Unsupported value for `type` - supported types are `jpg` and `png` - defaulting to `jpg`"),e="jpg"),this._type=e}},{key:"pos",get:function(){return this._pos}},{key:"normal",get:function(){return this._normal}},{key:"up",get:function(){return this._up}},{key:"height",get:function(){return this._height},set:function(e){this._height=null==e?1:e,this._image&&this._updateBitmapMeshScale()}},{key:"collidable",get:function(){return this._bitmapMesh.collidable},set:function(e){this._bitmapMesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._bitmapMesh.clippable},set:function(e){this._bitmapMesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._bitmapMesh.pickable},set:function(e){this._bitmapMesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._bitmapMesh.opacity},set:function(e){this._bitmapMesh.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._bitmapDestroyed(this)}},{key:"_updateBitmapMeshScale",value:function(){var e=this._imageSize[1]/this._imageSize[0];this._bitmapMesh.scale=[this._height*e,1,this._height]}}]),n}(),Va=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i))._positions=i.positions||[];var a=new Float32Array(r._positions.length),s=$.vec3(),o=100,l=Se(r._positions,new Float32Array(r._positions.length),s,o);if(i.indices)r._indices=i.indices;else{r._indices=[];for(var u=0,c=r._positions.length/3-1;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"BCFViewpoints",e,i)).originatingSystem=i.originatingSystem||"xeokit.io",r.authoringTool=i.authoringTool||"xeokit.io",r}return P(n,[{key:"getViewpoint",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.viewer.scene,r=n.camera,i=n.realWorldOffset,a=!0===t.reverseClippingPlanes,s={},o=$.normalizeVec3($.subVec3(r.look,r.eye,$.vec3())),l=r.eye,u=r.up;r.yUp&&(o=Ja(o),l=Ja(l),u=Ja(u));var c=Xa($.addVec3(l,i));"ortho"===r.projection?s.orthogonal_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),view_to_world_scale:r.ortho.scale}:s.perspective_camera={camera_view_point:c,camera_direction:Xa(o),camera_up_vector:Xa(u),field_of_view:r.perspective.fov};var f=n.sectionPlanes;for(var A in f)if(f.hasOwnProperty(A)){var d=f[A];if(!d.active)continue;var v=d.pos,h=void 0;h=a?$.negateVec3(d.dir,$.vec3()):d.dir,r.yUp&&(v=Ja(v),h=Ja(h)),$.addVec3(v,i),v=Xa(v),h=Xa(h),s.clipping_planes||(s.clipping_planes=[]),s.clipping_planes.push({location:v,direction:h})}var I=n.lineSets;for(var y in I)if(I.hasOwnProperty(y)){var m=I[y];s.lines||(s.lines=[]);for(var w=m.positions,g=m.indices,E=0,T=g.length/2;E1&&void 0!==arguments[1]?arguments[1]:{};if(e){var r=this.viewer,i=r.scene,a=i.camera,s=!1!==n.rayCast,o=!1!==n.immediate,l=!1!==n.reset,u=i.realWorldOffset,c=!0===n.reverseClippingPlanes;if(i.clearSectionPlanes(),e.clipping_planes&&e.clipping_planes.length>0&&e.clipping_planes.forEach((function(e){var t=qa(e.location,Qa),n=qa(e.direction,Qa);c&&$.negateVec3(n),$.subVec3(t,u),a.yUp&&(t=Za(t),n=Za(n)),new ia(i,{pos:t,dir:n})})),i.clearLines(),e.lines&&e.lines.length>0){var f=[],p=[],A=0;e.lines.forEach((function(e){e.start_point&&e.end_point&&(f.push(e.start_point.x),f.push(e.start_point.y),f.push(e.start_point.z),f.push(e.end_point.x),f.push(e.end_point.y),f.push(e.end_point.z),p.push(A++),p.push(A++))})),new Va(i,{positions:f,indices:p,clippable:!1,collidable:!0})}if(i.clearBitmaps(),e.bitmaps&&e.bitmaps.length>0&&e.bitmaps.forEach((function(e){var t=e.bitmap_type||"jpg",n=e.bitmap_data,r=qa(e.location,Wa),s=qa(e.normal,za),o=qa(e.up,Ka),l=e.height||1;t&&n&&r&&s&&o&&(a.yUp&&(r=Za(r),s=Za(s),o=Za(o)),new ja(i,{src:n,type:t,pos:r,normal:s,up:o,clippable:!1,collidable:!0,height:l}))})),l&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),i.setObjectsHighlighted(i.highlightedObjectIds,!1),i.setObjectsSelected(i.selectedObjectIds,!1)),e.components){if(e.components.visibility){e.components.visibility.default_visibility?(i.setObjectsVisible(i.objectIds,!0),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!1}))}))):(i.setObjectsVisible(i.objectIds,!1),e.components.visibility.exceptions&&e.components.visibility.exceptions.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.visible=!0}))})));var d=e.components.visibility.view_setup_hints;d&&(!1===d.spaces_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcSpace"),!0),void 0!==d.spaces_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcSpace"),!0),d.space_boundaries_visible,!1===d.openings_visible&&i.setObjectsVisible(r.metaScene.getObjectIDsByType("IfcOpening"),!0),d.space_boundaries_translucent,void 0!==d.openings_translucent&&i.setObjectsXRayed(r.metaScene.getObjectIDsByType("IfcOpening"),!0))}e.components.selection&&(i.setObjectsSelected(i.selectedObjectIds,!1),e.components.selection.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.selected=!0}))}))),e.components.translucency&&(i.setObjectsXRayed(i.xrayedObjectIds,!1),e.components.translucency.forEach((function(e){return t._withBCFComponent(n,e,(function(e){return e.xrayed=!0}))}))),e.components.coloring&&e.components.coloring.forEach((function(e){var r=e.color,i=0,a=!1;8===r.length&&((i=parseInt(r.substring(0,2),16)/256)<=1&&i>=.95&&(i=1),r=r.substring(2),a=!0);var s=[parseInt(r.substring(0,2),16)/256,parseInt(r.substring(2,4),16)/256,parseInt(r.substring(4,6),16)/256];e.components.map((function(e){return t._withBCFComponent(n,e,(function(e){e.colorize=s,a&&(e.opacity=i)}))}))}))}if(e.perspective_camera||e.orthogonal_camera){var v,h,I,y;if(e.perspective_camera?(v=qa(e.perspective_camera.camera_view_point,Qa),h=qa(e.perspective_camera.camera_direction,Qa),I=qa(e.perspective_camera.camera_up_vector,Qa),a.perspective.fov=e.perspective_camera.field_of_view,y="perspective"):(v=qa(e.orthogonal_camera.camera_view_point,Qa),h=qa(e.orthogonal_camera.camera_direction,Qa),I=qa(e.orthogonal_camera.camera_up_vector,Qa),a.ortho.scale=e.orthogonal_camera.view_to_world_scale,y="ortho"),$.subVec3(v,u),a.yUp&&(v=Za(v),h=Za(h),I=Za(I)),s){var m=i.pick({pickSurface:!0,origin:v,direction:h});h=m?m.worldPos:$.addVec3(v,h,Qa)}else h=$.addVec3(v,h,Qa);o?(a.eye=v,a.look=h,a.up=I,a.projection=y):r.cameraFlight.flyTo({eye:v,look:h,up:I,duration:n.duration,projection:y})}}}},{key:"_withBCFComponent",value:function(e,t,n){var r=this.viewer,i=r.scene;if(t.authoring_tool_id&&t.originating_system===this.originatingSystem){var a=t.authoring_tool_id,s=i.objects[a];if(s)return void n(s);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[a])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}if(t.ifc_guid){var o=t.ifc_guid,l=i.objects[o];if(l)return void n(l);if(e.updateCompositeObjects)if(r.metaScene.metaObjects[o])return void i.withObjects(r.metaScene.getObjectIDsInSubtree(o),n);Object.keys(i.models).forEach((function(t){var a=$.globalizeObjectId(t,o),s=i.objects[a];s?n(s):e.updateCompositeObjects&&r.metaScene.metaObjects[a]&&i.withObjects(r.metaScene.getObjectIDsInSubtree(a),n)}))}}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}();function Xa(e){return{x:e[0],y:e[1],z:e[2]}}function qa(e,t){return(t=new Float64Array(3))[0]=e.x,t[1]=e.y,t[2]=e.z,t}function Ja(e){return new Float64Array([e[0],-e[2],e[1]])}function Za(e){return new Float64Array([e[0],e[2],-e[1]])}function $a(e){var t="";return t+=Math.round(255*e[0]).toString(16).padStart(2,"0"),t+=Math.round(255*e[1]).toString(16).padStart(2,"0"),t+=Math.round(255*e[2]).toString(16).padStart(2,"0")}var es=$.vec3(),ts=function(e,t,n,r){var i=e-n,a=t-r;return Math.sqrt(i*i+a*a)},ns=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,e.viewer.scene,i)).plugin=e,r._container=i.container,!r._container)throw"config missing: container";r._eventSubs={};var a=r.plugin.viewer.scene;r._originMarker=new Xe(a,i.origin),r._targetMarker=new Xe(a,i.target),r._originWorld=$.vec3(),r._targetWorld=$.vec3(),r._wp=new Float64Array(24),r._vp=new Float64Array(24),r._pp=new Float64Array(24),r._cp=new Float64Array(8),r._xAxisLabelCulled=!1,r._yAxisLabelCulled=!1,r._zAxisLabelCulled=!1,r._color=i.color||r.plugin.defaultColor;var s=i.onMouseOver?function(e){i.onMouseOver(e,g(r))}:null,o=i.onMouseLeave?function(e){i.onMouseLeave(e,g(r))}:null,l=i.onContextMenu?function(e){i.onContextMenu(e,g(r))}:null,u=function(e){r.plugin.viewer.scene.canvas.canvas.dispatchEvent(new WheelEvent("wheel",e))};return r._originDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._targetDot=new Je(r._container,{fillColor:r._color,zIndex:void 0!==e.zIndex?e.zIndex+2:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthWire=new qe(r._container,{color:r._color,thickness:2,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisWire=new qe(r._container,{color:"#FF0000",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisWire=new qe(r._container,{color:"green",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisWire=new qe(r._container,{color:"blue",thickness:1,thicknessClickable:6,zIndex:void 0!==e.zIndex?e.zIndex+1:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._lengthLabel=new Ze(r._container,{fillColor:r._color,prefix:"",text:"",zIndex:void 0!==e.zIndex?e.zIndex+4:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._xAxisLabel=new Ze(r._container,{fillColor:"red",prefix:"X",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._yAxisLabel=new Ze(r._container,{fillColor:"green",prefix:"Y",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._zAxisLabel=new Ze(r._container,{fillColor:"blue",prefix:"Z",text:"",zIndex:void 0!==e.zIndex?e.zIndex+3:void 0,onMouseOver:s,onMouseLeave:o,onMouseWheel:u,onContextMenu:l}),r._wpDirty=!1,r._vpDirty=!1,r._cpDirty=!1,r._sectionPlanesDirty=!0,r._visible=!1,r._originVisible=!1,r._targetVisible=!1,r._wireVisible=!1,r._axisVisible=!1,r._xAxisVisible=!1,r._yAxisVisible=!1,r._zAxisVisible=!1,r._axisEnabled=!0,r._labelsVisible=!1,r._clickable=!1,r._originMarker.on("worldPos",(function(e){r._originWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._targetMarker.on("worldPos",(function(e){r._targetWorld.set(e||[0,0,0]),r._wpDirty=!0,r._needUpdate(0)})),r._onViewMatrix=a.camera.on("viewMatrix",(function(){r._vpDirty=!0,r._needUpdate(0)})),r._onProjMatrix=a.camera.on("projMatrix",(function(){r._cpDirty=!0,r._needUpdate()})),r._onCanvasBoundary=a.canvas.on("boundary",(function(){r._cpDirty=!0,r._needUpdate(0)})),r._onMetricsUnits=a.metrics.on("units",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsScale=a.metrics.on("scale",(function(){r._cpDirty=!0,r._needUpdate()})),r._onMetricsOrigin=a.metrics.on("origin",(function(){r._cpDirty=!0,r._needUpdate()})),r._onSectionPlaneUpdated=a.on("sectionPlaneUpdated",(function(){r._sectionPlanesDirty=!0,r._needUpdate()})),r.approximate=i.approximate,r.visible=i.visible,r.originVisible=i.originVisible,r.targetVisible=i.targetVisible,r.wireVisible=i.wireVisible,r.axisVisible=i.axisVisible,r.xAxisVisible=i.xAxisVisible,r.yAxisVisible=i.yAxisVisible,r.zAxisVisible=i.zAxisVisible,r.labelsVisible=i.labelsVisible,r}return P(n,[{key:"_update",value:function(){if(this._visible){var e=this.plugin.viewer.scene;if(this._wpDirty&&(this._wp[0]=this._originWorld[0],this._wp[1]=this._originWorld[1],this._wp[2]=this._originWorld[2],this._wp[3]=1,this._wp[4]=this._targetWorld[0],this._wp[5]=this._originWorld[1],this._wp[6]=this._originWorld[2],this._wp[7]=1,this._wp[8]=this._targetWorld[0],this._wp[9]=this._targetWorld[1],this._wp[10]=this._originWorld[2],this._wp[11]=1,this._wp[12]=this._targetWorld[0],this._wp[13]=this._targetWorld[1],this._wp[14]=this._targetWorld[2],this._wp[15]=1,this._wpDirty=!1,this._vpDirty=!0),this._vpDirty&&($.transformPositions4(e.camera.viewMatrix,this._wp,this._vp),this._vp[3]=1,this._vp[7]=1,this._vp[11]=1,this._vp[15]=1,this._vpDirty=!1,this._cpDirty=!0),this._sectionPlanesDirty){if(this._isSliced(this._wp))return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setCulled(!0),this._yAxisWire.setCulled(!0),this._zAxisWire.setCulled(!0),this._lengthWire.setCulled(!0),this._originDot.setCulled(!0),void this._targetDot.setCulled(!0);this._xAxisLabel.setCulled(!1),this._yAxisLabel.setCulled(!1),this._zAxisLabel.setCulled(!1),this._lengthLabel.setCulled(!1),this._xAxisWire.setCulled(!1),this._yAxisWire.setCulled(!1),this._zAxisWire.setCulled(!1),this._lengthWire.setCulled(!1),this._originDot.setCulled(!1),this._targetDot.setCulled(!1),this._sectionPlanesDirty=!0}var t=this._originMarker.viewPos[2],n=this._targetMarker.viewPos[2];if(t>-.3||n>-.3)return this._xAxisLabel.setCulled(!0),this._yAxisLabel.setCulled(!0),this._zAxisLabel.setCulled(!0),this._lengthLabel.setCulled(!0),this._xAxisWire.setVisible(!1),this._yAxisWire.setVisible(!1),this._zAxisWire.setVisible(!1),this._lengthWire.setVisible(!1),this._originDot.setVisible(!1),void this._targetDot.setVisible(!1);if(this._cpDirty){$.transformPositions4(e.camera.project.matrix,this._vp,this._pp);for(var r=this._pp,i=this._cp,a=e.canvas.canvas.getBoundingClientRect(),s=this._container.getBoundingClientRect(),o=a.top-s.top,l=a.left-s.left,u=e.canvas.boundary,c=u[2],f=u[3],p=0,A=this.plugin.viewer.scene.metrics,d=A.scale,v=A.units,h=A.unitsInfo[v].abbrev,I=0,y=r.length;I1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e.viewer.scene)).pointerLens=i.pointerLens,r._active=!1,r._currentDistanceMeasurement=null,r._currentDistanceMeasurementInitState={wireVisible:null,axisVisible:null,xAxisVisible:null,yaxisVisible:null,zAxisVisible:null,targetVisible:null},r._initMarkerDiv(),r._onCameraControlHoverSnapOrSurface=null,r._onCameraControlHoverSnapOrSurfaceOff=null,r._onMouseDown=null,r._onMouseUp=null,r._onCanvasTouchStart=null,r._onCanvasTouchEnd=null,r._snapping=!1!==i.snapping,r._mouseState=0,r._attachPlugin(e,i),r}return P(n,[{key:"_initMarkerDiv",value:function(){var e=document.createElement("div");e.setAttribute("id","myMarkerDiv");var t=this.scene.canvas.canvas;t.parentNode.insertBefore(e,t),e.style.background="black",e.style.border="2px solid blue",e.style.borderRadius="10px",e.style.width="5px",e.style.height="5px",e.style.margin="-200px -200px",e.style.zIndex="100",e.style.position="absolute",e.style.pointerEvents="none",this._markerDiv=e}},{key:"_destroyMarkerDiv",value:function(){if(this._markerDiv){var e=document.getElementById("myMarkerDiv");e.parentNode.removeChild(e),this._markerDiv=null}}},{key:"_attachPlugin",value:function(e){this.distanceMeasurementsPlugin=e,this.plugin=e}},{key:"active",get:function(){return this._active}},{key:"snapping",get:function(){return this._snapping},set:function(e){e!==this._snapping?(this._snapping=e,this.deactivate(),this.activate()):this._snapping=e}},{key:"activate",value:function(){var e=this;if(!this._active){this._markerDiv||this._initMarkerDiv(),this.fire("activated",!0);var t=this.distanceMeasurementsPlugin,n=this.scene,r=t.viewer.cameraControl,i=n.canvas.canvas;n.input;var a,s,o=!1,l=$.vec3(),u=$.vec2(),c=null;this._mouseState=0,this._onCameraControlHoverSnapOrSurface=r.on(this._snapping?"hoverSnapOrSurface":"hoverSurface",(function(t){var n=t.snappedCanvasPos||t.canvasPos;o=!0,l.set(t.worldPos),u.set(t.canvasPos),0===e._mouseState?(e._markerDiv.style.marginLeft="".concat(n[0]-5,"px"),e._markerDiv.style.marginTop="".concat(n[1]-5,"px"),e._markerDiv.style.background="pink",t.snappedToVertex||t.snappedToEdge?(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.snappedCanvasPos||t.canvasPos,e.pointerLens.snapped=!0),e._markerDiv.style.background="greenyellow",e._markerDiv.style.border="2px solid green"):(e.pointerLens&&(e.pointerLens.visible=!0,e.pointerLens.canvasPos=t.canvasPos,e.pointerLens.snappedCanvasPos=t.canvasPos,e.pointerLens.snapped=!1),e._markerDiv.style.background="pink",e._markerDiv.style.border="2px solid red"),c=t.entity):(e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px"),i.style.cursor="pointer",e._currentDistanceMeasurement&&(e._currentDistanceMeasurement.wireVisible=e._currentDistanceMeasurementInitState.wireVisible,e._currentDistanceMeasurement.axisVisible=e._currentDistanceMeasurementInitState.axisVisible&&e.distanceMeasurementsPlugin.defaultAxisVisible,e._currentDistanceMeasurement.xAxisVisible=e._currentDistanceMeasurementInitState.xAxisVisible&&e.distanceMeasurementsPlugin.defaultXAxisVisible,e._currentDistanceMeasurement.yAxisVisible=e._currentDistanceMeasurementInitState.yAxisVisible&&e.distanceMeasurementsPlugin.defaultYAxisVisible,e._currentDistanceMeasurement.zAxisVisible=e._currentDistanceMeasurementInitState.zAxisVisible&&e.distanceMeasurementsPlugin.defaultZAxisVisible,e._currentDistanceMeasurement.targetVisible=e._currentDistanceMeasurementInitState.targetVisible,e._currentDistanceMeasurement.target.worldPos=l.slice(),e._markerDiv.style.marginLeft="-10000px",e._markerDiv.style.marginTop="-10000px")})),i.addEventListener("mousedown",this._onMouseDown=function(e){1===e.which&&(a=e.clientX,s=e.clientY)}),i.addEventListener("mouseup",this._onMouseUp=function(n){1===n.which&&(n.clientX>a+20||n.clientXs+20||n.clientY1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"DistanceMeasurements",e))._pointerLens=i.pointerLens,r._container=i.container||document.body,r._defaultControl=null,r._measurements={},r.labelMinAxisLength=i.labelMinAxisLength,r.defaultVisible=!1!==i.defaultVisible,r.defaultOriginVisible=!1!==i.defaultOriginVisible,r.defaultTargetVisible=!1!==i.defaultTargetVisible,r.defaultWireVisible=!1!==i.defaultWireVisible,r.defaultLabelsVisible=!1!==i.defaultLabelsVisible,r.defaultAxisVisible=!1!==i.defaultAxisVisible,r.defaultXAxisVisible=!1!==i.defaultXAxisVisible,r.defaultYAxisVisible=!1!==i.defaultYAxisVisible,r.defaultZAxisVisible=!1!==i.defaultZAxisVisible,r.defaultColor=void 0!==i.defaultColor?i.defaultColor:"#00BBFF",r.zIndex=i.zIndex||1e4,r._onMouseOver=function(e,t){r.fire("mouseOver",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onMouseLeave=function(e,t){r.fire("mouseLeave",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r._onContextMenu=function(e,t){r.fire("contextMenu",{plugin:g(r),distanceMeasurement:t,measurement:t,event:e})},r}return P(n,[{key:"getContainerElement",value:function(){return this._container}},{key:"send",value:function(e,t){}},{key:"pointerLens",get:function(){return this._pointerLens}},{key:"control",get:function(){return this._defaultControl||(this._defaultControl=new is(this,{})),this._defaultControl}},{key:"measurements",get:function(){return this._measurements}},{key:"labelMinAxisLength",get:function(){return this._labelMinAxisLength},set:function(e){e<1&&(this.error("labelMinAxisLength must be >= 1; defaulting to 25"),e=25),this._labelMinAxisLength=e||25}},{key:"createMeasurement",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.viewer.scene.components[t.id]&&(this.error("Viewer scene component with this ID already exists: "+t.id),delete t.id);var n=t.origin,r=t.target,i=new ns(this,{id:t.id,plugin:this,container:this._container,origin:{entity:n.entity,worldPos:n.worldPos},target:{entity:r.entity,worldPos:r.worldPos},visible:t.visible,wireVisible:t.wireVisible,axisVisible:!1!==t.axisVisible&&!1!==this.defaultAxisVisible,xAxisVisible:!1!==t.xAxisVisible&&!1!==this.defaultXAxisVisible,yAxisVisible:!1!==t.yAxisVisible&&!1!==this.defaultYAxisVisible,zAxisVisible:!1!==t.zAxisVisible&&!1!==this.defaultZAxisVisible,labelsVisible:!1!==t.labelsVisible&&!1!==this.defaultLabelsVisible,originVisible:t.originVisible,targetVisible:t.targetVisible,color:t.color,onMouseOver:this._onMouseOver,onMouseLeave:this._onMouseLeave,onContextMenu:this._onContextMenu});return this._measurements[i.id]=i,i.on("destroyed",(function(){delete e._measurements[i.id]})),this.fire("measurementCreated",i),i}},{key:"destroyMeasurement",value:function(e){var t=this._measurements[e];t?(t.destroy(),this.fire("measurementDestroyed",t)):this.log("DistanceMeasurement not found: "+e)}},{key:"setLabelsShown",value:function(e){for(var t=0,n=Object.entries(this.measurements);t1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"FastNav",e))._hideColorTexture=!1!==i.hideColorTexture,r._hidePBR=!1!==i.hidePBR,r._hideSAO=!1!==i.hideSAO,r._hideEdges=!1!==i.hideEdges,r._hideTransparentObjects=!!i.hideTransparentObjects,r._scaleCanvasResolution=!!i.scaleCanvasResolution,r._scaleCanvasResolutionFactor=i.scaleCanvasResolutionFactor||.6,r._delayBeforeRestore=!1!==i.delayBeforeRestore,r._delayBeforeRestoreSeconds=i.delayBeforeRestoreSeconds||.5;var a=1e3*r._delayBeforeRestoreSeconds,s=!1,o=function(){a=1e3*r._delayBeforeRestoreSeconds,s||(e.scene._renderer.setColorTextureEnabled(!r._hideColorTexture),e.scene._renderer.setPBREnabled(!r._hidePBR),e.scene._renderer.setSAOEnabled(!r._hideSAO),e.scene._renderer.setTransparentEnabled(!r._hideTransparentObjects),e.scene._renderer.setEdgesEnabled(!r._hideEdges),r._scaleCanvasResolution?e.scene.canvas.resolutionScale=r._scaleCanvasResolutionFactor:e.scene.canvas.resolutionScale=1,s=!0)},l=function(){e.scene.canvas.resolutionScale=1,e.scene._renderer.setEdgesEnabled(!0),e.scene._renderer.setColorTextureEnabled(!0),e.scene._renderer.setPBREnabled(!0),e.scene._renderer.setSAOEnabled(!0),e.scene._renderer.setTransparentEnabled(!0),s=!1};r._onCanvasBoundary=e.scene.canvas.on("boundary",o),r._onCameraMatrix=e.scene.camera.on("matrix",o),r._onSceneTick=e.scene.on("tick",(function(e){s&&(a-=e.deltaTime,(!r._delayBeforeRestore||a<=0)&&l())}));var u=!1;return r._onSceneMouseDown=e.scene.input.on("mousedown",(function(){u=!0})),r._onSceneMouseUp=e.scene.input.on("mouseup",(function(){u=!1})),r._onSceneMouseMove=e.scene.input.on("mousemove",(function(){u&&o()})),r}return P(n,[{key:"hideColorTexture",get:function(){return this._hideColorTexture},set:function(e){this._hideColorTexture=e}},{key:"hidePBR",get:function(){return this._hidePBR},set:function(e){this._hidePBR=e}},{key:"hideSAO",get:function(){return this._hideSAO},set:function(e){this._hideSAO=e}},{key:"hideEdges",get:function(){return this._hideEdges},set:function(e){this._hideEdges=e}},{key:"hideTransparentObjects",get:function(){return this._hideTransparentObjects},set:function(e){this._hideTransparentObjects=!1!==e}},{key:"scaleCanvasResolution",get:function(){return this._scaleCanvasResolution},set:function(e){this._scaleCanvasResolution=e}},{key:"scaleCanvasResolutionFactor",get:function(){return this._scaleCanvasResolutionFactor},set:function(e){this._scaleCanvasResolutionFactor=e||.6}},{key:"delayBeforeRestore",get:function(){return this._delayBeforeRestore},set:function(e){this._delayBeforeRestore=e}},{key:"delayBeforeRestoreSeconds",get:function(){return this._delayBeforeRestoreSeconds},set:function(e){this._delayBeforeRestoreSeconds=null!=e?e:.5}},{key:"send",value:function(e,t){}},{key:"destroy",value:function(){this.viewer.scene.camera.off(this._onCameraMatrix),this.viewer.scene.canvas.off(this._onCanvasBoundary),this.viewer.scene.input.off(this._onSceneMouseDown),this.viewer.scene.input.off(this._onSceneMouseUp),this.viewer.scene.input.off(this._onSceneMouseMove),this.viewer.scene.off(this._onSceneTick),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),os=function(){function e(){b(this,e)}return P(e,[{key:"getMetaModel",value:function(e,t,n){le.loadJSON(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLTF",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getGLB",value:function(e,t,n){le.loadArraybuffer(e,(function(e){t(e)}),(function(e){n(e)}))}},{key:"getArrayBuffer",value:function(e,t,n,r){!function(e,t,n,r){var i=function(){};n=n||i,r=r||i;var a=/^data:(.*?)(;base64)?,(.*)$/,s=t.match(a);if(s){var o=!!s[2],l=s[3];l=window.decodeURIComponent(l),o&&(l=window.atob(l));try{for(var u=new ArrayBuffer(l.length),c=new Uint8Array(u),f=0;f0&&void 0!==arguments[0]?arguments[0]:{};b(this,e),this._eventSubIDMap=null,this._eventSubEvents=null,this._eventSubs=null,this._events=null,this._locale="en",this._messages={},this._locales=[],this._locale="en",this.messages=t.messages,this.locale=t.locale}return P(e,[{key:"messages",set:function(e){this._messages=e||{},this._locales=Object.keys(this._messages),this.fire("updated",this)}},{key:"loadMessages",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t in e)this._messages[t]=e[t];this.messages=this._messages}},{key:"clearMessages",value:function(){this.messages={}}},{key:"locales",get:function(){return this._locales}},{key:"locale",get:function(){return this._locale},set:function(e){e=e||"de",this._locale!==e&&(this._locale=e,this.fire("updated",e))}},{key:"translate",value:function(e,t){var n=this._messages[this._locale];if(!n)return null;var r=us(e,n);return r?t?cs(r,t):r:null}},{key:"translatePlurals",value:function(e,t,n){var r=this._messages[this._locale];if(!r)return null;var i=us(e,r);return(i=0===(t=parseInt(""+t,10))?i.zero:t>1?i.other:i.one)?(i=cs(i,[t]),n&&(i=cs(i,n)),i):null}},{key:"fire",value:function(e,t,n){this._events||(this._events={}),this._eventSubs||(this._eventSubs={}),!0!==n&&(this._events[e]=t||!0);var r=this._eventSubs[e];if(r)for(var i in r){if(r.hasOwnProperty(i))r[i].callback(t)}}},{key:"on",value:function(e,t){this._events||(this._events={}),this._eventSubIDMap||(this._eventSubIDMap=new G),this._eventSubEvents||(this._eventSubEvents={}),this._eventSubs||(this._eventSubs={});var n=this._eventSubs[e];n||(n={},this._eventSubs[e]=n);var r=this._eventSubIDMap.addItem();n[r]={callback:t},this._eventSubEvents[r]=e;var i=this._events[e];return void 0!==i&&t(i),r}},{key:"off",value:function(e){if(null!=e&&this._eventSubEvents){var t=this._eventSubEvents[e];if(t){delete this._eventSubEvents[e];var n=this._eventSubs[t];n&&delete n[e],this._eventSubIDMap.removeItem(e)}}}}]),e}();function us(e,t){if(t[e])return t[e];for(var n=e.split("."),r=t,i=0,a=n.length;r&&i1&&void 0!==arguments[1]?arguments[1]:[];return e.replace(/\{\{|\}\}|\{(\d+)\}/g,(function(e,n){return"{{"===e?"{":"}}"===e?"}":t[n]}))}var fs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).t=i.t,r}return P(n,[{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"tangent",get:function(){return this.getTangent(this._t)}},{key:"length",get:function(){var e=this._getLengths();return e[e.length-1]}},{key:"getTangent",value:function(e){var t=1e-4;void 0===e&&(e=this._t);var n=e-t,r=e+t;n<0&&(n=0),r>1&&(r=1);var i=this.getPoint(n),a=this.getPoint(r),s=$.subVec3(a,i,[]);return $.normalizeVec3(s,[])}},{key:"getPointAt",value:function(e){var t=this.getUToTMapping(e);return this.getPoint(t)}},{key:"getPoints",value:function(e){e||(e=5);var t,n=[];for(t=0;t<=e;t++)n.push(this.getPoint(t/e));return n}},{key:"_getLengths",value:function(e){if(e||(e=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===e+1&&!this.needsUpdate)return this.cacheArcLengths;this.needsUpdate=!1;var t,n,r=[],i=this.getPoint(0),a=0;for(r.push(0),n=1;n<=e;n++)t=this.getPoint(n/e),a+=$.lenVec3($.subVec3(t,i,[])),r.push(a),i=t;return this.cacheArcLengths=r,r}},{key:"_updateArcLengths",value:function(){this.needsUpdate=!0,this._getLengths()}},{key:"getUToTMapping",value:function(e,t){var n,r=this._getLengths(),i=0,a=r.length;n=t||e*r[a-1];for(var s,o=0,l=a-1;o<=l;)if((s=r[i=Math.floor(o+(l-o)/2)]-n)<0)o=i+1;else{if(!(s>0)){l=i;break}l=i-1}if(r[i=l]===n)return i/(a-1);var u=r[i];return(i+(n-u)/(r[i+1]-u))/(a-1)}}]),n}(),ps=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).points=i.points,r.t=i.t,r}return P(n,[{key:"points",get:function(){return this._points},set:function(e){this._points=e||[]}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=this.points;if(!(t.length<3)){var n=(t.length-1)*e,r=Math.floor(n),i=n-r,a=t[0===r?r:r-1],s=t[r],o=t[r>t.length-2?t.length-1:r+1],l=t[r>t.length-3?t.length-1:r+2],u=$.vec3();return u[0]=$.catmullRomInterpolate(a[0],s[0],o[0],l[0],i),u[1]=$.catmullRomInterpolate(a[1],s[1],o[1],l[1],i),u[2]=$.catmullRomInterpolate(a[2],s[2],o[2],l[2],i),u}this.error("Can't sample point from SplineCurve - not enough points on curve - returning [0,0,0].")}},{key:"getJSON",value:function(){return{points:points,t:this._t}}}]),n}(),As=$.vec3(),ds=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._frames=[],r._eyeCurve=new ps(g(r)),r._lookCurve=new ps(g(r)),r._upCurve=new ps(g(r)),i.frames&&(r.addFrames(i.frames),r.smoothFrameTimes(1)),r}return P(n,[{key:"type",get:function(){return"CameraPath"}},{key:"frames",get:function(){return this._frames}},{key:"eyeCurve",get:function(){return this._eyeCurve}},{key:"lookCurve",get:function(){return this._lookCurve}},{key:"upCurve",get:function(){return this._upCurve}},{key:"saveFrame",value:function(e){var t=this.scene.camera;this.addFrame(e,t.eye,t.look,t.up)}},{key:"addFrame",value:function(e,t,n,r){var i={t:e,eye:t.slice(0),look:n.slice(0),up:r.slice(0)};this._frames.push(i),this._eyeCurve.points.push(i.eye),this._lookCurve.points.push(i.look),this._upCurve.points.push(i.up)}},{key:"addFrames",value:function(e){for(var t,n=0,r=e.length;n1?1:e,t.eye=this._eyeCurve.getPoint(e,As),t.look=this._lookCurve.getPoint(e,As),t.up=this._upCurve.getPoint(e,As)}},{key:"sampleFrame",value:function(e,t,n,r){e=e<0?0:e>1?1:e,this._eyeCurve.getPoint(e,t),this._lookCurve.getPoint(e,n),this._upCurve.getPoint(e,r)}},{key:"smoothFrameTimes",value:function(e){if(0!==this._frames.length){var t=$.vec3(),n=0;this._frames[0].t=0;for(var r=[],i=1,a=this._frames.length;i1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._look1=$.vec3(),r._eye1=$.vec3(),r._up1=$.vec3(),r._look2=$.vec3(),r._eye2=$.vec3(),r._up2=$.vec3(),r._orthoScale1=1,r._orthoScale2=1,r._flying=!1,r._flyEyeLookUp=!1,r._flyingEye=!1,r._flyingLook=!1,r._callback=null,r._callbackScope=null,r._time1=null,r._time2=null,r.easing=!1!==i.easing,r.duration=i.duration,r.fit=i.fit,r.fitFOV=i.fitFOV,r.trail=i.trail,r}return P(n,[{key:"type",get:function(){return"CameraFlightAnimation"}},{key:"flyTo",value:function(e,t,n){e=e||this.scene,this._flying&&this.stop(),this._flying=!1,this._flyingEye=!1,this._flyingLook=!1,this._flyingEyeLookUp=!1,this._callback=t,this._callbackScope=n;var r,i,a,s,o,l=this.scene.camera,u=!!e.projection&&e.projection!==l.projection;if(this._eye1[0]=l.eye[0],this._eye1[1]=l.eye[1],this._eye1[2]=l.eye[2],this._look1[0]=l.look[0],this._look1[1]=l.look[1],this._look1[2]=l.look[2],this._up1[0]=l.up[0],this._up1[1]=l.up[1],this._up1[2]=l.up[2],this._orthoScale1=l.ortho.scale,this._orthoScale2=e.orthoScale||this._orthoScale1,e.aabb)r=e.aabb;else if(6===e.length)r=e;else if(e.eye&&e.look||e.up)i=e.eye,a=e.look,s=e.up;else if(e.eye)i=e.eye;else if(e.look)a=e.look;else{var c=e;if((le.isNumeric(c)||le.isString(c))&&(o=c,!(c=this.scene.components[o])))return this.error("Component not found: "+le.inQuotes(o)),void(t&&(n?t.call(n):t()));u||(r=c.aabb||this.scene.aabb)}var f=e.poi;if(r){if(r[3]=1;e>1&&(e=1);var r=this.easing?n._ease(e,0,1,1):e,i=this.scene.camera;if(this._flyingEye||this._flyingLook?this._flyingEye?($.subVec3(i.eye,i.look,ms),i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.subVec3(Is,ms,hs)):this._flyingLook&&(i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)):this._flyingEyeLookUp&&(i.eye=$.lerpVec3(r,0,1,this._eye1,this._eye2,Is),i.look=$.lerpVec3(r,0,1,this._look1,this._look2,hs),i.up=$.lerpVec3(r,0,1,this._up1,this._up2,ys)),this._projection2){var a="ortho"===this._projection2?n._easeOutExpo(e,0,1,1):n._easeInCubic(e,0,1,1);i.customProjection.matrix=$.lerpMat4(a,0,1,this._projMatrix1,this._projMatrix2)}else i.ortho.scale=this._orthoScale1+e*(this._orthoScale2-this._orthoScale1);if(t)return i.ortho.scale=this._orthoScale2,void this.stop();he.scheduleTask(this._update,this)}}},{key:"stop",value:function(){if(this._flying){this._flying=!1,this._time1=null,this._time2=null,this._projection2&&(this.scene.camera.projection=this._projection2);var e=this._callback;e&&(this._callback=null,this._callbackScope?e.call(this._callbackScope):e()),this.fire("stopped",!0,!0)}}},{key:"cancel",value:function(){this._flying&&(this._flying=!1,this._time1=null,this._time2=null,this._callback&&(this._callback=null),this.fire("canceled",!0,!0))}},{key:"duration",get:function(){return this._duration/1e3},set:function(e){this._duration=e?1e3*e:500,this.stop()}},{key:"fit",get:function(){return this._fit},set:function(e){this._fit=!1!==e}},{key:"fitFOV",get:function(){return this._fitFOV},set:function(e){this._fitFOV=e||45}},{key:"trail",get:function(){return this._trail},set:function(e){this._trail=!!e}},{key:"destroy",value:function(){this.stop(),v(E(n.prototype),"destroy",this).call(this)}}],[{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"_easeInCubic",value:function(e,t,n,r){return n*(e/=r)*e*e+t}},{key:"_easeOutExpo",value:function(e,t,n,r){return n*(1-Math.pow(2,-10*e/r))+t}}]),n}(),gs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cameraFlightAnimation=new ws(g(r)),r._t=0,r.state=n.SCRUBBING,r._playingFromT=0,r._playingToT=0,r._playingRate=i.playingRate||1,r._playingDir=1,r._lastTime=null,r.cameraPath=i.cameraPath,r._tick=r.scene.on("tick",r._updateT,g(r)),r}return P(n,[{key:"type",get:function(){return"CameraPathAnimation"}},{key:"_updateT",value:function(){var e=this._cameraPath;if(e){var t,r,i=performance.now(),a=this._lastTime?.001*(i-this._lastTime):0;if(this._lastTime=i,0!==a)switch(this.state){case n.SCRUBBING:return;case n.PLAYING:if(this._t+=this._playingRate*a,0===(t=this._cameraPath.frames.length)||this._playingDir<0&&this._t<=0||this._playingDir>0&&this._t>=this._cameraPath.frames[t-1].t)return this.state=n.SCRUBBING,this._t=this._cameraPath.frames[t-1].t,void this.fire("stopped");e.loadFrame(this._t);break;case n.PLAYING_TO:r=this._t+this._playingRate*a*this._playingDir,(this._playingDir<0&&r<=this._playingToT||this._playingDir>0&&r>=this._playingToT)&&(r=this._playingToT,this.state=n.SCRUBBING,this.fire("stopped")),this._t=r,e.loadFrame(this._t)}}}},{key:"_ease",value:function(e,t,n,r){return-n*(e/=r)*(e-2)+t}},{key:"cameraPath",get:function(){return this._cameraPath},set:function(e){this._cameraPath=e}},{key:"rate",get:function(){return this._playingRate},set:function(e){this._playingRate=e}},{key:"play",value:function(){this._cameraPath&&(this._lastTime=null,this.state=n.PLAYING)}},{key:"playToT",value:function(e){this._cameraPath&&(this._playingFromT=this._t,this._playingToT=e,this._playingDir=this._playingToT-this._playingFromT<0?-1:1,this._lastTime=null,this.state=n.PLAYING_TO)}},{key:"playToFrame",value:function(e){var t=this._cameraPath;if(t){var n=t.frames[e];n?this.playToT(n.t):this.error("playToFrame - frame index out of range: "+e)}}},{key:"flyToFrame",value:function(e,t){var r=this._cameraPath;if(r){var i=r.frames[e];i?(this.state=n.SCRUBBING,this._cameraFlightAnimation.flyTo(i,t)):this.error("flyToFrame - frame index out of range: "+e)}}},{key:"scrubToT",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(this._t=e,t.loadFrame(this._t),this.state=n.SCRUBBING))}},{key:"scrubToFrame",value:function(e){var t=this._cameraPath;t&&(this.scene.camera&&(t.frames[e]?(t.loadFrame(this._t),this.state=n.SCRUBBING):this.error("playToFrame - frame index out of range: "+e)))}},{key:"stop",value:function(){this.state=n.SCRUBBING,this.fire("stopped")}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene.off(this._tick)}}]),n}();gs.STOPPED=0,gs.SCRUBBING=1,gs.PLAYING=2,gs.PLAYING_TO=3;var Es=$.vec3(),Ts=$.vec3();$.vec3();var bs=$.vec3([0,-1,0]),Ds=$.vec4([0,0,0,1]),Ps=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r)),r._plane=new Ji(g(r),{geometry:new Cn(g(r),Ga({center:[0,0,0],xSize:1,zSize:1,xSegments:10,zSegments:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],specular:[0,0,0],diffuseMap:r._texture,emissiveMap:r._texture,backfaces:!0}),clippable:i.clippable}),r._grid=new Ji(g(r),{geometry:new Cn(g(r),Ua({size:1,divisions:10})),material:new Nn(g(r),{diffuse:[0,0,0],ambient:[0,0,0],emissive:[.2,.8,.2]}),position:[0,.001,0],clippable:i.clippable}),r._node=new da(g(r),{rotation:[0,0,0],position:[0,0,0],scale:[1,1,1],clippable:!1,children:[r._plane,r._grid]}),r._gridVisible=!1,r.visible=!0,r.gridVisible=i.gridVisible,r.position=i.position,r.rotation=i.rotation,r.dir=i.dir,r.size=i.size,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"visible",get:function(){return this._plane.visible},set:function(e){this._plane.visible=e,this._grid.visible=this._gridVisible&&e}},{key:"gridVisible",get:function(){return this._gridVisible},set:function(e){e=!1!==e,this._gridVisible=e,this._grid.visible=this._gridVisible&&this.visible}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=e.width,this._imageSize[1]=e.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"position",get:function(){return this._pos},set:function(e){this._pos.set(e||[0,0,0]),Oe(this._pos,this._origin,this._rtcPos),this._node.origin=this._origin,this._node.position=this._rtcPos}},{key:"rotation",get:function(){return this._node.rotation},set:function(e){this._node.rotation=e}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"dir",get:function(){return this._dir},set:function(e){if(this._dir.set(e||[0,0,-1]),e){var t=this.scene.center,n=[-this._dir[0],-this._dir[1],-this._dir[2]];$.subVec3(t,this.position,Es);var r=-$.dotVec3(n,Es);$.normalizeVec3(n),$.mulVec3Scalar(n,r,Ts),$.vec3PairToQuaternion(bs,e,Ds),this._node.quaternion=Ds}}},{key:"collidable",get:function(){return this._node.collidable},set:function(e){this._node.collidable=!1!==e}},{key:"clippable",get:function(){return this._node.clippable},set:function(e){this._node.clippable=!1!==e}},{key:"pickable",get:function(){return this._node.pickable},set:function(e){this._node.pickable=!1!==e}},{key:"opacity",get:function(){return this._node.opacity},set:function(e){this._node.opacity=e}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}},{key:"_updatePlaneSizeFromImage",value:function(){var e=this._size,t=this._imageSize[0],n=this._imageSize[1];if(t>n){var r=n/t;this._node.scale=[e,1,e*r]}else{var i=t/n;this._node.scale=[e*i,1,e]}}}]),n}(),Rs=function(e){I(n,dn);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=g(r=t.call(this,e,i));r._shadowRenderBuf=null,r._shadowViewMatrix=null,r._shadowProjMatrix=null,r._shadowViewMatrixDirty=!0,r._shadowProjMatrixDirty=!0;var s=r.scene.camera,o=r.scene.canvas;return r._onCameraViewMatrix=s.on("viewMatrix",(function(){r._shadowViewMatrixDirty=!0})),r._onCameraProjMatrix=s.on("projMatrix",(function(){r._shadowProjMatrixDirty=!0})),r._onCanvasBoundary=o.on("boundary",(function(){r._shadowProjMatrixDirty=!0})),r._state=new Wt({type:"point",pos:$.vec3([1,1,1]),color:$.vec3([.7,.7,.8]),intensity:1,attenuation:[0,0,0],space:i.space||"view",castsShadow:!1,getShadowViewMatrix:function(){if(a._shadowViewMatrixDirty){a._shadowViewMatrix||(a._shadowViewMatrix=$.identityMat4());var e=a._state.pos,t=s.look,n=s.up;$.lookAtMat4v(e,t,n,a._shadowViewMatrix),a._shadowViewMatrixDirty=!1}return a._shadowViewMatrix},getShadowProjMatrix:function(){if(a._shadowProjMatrixDirty){a._shadowProjMatrix||(a._shadowProjMatrix=$.identityMat4());var e=a.scene.canvas.canvas;$.perspectiveMat4(Math.PI/180*70,e.clientWidth/e.clientHeight,.1,500,a._shadowProjMatrix),a._shadowProjMatrixDirty=!1}return a._shadowProjMatrix},getShadowRenderBuf:function(){return a._shadowRenderBuf||(a._shadowRenderBuf=new Ut(a.scene.canvas.canvas,a.scene.canvas.gl,{size:[1024,1024]})),a._shadowRenderBuf}}),r.pos=i.pos,r.color=i.color,r.intensity=i.intensity,r.constantAttenuation=i.constantAttenuation,r.linearAttenuation=i.linearAttenuation,r.quadraticAttenuation=i.quadraticAttenuation,r.castsShadow=i.castsShadow,r.scene._lightCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"PointLight"}},{key:"pos",get:function(){return this._state.pos},set:function(e){this._state.pos.set(e||[1,1,1]),this._shadowViewMatrixDirty=!0,this.glRedraw()}},{key:"color",get:function(){return this._state.color},set:function(e){this._state.color.set(e||[.7,.7,.8]),this.glRedraw()}},{key:"intensity",get:function(){return this._state.intensity},set:function(e){e=void 0!==e?e:1,this._state.intensity=e,this.glRedraw()}},{key:"constantAttenuation",get:function(){return this._state.attenuation[0]},set:function(e){this._state.attenuation[0]=e||0,this.glRedraw()}},{key:"linearAttenuation",get:function(){return this._state.attenuation[1]},set:function(e){this._state.attenuation[1]=e||0,this.glRedraw()}},{key:"quadraticAttenuation",get:function(){return this._state.attenuation[2]},set:function(e){this._state.attenuation[2]=e||0,this.glRedraw()}},{key:"castsShadow",get:function(){return this._state.castsShadow},set:function(e){e=!!e,this._state.castsShadow!==e&&(this._state.castsShadow=e,this._shadowViewMatrixDirty=!0,this.glRedraw())}},{key:"destroy",value:function(){var e=this.scene.camera,t=this.scene.canvas;e.off(this._onCameraViewMatrix),e.off(this._onCameraProjMatrix),t.off(this._onCanvasBoundary),v(E(n.prototype),"destroy",this).call(this),this._state.destroy(),this._shadowRenderBuf&&this._shadowRenderBuf.destroy(),this.scene._lightDestroyed(this),this.glRedraw()}}]),n}();function Cs(e){return 0==(e&e-1)}function _s(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1}var Bs=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n);var a=(r=t.call(this,e,i)).scene.canvas.gl;return r._state=new Wt({texture:new ba({gl:a,target:a.TEXTURE_CUBE_MAP}),flipY:r._checkFlipY(i.minFilter),encoding:r._checkEncoding(i.encoding),minFilter:1008,magFilter:1006,wrapS:1001,wrapT:1001,mipmaps:!0}),r._src=i.src,r._images=[],r._loadSrc(i.src),re.memory.textures++,r}return P(n,[{key:"type",get:function(){return"CubeTexture"}},{key:"_checkFlipY",value:function(e){return!!e}},{key:"_checkEncoding",value:function(e){return 3e3!==(e=e||3e3)&&3001!==e&&(this.error("Unsupported value for 'encoding' - supported values are LinearEncoding and sRGBEncoding. Defaulting to LinearEncoding."),e=3e3),e}},{key:"_webglContextRestored",value:function(){this.scene.canvas.gl,this._state.texture=null,this._src&&this._loadSrc(this._src)}},{key:"_loadSrc",value:function(e){var t=this,n=this.scene.canvas.gl;this._images=[];for(var r=!1,i=0,a=function(a){var s,o,l=new Image;l.onload=(s=l,o=a,function(){if(!r&&(s=function(e){if(!Cs(e.width)||!Cs(e.height)){var t=document.createElement("canvas");t.width=_s(e.width),t.height=_s(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),e=t}return e}(s),t._images[o]=s,6==++i)){var e=t._state.texture;e||(e=new ba({gl:n,target:n.TEXTURE_CUBE_MAP}),t._state.texture=e),e.setImage(t._images,t._state),t.fire("loaded",t._src,!1),t.glRedraw()}}),l.onerror=function(){r=!0},l.src=e[a]},s=0;s1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightsState.addReflectionMap(r._state),r.scene._reflectionMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"ReflectionMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._reflectionMapDestroyed(this)}}]),n}(),Ss=function(e){I(n,Bs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).scene._lightMapCreated(g(r)),r}return P(n,[{key:"type",get:function(){return"LightMap"}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this),this.scene._lightMapDestroyed(this)}}]),n}(),Ns=function(e){I(n,Xe);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,{entity:i.entity,occludable:i.occludable,worldPos:i.worldPos}))._occluded=!1,r._visible=!0,r._src=null,r._image=null,r._pos=$.vec3(),r._origin=$.vec3(),r._rtcPos=$.vec3(),r._dir=$.vec3(),r._size=1,r._imageSize=$.vec2(),r._texture=new Ba(g(r),{src:i.src}),r._geometry=new Cn(g(r),{primitive:"triangles",positions:[3,3,0,-3,3,0,-3,-3,0,3,-3,0],normals:[-1,0,0,-1,0,0,-1,0,0,-1,0,0],uv:[1,-1,0,-1,0,0,1,0],indices:[0,1,2,0,2,3]}),r._mesh=new Ji(g(r),{geometry:r._geometry,material:new Nn(g(r),{ambient:[.9,.3,.9],shininess:30,diffuseMap:r._texture,backfaces:!0}),scale:[1,1,1],position:i.worldPos,rotation:[90,0,0],billboard:"spherical",occluder:!1}),r.visible=!0,r.collidable=i.collidable,r.clippable=i.clippable,r.pickable=i.pickable,r.opacity=i.opacity,r.size=i.size,i.image?r.image=i.image:r.src=i.src,r}return P(n,[{key:"_setVisible",value:function(e){this._occluded=!e,this._mesh.visible=this._visible&&!this._occluded,v(E(n.prototype),"_setVisible",this).call(this,e)}},{key:"visible",get:function(){return this._visible},set:function(e){this._visible=null==e||e,this._mesh.visible=this._visible&&!this._occluded}},{key:"image",get:function(){return this._image},set:function(e){this._image=e,this._image&&(this._imageSize[0]=this._image.width,this._imageSize[1]=this._image.height,this._updatePlaneSizeFromImage(),this._src=null,this._texture.image=this._image)}},{key:"src",get:function(){return this._src},set:function(e){var t=this;if(this._src=e,this._src){this._image=null;var n=new Image;n.onload=function(){t._texture.image=n,t._imageSize[0]=n.width,t._imageSize[1]=n.height,t._updatePlaneSizeFromImage()},n.src=this._src}}},{key:"size",get:function(){return this._size},set:function(e){this._size=null==e?1:e,this._image&&this._updatePlaneSizeFromImage()}},{key:"collidable",get:function(){return this._mesh.collidable},set:function(e){this._mesh.collidable=!1!==e}},{key:"clippable",get:function(){return this._mesh.clippable},set:function(e){this._mesh.clippable=!1!==e}},{key:"pickable",get:function(){return this._mesh.pickable},set:function(e){this._mesh.pickable=!1!==e}},{key:"opacity",get:function(){return this._mesh.opacity},set:function(e){this._mesh.opacity=e}},{key:"_updatePlaneSizeFromImage",value:function(){var e=.5*this._size,t=this._imageSize[0],n=this._imageSize[1],r=n/t;this._geometry.positions=t>n?[e,e*r,0,-e,e*r,0,-e,-e*r,0,e,-e*r,0]:[e/r,e,0,-e/r,e,0,-e/r,-e,0,e/r,-e,0]}}]),n}(),Ls=function(){function e(t){b(this,e),this._eye=$.vec3(),this._look=$.vec3(),this._up=$.vec3(),this._projection={},t&&this.saveCamera(t)}return P(e,[{key:"saveCamera",value:function(e){var t=e.camera,n=t.project;switch(this._eye.set(t.eye),this._look.set(t.look),this._up.set(t.up),t.projection){case"perspective":this._projection={projection:"perspective",fov:n.fov,fovAxis:n.fovAxis,near:n.near,far:n.far};break;case"ortho":this._projection={projection:"ortho",scale:n.scale,near:n.near,far:n.far};break;case"frustum":this._projection={projection:"frustum",left:n.left,right:n.right,top:n.top,bottom:n.bottom,near:n.near,far:n.far};break;case"custom":this._projection={projection:"custom",matrix:n.matrix.slice()}}}},{key:"restoreCamera",value:function(e,t){var n=e.camera,r=this._projection;function i(){switch(r.type){case"perspective":n.perspective.fov=r.fov,n.perspective.fovAxis=r.fovAxis,n.perspective.near=r.near,n.perspective.far=r.far;break;case"ortho":n.ortho.scale=r.scale,n.ortho.near=r.near,n.ortho.far=r.far;break;case"frustum":n.frustum.left=r.left,n.frustum.right=r.right,n.frustum.top=r.top,n.frustum.bottom=r.bottom,n.frustum.near=r.near,n.frustum.far=r.far;break;case"custom":n.customProjection.matrix=r.matrix}}t?e.viewer.cameraFlight.flyTo({eye:this._eye,look:this._look,up:this._up,orthoScale:r.scale,projection:r.projection},(function(){i(),t()})):(n.eye=this._eye,n.look=this._look,n.up=this._up,i(),n.projection=r.projection)}}]),e}(),Ms=$.vec3(),xs=function(){function e(t){if(b(this,e),this.objectsVisible=[],this.objectsEdges=[],this.objectsXrayed=[],this.objectsHighlighted=[],this.objectsSelected=[],this.objectsClippable=[],this.objectsPickable=[],this.objectsColorize=[],this.objectsOpacity=[],this.numObjects=0,t){var n=t.metaScene.scene;this.saveObjects(n,t)}}return P(e,[{key:"saveObjects",value:function(e,t,n){this.numObjects=0,this._mask=n?le.apply(n,{}):null;for(var r=!n||n.visible,i=!n||n.edges,a=!n||n.xrayed,s=!n||n.highlighted,o=!n||n.selected,l=!n||n.clippable,u=!n||n.pickable,c=!n||n.colorize,f=!n||n.opacity,p=t.metaObjects,A=e.objects,d=0,v=p.length;d1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.v3=i.v3,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"v3",get:function(){return this._v3},set:function(e){this.fire("v3",this._v3=e||$.vec3([0,0,0]))}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b3(e,this._v0[0],this._v1[0],this._v2[0],this._v3[0]),t[1]=$.b3(e,this._v0[1],this._v1[1],this._v2[1],this._v3[1]),t[2]=$.b3(e,this._v0[2],this._v1[2],this._v2[2],this._v3[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,v3:this._v3,t:this._t}}}]),n}(),Gs=function(e){I(n,fs);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._cachedLengths=[],r._dirty=!0,r._curves=[],r._t=0,r._dirtySubs=[],r._destroyedSubs=[],r.curves=i.curves||[],r.t=i.t,r}return P(n,[{key:"addCurve",value:function(e){this._curves.push(e),this._dirty=!0}},{key:"curves",get:function(){return this._curves},set:function(e){var t,n,r;for(e=e||[],n=0,r=this._curves.length;n1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"length",get:function(){var e=this._getCurveLengths();return e[e.length-1]}},{key:"getPoint",value:function(e){for(var t,n=e*this.length,r=this._getCurveLengths(),i=0;i=n){var a=1-(r[i]-n)/(t=this._curves[i]).length;return t.getPointAt(a)}i++}return null}},{key:"_getCurveLengths",value:function(){if(!this._dirty)return this._cachedLengths;var e,t=[],n=0,r=this._curves.length;for(e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i)).v0=i.v0,r.v1=i.v1,r.v2=i.v2,r.t=i.t,r}return P(n,[{key:"v0",get:function(){return this._v0},set:function(e){this._v0=e||$.vec3([0,0,0])}},{key:"v1",get:function(){return this._v1},set:function(e){this._v1=e||$.vec3([0,0,0])}},{key:"v2",get:function(){return this._v2},set:function(e){this._v2=e||$.vec3([0,0,0])}},{key:"t",get:function(){return this._t},set:function(e){e=e||0,this._t=e<0?0:e>1?1:e}},{key:"point",get:function(){return this.getPoint(this._t)}},{key:"getPoint",value:function(e){var t=$.vec3();return t[0]=$.b2(e,this._v0[0],this._v1[0],this._v2[0]),t[1]=$.b2(e,this._v0[1],this._v1[1],this._v2[1]),t[2]=$.b2(e,this._v0[2],this._v1[2],this._v2[2]),t}},{key:"getJSON",value:function(){return{v0:this._v0,v1:this._v1,v2:this._v2,t:this._t}}}]),n}(),js=$.OBB3(),Vs=$.OBB3(),Qs=$.OBB3(),Ws=function(){function e(t,n,r,i,a,s){var o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:0;b(this,e),this.model=t,this.object=null,this.parent=null,this.transform=a,this.textureSet=s,this._matrixDirty=!1,this._matrixUpdateScheduled=!1,this.id=n,this.obb=null,this._aabbLocal=null,this._aabbWorld=$.AABB3(),this._aabbWorldDirty=!1,this.layer=o,this.portionId=l,this._color=new Uint8Array([r[0],r[1],r[2],i]),this._colorize=new Uint8Array([r[0],r[1],r[2],i]),this._colorizing=!1,this._transparent=i<255,this.numTriangles=0,this.origin=null,this.entity=null,a&&a._addMesh(this)}return P(e,[{key:"_sceneModelDirty",value:function(){this._aabbWorldDirty=!0,this.layer.aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty||this._matrixUpdateScheduled||(this.model._meshMatrixDirty(this),this._matrixDirty=!0,this._matrixUpdateScheduled=!0),this._aabbWorldDirty=!0,this.layer.aabbDirty=!0,this.entity&&this.entity._transformDirty()}},{key:"_updateMatrix",value:function(){this.transform&&this._matrixDirty&&this.layer.setMatrix(this.portionId,this.transform.worldMatrix),this._matrixDirty=!1,this._matrixUpdateScheduled=!1}},{key:"_finalize",value:function(e){this.layer.initFlags(this.portionId,e,this._transparent)}},{key:"_finalize2",value:function(){this.layer.flushInitFlags&&this.layer.flushInitFlags()}},{key:"_setVisible",value:function(e){this.layer.setVisible(this.portionId,e,this._transparent)}},{key:"_setColor",value:function(e){this._color[0]=e[0],this._color[1]=e[1],this._color[2]=e[2],this._colorizing||this.layer.setColor(this.portionId,this._color,!1)}},{key:"_setColorize",value:function(e){e?(this._colorize[0]=e[0],this._colorize[1]=e[1],this._colorize[2]=e[2],this.layer.setColor(this.portionId,this._colorize,false),this._colorizing=!0):(this.layer.setColor(this.portionId,this._color,false),this._colorizing=!1)}},{key:"_setOpacity",value:function(e,t){var n=e<255,r=this._transparent!==n;this._color[3]=e,this._colorize[3]=e,this._transparent=n,this._colorizing?this.layer.setColor(this.portionId,this._colorize):this.layer.setColor(this.portionId,this._color),r&&this.layer.setTransparent(this.portionId,t,n)}},{key:"_setOffset",value:function(e){this.layer.setOffset(this.portionId,e)}},{key:"_setHighlighted",value:function(e){this.layer.setHighlighted(this.portionId,e,this._transparent)}},{key:"_setXRayed",value:function(e){this.layer.setXRayed(this.portionId,e,this._transparent)}},{key:"_setSelected",value:function(e){this.layer.setSelected(this.portionId,e,this._transparent)}},{key:"_setEdges",value:function(e){this.layer.setEdges(this.portionId,e,this._transparent)}},{key:"_setClippable",value:function(e){this.layer.setClippable(this.portionId,e,this._transparent)}},{key:"_setCollidable",value:function(e){this.layer.setCollidable(this.portionId,e)}},{key:"_setPickable",value:function(e){this.layer.setPickable(this.portionId,e,this._transparent)}},{key:"_setCulled",value:function(e){this.layer.setCulled(this.portionId,e,this._transparent)}},{key:"canPickTriangle",value:function(){return!1}},{key:"drawPickTriangles",value:function(e,t){}},{key:"pickTriangleSurface",value:function(e){}},{key:"precisionRayPickSurface",value:function(e,t,n,r){return!!this.layer.precisionRayPickSurface&&this.layer.precisionRayPickSurface(this.portionId,e,t,n,r)}},{key:"canPickWorldPos",value:function(){return!0}},{key:"drawPickDepths",value:function(e){this.model.drawPickDepths(e)}},{key:"drawPickNormals",value:function(e){this.model.drawPickNormals(e)}},{key:"delegatePickedEntity",value:function(){return this.parent}},{key:"getEachVertex",value:function(e){this.layer.getEachVertex(this.portionId,e)}},{key:"aabb",get:function(){if(this._aabbWorldDirty){if($.AABB3ToOBB3(this._aabbLocal,js),this.transform?($.transformOBB3(this.transform.worldMatrix,js,Vs),$.transformOBB3(this.model.worldMatrix,Vs,Qs),$.OBB3ToAABB3(Qs,this._aabbWorld)):($.transformOBB3(this.model.worldMatrix,js,Vs),$.OBB3ToAABB3(Vs,this._aabbWorld)),this.origin){var e=this.origin;this._aabbWorld[0]+=e[0],this._aabbWorld[1]+=e[1],this._aabbWorld[2]+=e[2],this._aabbWorld[3]+=e[0],this._aabbWorld[4]+=e[1],this._aabbWorld[5]+=e[2]}this._aabbWorldDirty=!1}return this._aabbWorld},set:function(e){this._aabbLocal=e}},{key:"_destroy",value:function(){this.model.scene._renderer.putPickID(this.pickId)}}]),e}(),zs=new(function(){function e(){b(this,e),this._uint8Arrays={},this._float32Arrays={}}return P(e,[{key:"_clear",value:function(){this._uint8Arrays={},this._float32Arrays={}}},{key:"getUInt8Array",value:function(e){var t=this._uint8Arrays[e];return t||(t=new Uint8Array(e),this._uint8Arrays[e]=t),t}},{key:"getFloat32Array",value:function(e){var t=this._float32Arrays[e];return t||(t=new Float32Array(e),this._float32Arrays[e]=t),t}}]),e}()),Ks=0;function Ys(){return Ks++,zs}var Xs={NOT_RENDERED:0,COLOR_OPAQUE:1,COLOR_TRANSPARENT:2,SILHOUETTE_HIGHLIGHTED:3,SILHOUETTE_SELECTED:4,SILHOUETTE_XRAYED:5,EDGES_COLOR_OPAQUE:6,EDGES_COLOR_TRANSPARENT:7,EDGES_HIGHLIGHTED:8,EDGES_SELECTED:9,EDGES_XRAYED:10,PICK:11},qs=new Float32Array([1,1,1,1]),Js=new Float32Array([0,0,0,1]),Zs=$.vec4(),$s=$.vec3(),eo=$.vec3(),to=$.mat4(),no=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=r.instancing,a=void 0!==i&&i,s=r.edges,o=void 0!==s&&s;b(this,e),this._scene=t,this._withSAO=n,this._instancing=a,this._edges=o,this._hash=this._getHash(),this._matricesUniformBlockBufferBindingPoint=0,this._matricesUniformBlockBuffer=this._scene.canvas.gl.createBuffer(),this._matricesUniformBlockBufferData=new Float32Array(96),this._vaoCache=new WeakMap,this._allocate()}return P(e,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"_buildShader",value:function(){return{vertex:this._buildVertexShader(),fragment:this._buildFragmentShader()}}},{key:"_buildVertexShader",value:function(){return[""]}},{key:"_buildFragmentShader",value:function(){return[""]}},{key:"_addMatricesUniformBlockLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e.push("uniform Matrices {"),e.push(" mat4 worldMatrix;"),e.push(" mat4 viewMatrix;"),e.push(" mat4 projMatrix;"),e.push(" mat4 positionsDecodeMatrix;"),t&&(e.push(" mat4 worldNormalMatrix;"),e.push(" mat4 viewNormalMatrix;")),e.push("};"),e}},{key:"_addRemapClipPosLines",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.push("uniform vec2 drawingBufferSize;"),e.push("uniform vec2 pickClipPos;"),e.push("vec4 remapClipPos(vec4 clipPos) {"),e.push(" clipPos.xy /= clipPos.w;"),1===t?e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"):e.push(" clipPos.xy = (clipPos.xy - pickClipPos) * (drawingBufferSize / float(".concat(t,"));")),e.push(" clipPos.xy *= clipPos.w;"),e.push(" return clipPos;"),e.push("}"),e}},{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"setSectionPlanesStateUniforms",value:function(e){var t=this._scene,n=t.canvas.gl,r=e.model,i=e.layerIndex,a=t._sectionPlanesState.getNumAllocatedSectionPlanes(),s=t._sectionPlanesState.sectionPlanes.length;if(a>0)for(var o=t._sectionPlanesState.sectionPlanes,l=i*s,u=r.renderFlags,c=0;c0&&(this._uReflectionMap="reflectionMap"),n.lightMaps.length>0&&(this._uLightMap="lightMap"),this._uSectionPlanes=[];for(var o=0,l=e._sectionPlanesState.getNumAllocatedSectionPlanes();o3&&void 0!==arguments[3]?arguments[3]:{},i=r.colorUniform,a=void 0!==i&&i,s=r.incrementDrawState,o=void 0!==s&&s,l=dt.MAX_TEXTURE_IMAGE_UNITS,u=this._scene,c=u.canvas.gl,f=t._state,p=t.model,A=f.textureSet,d=f.origin,v=f.positionsDecodeMatrix,h=u._lightsState,I=u.pointsMaterial,y=p.scene.camera,m=y.viewNormalMatrix,w=y.project,g=e.pickViewMatrix||y.viewMatrix,E=p.position,T=p.rotationMatrix,b=p.rotationMatrixConjugate,D=p.worldNormalMatrix;if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e)),this._vaoCache.has(t)?c.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(f));var P=0,R=16;this._matricesUniformBlockBufferData.set(b,0);var C=0!==d[0]||0!==d[1]||0!==d[2],_=0!==E[0]||0!==E[1]||0!==E[2];if(C||_){var B=$s;if(C){var O=$.transformPoint3(T,d,eo);B[0]=O[0],B[1]=O[1],B[2]=O[2]}else B[0]=0,B[1]=0,B[2]=0;B[0]+=E[0],B[1]+=E[1],B[2]+=E[2],this._matricesUniformBlockBufferData.set(Be(g,B,to),P+=R)}else this._matricesUniformBlockBufferData.set(g,P+=R);if(this._matricesUniformBlockBufferData.set(e.pickProjMatrix||w.matrix,P+=R),this._matricesUniformBlockBufferData.set(v,P+=R),this._matricesUniformBlockBufferData.set(D,P+=R),this._matricesUniformBlockBufferData.set(m,P+=R),c.bindBuffer(c.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),c.bufferData(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,c.DYNAMIC_DRAW),c.bindBufferBase(c.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer),c.uniform1i(this._uRenderPass,n),this.setSectionPlanesStateUniforms(t),u.logarithmicDepthBufferEnabled){if(this._uLogDepthBufFC){var S=2/(Math.log(e.pickZFar+1)/Math.LN2);c.uniform1f(this._uLogDepthBufFC,S)}this._uZFar&&c.uniform1f(this._uZFar,u.camera.project.far)}if(this._uPickInvisible&&c.uniform1i(this._uPickInvisible,e.pickInvisible),this._uPickZNear&&c.uniform1f(this._uPickZNear,e.pickZNear),this._uPickZFar&&c.uniform1f(this._uPickZFar,e.pickZFar),this._uPickClipPos&&c.uniform2fv(this._uPickClipPos,e.pickClipPos),this._uDrawingBufferSize&&c.uniform2f(this._uDrawingBufferSize,c.drawingBufferWidth,c.drawingBufferHeight),this._uUVDecodeMatrix&&c.uniformMatrix3fv(this._uUVDecodeMatrix,!1,f.uvDecodeMatrix),this._uIntensityRange&&I.filterIntensity&&c.uniform2f(this._uIntensityRange,I.minIntensity,I.maxIntensity),this._uPointSize&&c.uniform1f(this._uPointSize,I.pointSize),this._uNearPlaneHeight){var N="ortho"===u.camera.projection?1:c.drawingBufferHeight/(2*Math.tan(.5*u.camera.perspective.fov*Math.PI/180));c.uniform1f(this._uNearPlaneHeight,N)}if(A){var L=A.colorTexture,M=A.metallicRoughnessTexture,x=A.emissiveTexture,F=A.normalsTexture,H=A.occlusionTexture;this._uColorMap&&L&&(this._program.bindTexture(this._uColorMap,L.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uMetallicRoughMap&&M&&(this._program.bindTexture(this._uMetallicRoughMap,M.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uEmissiveMap&&x&&(this._program.bindTexture(this._uEmissiveMap,x.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uNormalMap&&F&&(this._program.bindTexture(this._uNormalMap,F.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l),this._uAOMap&&H&&(this._program.bindTexture(this._uAOMap,H.texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l)}if(h.reflectionMaps.length>0&&h.reflectionMaps[0].texture&&this._uReflectionMap&&(this._program.bindTexture(this._uReflectionMap,h.reflectionMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),h.lightMaps.length>0&&h.lightMaps[0].texture&&this._uLightMap&&(this._program.bindTexture(this._uLightMap,h.lightMaps[0].texture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++),this._withSAO){var U=u.sao,G=U.possible;if(G){var k=c.drawingBufferWidth,j=c.drawingBufferHeight;Zs[0]=k,Zs[1]=j,Zs[2]=U.blendCutoff,Zs[3]=U.blendFactor,c.uniform4fv(this._uSAOParams,Zs),this._program.bindTexture(this._uOcclusionTexture,e.occlusionTexture,e.textureUnit),e.textureUnit=(e.textureUnit+1)%l,e.bindTexture++}}if(a){var V=this._edges?"edgeColor":"fillColor",Q=this._edges?"edgeAlpha":"fillAlpha";if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_XRAYED")]){var W=u.xrayMaterial._state,z=W[V],K=W[Q];c.uniform4f(this._uColor,z[0],z[1],z[2],K)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_HIGHLIGHTED")]){var Y=u.highlightMaterial._state,X=Y[V],q=Y[Q];c.uniform4f(this._uColor,X[0],X[1],X[2],q)}else if(n===Xs["".concat(this._edges?"EDGES":"SILHOUETTE","_SELECTED")]){var J=u.selectedMaterial._state,Z=J[V],ee=J[Q];c.uniform4f(this._uColor,Z[0],Z[1],Z[2],ee)}else c.uniform4fv(this._uColor,this._edges?Js:qs)}this._draw({state:f,frameCtx:e,incrementDrawState:o}),c.bindVertexArray(null)}}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null,re.memory.programs--}}]),e}(),ro=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.instancing,s=void 0!==a&&a,o=i.edges,l=void 0!==o&&o;return b(this,n),t.call(this,e,r,{instancing:s,edges:l})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;if(this._edges)t.drawElements(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0);else{var a=r.pickElementsCount||n.indicesBuf.numItems,s=r.pickElementsOffset?r.pickElementsOffset*n.indicesBuf.itemByteSize:0;t.drawElements(t.TRIANGLES,a,n.indicesBuf.itemType,s),i&&r.drawElements++}}}]),n}(),io=function(e){I(n,ro);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!1,edges:!0})}return P(n)}(),ao=function(e){I(n,no);var t=m(n);function n(e,r){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=i.edges,s=void 0!==a&&a;return b(this,n),t.call(this,e,r,{instancing:!0,edges:s})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;this._edges?t.drawElementsInstanced(t.LINES,n.edgeIndicesBuf.numItems,n.edgeIndicesBuf.itemType,0,n.numInstances):(t.drawElementsInstanced(t.TRIANGLES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++)}}]),n}(),so=function(e){I(n,ao);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0,edges:!0})}return P(n)}(),oo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArrays(t.POINTS,0,n.positionsBuf.numItems),i&&r.drawArrays++}}]),n}(),lo=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawArraysInstanced(t.POINTS,0,n.positionsBuf.numItems,n.numInstances),i&&r.drawArrays++}}]),n}(),uo=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElements(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0),i&&r.drawElements++}}]),n}(),co=function(e){I(n,no);var t=m(n);function n(e,r){return b(this,n),t.call(this,e,r,{instancing:!0})}return P(n,[{key:"_draw",value:function(e){var t=this._scene.canvas.gl,n=e.state,r=e.frameCtx,i=e.incrementDrawState;t.drawElementsInstanced(t.LINES,n.indicesBuf.numItems,n.indicesBuf.itemType,0,n.numInstances),i&&r.drawElements++}}]),n}(),fo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t=this._scene,n=t._sectionPlanesState,r=t._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=[];a.push("#version 300 es"),a.push("// Triangles batching draw vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in float flags;"),t.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),i&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;")),a.push("out vec4 vColor;"),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),t.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching draw fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching flat-shading draw vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._lightsState,n=e._sectionPlanesState,r=n.getNumAllocatedSectionPlanes()>0,i=[];if(i.push("#version 300 es"),i.push("// Triangles batching flat-shading draw fragment shader"),i.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),i.push("precision highp float;"),i.push("precision highp int;"),i.push("#else"),i.push("precision mediump float;"),i.push("precision mediump int;"),i.push("#endif"),e.logarithmicDepthBufferEnabled&&(i.push("in float isPerspective;"),i.push("uniform float logDepthBufFC;"),i.push("in float vFragDepth;")),this._withSAO&&(i.push("uniform sampler2D uOcclusionTexture;"),i.push("uniform vec4 uSAOParams;"),i.push("const float packUpscale = 256. / 255.;"),i.push("const float unpackDownScale = 255. / 256.;"),i.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),i.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),i.push("float unpackRGBToFloat( const in vec4 v ) {"),i.push(" return dot( v, unPackFactors );"),i.push("}")),r){i.push("in vec4 vWorldPosition;"),i.push("in float vFlags;");for(var a=0,s=n.getNumAllocatedSectionPlanes();a> 16 & 0xF) == 1;"),i.push(" if (clippable) {"),i.push(" float dist = 0.0;");for(var c=0,f=n.getNumAllocatedSectionPlanes();c 0.0) { "),i.push(" discard;"),i.push(" }"),i.push("}")}i.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),i.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),i.push("float lambertian = 1.0;"),i.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),i.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),i.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var p=0,A=t.lights.length;p0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching silhouette fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = vColor;"),a.push("}"),a}}]),n}(),vo=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),ho=function(e){I(n,io);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),Io=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),yo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),this._addRemapClipPosLines(n),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),mo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec3 worldNormal = octDecode(normal.xy); "),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),wo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching occlusion vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles batching occlusion fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),go=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching depth fragment shader"),r.push("precision highp float;"),r.push("precision highp int;"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),r.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),r.push("}"),r}}]),n}(),Eo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),To=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry shadow vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 outColor;"),n.push("void main(void) {"),n.push(" int colorFlag = int(flags) & 0xF;"),n.push(" bool visible = (colorFlag > 0);"),n.push(" bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push(" if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry shadow fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = encodeFloat( gl_FragCoord.z); "),n.push("}"),n}}]),n}(),bo=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Triangles batching quality draw vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&a.push("worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),a.push("vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),a.push("vFragDepth = 1.0 + clipPos.w;")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Triangles batching quality draw fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),s.push("uniform sampler2D uAOMap;"),s.push("in vec4 vViewPosition;"),s.push("in vec3 vViewNormal;"),s.push("in vec4 vColor;"),s.push("in vec2 vUV;"),s.push("in vec2 vMetallicRoughness;"),r.lightMaps.length>0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = sRGBToLinear(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = sRGBToLinear(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb(vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching pick flat normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Triangles batching pick flat normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),Po=function(e){I(n,ro);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles batching color texture vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._lightsState,r=e._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Triangles batching color texture fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),e.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),a.push("uniform sampler2D uColorMap;"),this._withSAO&&(a.push("uniform sampler2D uOcclusionTexture;"),a.push("uniform vec4 uSAOParams;"),a.push("const float packUpscale = 256. / 255.;"),a.push("const float unpackDownScale = 255. / 256.;"),a.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),a.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),a.push("float unpackRGBToFloat( const in vec4 v ) {"),a.push(" return dot( v, unPackFactors );"),a.push("}")),a.push("uniform float gammaFactor;"),a.push("vec4 linearToLinear( in vec4 value ) {"),a.push(" return value;"),a.push("}"),a.push("vec4 sRGBToLinear( in vec4 value ) {"),a.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),a.push("}"),a.push("vec4 gammaToLinear( in vec4 value) {"),a.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),a.push("}"),t&&(a.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),a.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),a.push("}")),i){a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;");for(var s=0,o=r.getNumAllocatedSectionPlanes();s> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;");for(var f=0,p=r.getNumAllocatedSectionPlanes();f 0.0) { "),a.push(" discard;"),a.push(" }"),a.push("}")}a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;"),a.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),a.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),a.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );");for(var A=0,d=n.lights.length;A0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.uv=[],this.metallicRoughness=[],this.normals=[],this.pickColors=[],this.offsets=[],this.indices=[],this.edgeIndices=[]})),Bo=$.mat4(),Oo=$.mat4();function So(e,t,n){for(var r=e.length,i=new Uint16Array(r),a=t[0],s=t[1],o=t[2],l=t[3]-a,u=t[4]-s,c=t[5]-o,f=65525,p=f/l,A=f/u,d=f/c,v=function(e){return e>=0?e:0},h=0;h=0?1:-1),s=(1-Math.abs(r))*(i>=0?1:-1),r=a,i=s}return new Int8Array([Math[t](127.5*r+(r<0?-1:0)),Math[n](127.5*i+(i<0?-1:0))])}function Mo(e){var t=e[0],n=e[1];t/=t<0?127:128,n/=n<0?127:128;var r=1-Math.abs(t)-Math.abs(n);r<0&&(t=(1-Math.abs(n))*(t>=0?1:-1),n=(1-Math.abs(t))*(n>=0?1:-1));var i=Math.sqrt(t*t+n*n+r*r);return[t/i,n/i,r/i]}var xo=$.vec3(),Fo=$.vec3(),Ho=$.vec3(),Uo=$.vec3(),Go=$.mat4(),ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=xo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Fo;if(l){var y=Ho;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,Go),(v=Uo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),o.indicesBuf.bind(),s.drawElements(s.TRIANGLES,o.indicesBuf.numItems,o.indicesBuf.itemType,0),o.indicesBuf.unbind()}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),jo=$.vec3(),Vo=$.vec3(),Qo=$.vec3(),Wo=$.vec3(),zo=$.mat4(),Ko=function(e){I(n,no);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=jo;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Vo;if(l){var y=Qo;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,zo),(v=Wo)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElements(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0),o.edgeIndicesBuf.unbind()):s.drawArrays(s.POINTS,0,o.positionsBuf.numItems)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0;e.pointsMaterial._state;var n=[];return n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapBatchingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Yo=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new ko(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new Ko(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Xo={};var qo=$.mat4(),Jo=$.mat4(),Zo=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var $o=$.vec3(),el=$.vec3(),tl=$.vec3(),nl=$.vec3(),rl=$.vec3(),il=$.vec3(),al=$.vec3(),sl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesBatchingLayer"+(t.solid?"-solid":"-surface")+(t.autoNormals?"-autonormals":"-normals")+(t.textureSet&&t.textureSet.colorTexture?"-colorTexture":"")+(t.textureSet&&t.textureSet.metallicRoughnessTexture?"-metallicRoughnessTexture":""),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=Co[r])||(i=new Ro(n),Co[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete Co[r],i._destroy()}))),i),this._snapBatchingRenderers=function(e){var t=e.id,n=Xo[t];return n||(n=new Yo(e),Xo[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Xo[t],n._destroy()}))),n}(t.model.scene),this._buffer=new _o(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({origin:$.vec3(),positionsBuf:null,offsetsBuf:null,normalsBuf:null,colorsBuf:null,uvBuf:null,metallicRoughnessBuf:null,flagsBuf:null,indicesBuf:null,edgeIndicesBuf:null,positionsDecodeMatrix:null,uvDecodeMatrix:null,textureSet:t.textureSet,pbrSupported:!1}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix&&(this._state.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)),t.uvDecodeMatrix?(this._state.uvDecodeMatrix=$.mat3(t.uvDecodeMatrix),this._preCompressedUVsExpected=!0):this._preCompressedUVsExpected=!1,t.origin&&this._state.origin.set(t.origin),this.aabb=$.collapseAABB3(),this.solid=!!t.solid}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)for(var P=0,R=s.length;P0){var C=qo;I?$.inverseMat4($.transposeMat4(I,Jo),C):$.identityMat4(C,C),function(e,t,n,r,i){function a(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}var s,o,l,u,c,f=new Float32Array([0,0,0,0]),p=new Float32Array([0,0,0,0]);for(c=0;cu&&(o=s,u=l),(l=a(p,Mo(s=Lo(p,"floor","ceil"))))>u&&(o=s,u=l),(l=a(p,Mo(s=Lo(p,"ceil","ceil"))))>u&&(o=s,u=l),r[i+c+0]=o[0],r[i+c+1]=o[1],r[i+c+2]=0}(C,a,a.length,w.normals,w.normals.length)}if(u)for(var _=0,B=u.length;_0)for(var k=0,j=o.length;k0)for(var V=0,Q=l.length;V0){var r=this._state.positionsDecodeMatrix?new Uint16Array(n.positions):So(n.positions,this._modelAABB,this._state.positionsDecodeMatrix=$.mat4());if(e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,r.length,3,t.STATIC_DRAW),this.model.scene.pickSurfacePrecisionEnabled)for(var i=0,a=this._portions.length;i0){var u=new Int8Array(n.normals);e.normalsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.normals.length,3,t.STATIC_DRAW,!0)}if(n.colors.length>0){var c=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,c,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.uv.length>0)if(e.uvDecodeMatrix){e.uvBuf=new Dt(t,t.ARRAY_BUFFER,n.uv,n.uv.length,2,t.STATIC_DRAW,!1)}else{var f=Dn.getUVBounds(n.uv),p=Dn.compressUVs(n.uv,f.min,f.max),A=p.quantized;e.uvDecodeMatrix=$.mat3(p.decodeMatrix),e.uvBuf=new Dt(t,t.ARRAY_BUFFER,A,A.length,2,t.STATIC_DRAW,!1)}if(n.metallicRoughness.length>0){var d=new Uint8Array(n.metallicRoughness);e.metallicRoughnessBuf=new Dt(t,t.ARRAY_BUFFER,d,n.metallicRoughness.length,2,t.STATIC_DRAW,!1)}if(n.positions.length>0){var v=n.positions.length/3,h=new Float32Array(v);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,h,h.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var I=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,I,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var y=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,y,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var m=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,m,n.indices.length,1,t.STATIC_DRAW)}if(n.edgeIndices.length>0){var w=new Uint32Array(n.edgeIndices);e.edgeIndicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,w,n.edgeIndices.length,1,t.STATIC_DRAW)}this._state.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&e.textureSet&&e.textureSet.colorTexture&&e.textureSet.metallicRoughnessTexture),this._state.colorTextureSupported=!!e.uvBuf&&!!e.textureSet&&!!e.textureSet.colorTexture,this._buffer=null,this._finalized=!0}}},{key:"isEmpty",value:function(){return!this._state.indicesBuf}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=e,r=this._portions[n],i=4*r.vertsBaseIndex,a=4*r.numVerts,s=this._scratchMemory.getUInt8Array(a),o=t[0],l=t[1],u=t[2],c=t[3],f=0;f3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=e,o=this._portions[s],l=o.vertsBaseIndex,u=o.numVerts,c=l,f=u,p=!!(t&Me),A=!!(t&Ge),d=!!(t&ke),v=!!(t&je),h=!!(t&Ve),I=!!(t&Fe),y=!!(t&xe);i=!p||y||A||d&&!this.model.scene.highlightMaterial.glowThrough||v&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!p||y?Xs.NOT_RENDERED:v?Xs.SILHOUETTE_SELECTED:d?Xs.SILHOUETTE_HIGHLIGHTED:A?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var m=0;m=!p||y?Xs.NOT_RENDERED:v?Xs.EDGES_SELECTED:d?Xs.EDGES_HIGHLIGHTED:A?Xs.EDGES_XRAYED:h?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var w=p&&!y&&I?Xs.PICK:Xs.NOT_RENDERED,g=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var E=c,T=c+f;EI)&&(I=b,r.set(y),i&&$.triangleNormal(A,d,v,i),h=!0)}}return h&&i&&($.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),h}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.normalsBuf&&(e.normalsBuf.destroy(),e.normalsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.indicesBuf&&(e.indicesBuf.destroy(),e.indicessBuf=null),e.edgeIndicesBuf&&(e.edgeIndicesBuf.destroy(),e.edgeIndicessBuf=null),e.destroy()}}]),e}(),ol=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e,t,n,r=this._scene,i=r._sectionPlanesState,a=r._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];for(o.push("#version 300 es"),o.push("// Instancing geometry drawing vertex shader"),o.push("uniform int renderPass;"),o.push("in vec3 position;"),o.push("in vec2 normal;"),o.push("in vec4 color;"),o.push("in float flags;"),r.entityOffsetsEnabled&&o.push("in vec3 offset;"),o.push("in vec4 modelMatrixCol0;"),o.push("in vec4 modelMatrixCol1;"),o.push("in vec4 modelMatrixCol2;"),o.push("in vec4 modelNormalMatrixCol0;"),o.push("in vec4 modelNormalMatrixCol1;"),o.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(o,!0),r.logarithmicDepthBufferEnabled&&(o.push("uniform float logDepthBufFC;"),o.push("out float vFragDepth;"),o.push("bool isPerspectiveMatrix(mat4 m) {"),o.push(" return (m[2][3] == - 1.0);"),o.push("}"),o.push("out float isPerspective;")),o.push("uniform vec4 lightAmbient;"),e=0,t=a.lights.length;e= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),o.push(" }"),o.push(" return normalize(v);"),o.push("}"),s&&(o.push("out vec4 vWorldPosition;"),o.push("out float vFlags;")),o.push("out vec4 vColor;"),o.push("void main(void) {"),o.push("int colorFlag = int(flags) & 0xF;"),o.push("if (colorFlag != renderPass) {"),o.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),o.push("} else {"),o.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),o.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),r.entityOffsetsEnabled&&o.push("worldPosition.xyz = worldPosition.xyz + offset;"),o.push("vec4 viewPosition = viewMatrix * worldPosition; "),o.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),o.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 0.0);"),o.push("vec3 viewNormal = normalize(vec4(viewNormalMatrix * worldNormal).xyz);"),o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),e=0,t=a.lights.length;e0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}}]),n}(),ll=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry flat-shading drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=n._lightsState,a=r.getNumAllocatedSectionPlanes()>0,s=[];if(s.push("#version 300 es"),s.push("// Instancing geometry flat-shading drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),n.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),a){s.push("in vec4 vWorldPosition;"),s.push("in float vFlags;");for(var o=0,l=r.getNumAllocatedSectionPlanes();o> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var c=0,f=r.getNumAllocatedSectionPlanes();c 0.0) { "),s.push(" discard;"),s.push(" }"),s.push("}")}for(s.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),s.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),s.push("float lambertian = 1.0;"),s.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),s.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),s.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=i.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// Instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 color;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 silhouetteColor;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vColor = vec4(silhouetteColor.r, silhouetteColor.g, silhouetteColor.b, min(silhouetteColor.a, float(color.a) / 255.0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing fill fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),cl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("uniform vec4 color;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),fl=function(e){I(n,so);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Triangles instancing edges vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeFlag = int(flags) >> 8 & 0xF;"),n.push("if (edgeFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(float(color.r*0.5) / 255.0, float(color.g*0.5) / 255.0, float(color.b*0.5) / 255.0, float(color.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry edges drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),pl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry picking vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 pickColor;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry picking fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Al=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push(" vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),dl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec2 normal;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("in vec4 modelNormalMatrixCol0;"),n.push("in vec4 modelNormalMatrixCol1;"),n.push("in vec4 modelNormalMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vWorldNormal;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 worldNormal = vec3(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2));"),n.push(" vWorldNormal = worldNormal;"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outNormal = ivec4(vWorldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),vl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesInstancingOcclusionRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}}]),n}(),hl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry depth drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec2 vHighPrecisionZW;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Instancing geometry depth drawing fragment shader"),a.push("precision highp float;"),a.push("precision highp int;"),n.logarithmicDepthBufferEnabled&&(a.push("in float isPerspective;"),a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),a.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),a.push("}"),a}}]),n}(),Il=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec3 normal;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n,!0),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),yl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),ml={3e3:"linearToLinear",3001:"sRGBToLinear"},wl=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=e._lightsState,r=t.getNumAllocatedSectionPlanes()>0,i=t.clippingCaps,a=[];return a.push("#version 300 es"),a.push("// Instancing geometry quality drawing vertex shader"),a.push("uniform int renderPass;"),a.push("in vec3 position;"),a.push("in vec3 normal;"),a.push("in vec4 color;"),a.push("in vec2 uv;"),a.push("in vec2 metallicRoughness;"),a.push("in float flags;"),e.entityOffsetsEnabled&&a.push("in vec3 offset;"),a.push("in vec4 modelMatrixCol0;"),a.push("in vec4 modelMatrixCol1;"),a.push("in vec4 modelMatrixCol2;"),a.push("in vec4 modelNormalMatrixCol0;"),a.push("in vec4 modelNormalMatrixCol1;"),a.push("in vec4 modelNormalMatrixCol2;"),this._addMatricesUniformBlockLines(a,!0),a.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("out float isPerspective;")),a.push("vec3 octDecode(vec2 oct) {"),a.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),a.push(" if (v.z < 0.0) {"),a.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),a.push(" }"),a.push(" return normalize(v);"),a.push("}"),a.push("out vec4 vViewPosition;"),a.push("out vec3 vViewNormal;"),a.push("out vec4 vColor;"),a.push("out vec2 vUV;"),a.push("out vec2 vMetallicRoughness;"),n.lightMaps.length>0&&a.push("out vec3 vWorldNormal;"),r&&(a.push("out vec4 vWorldPosition;"),a.push("out float vFlags;"),i&&a.push("out vec4 vClipPosition;")),a.push("void main(void) {"),a.push("int colorFlag = int(flags) & 0xF;"),a.push("if (colorFlag != renderPass) {"),a.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),a.push("} else {"),a.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),a.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&a.push(" worldPosition.xyz = worldPosition.xyz + offset;"),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec4 modelNormal = vec4(octDecode(normal.xy), 0.0); "),a.push("vec4 worldNormal = worldNormalMatrix * vec4(dot(modelNormal, modelNormalMatrixCol0), dot(modelNormal, modelNormalMatrixCol1), dot(modelNormal, modelNormalMatrixCol2), 1.0);"),a.push("vec3 viewNormal = vec4(viewNormalMatrix * worldNormal).xyz;"),a.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(a.push("vFragDepth = 1.0 + clipPos.w;"),a.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),r&&(a.push("vWorldPosition = worldPosition;"),a.push("vFlags = flags;"),i&&a.push("vClipPosition = clipPos;")),a.push("vViewPosition = viewPosition;"),a.push("vViewNormal = viewNormal;"),a.push("vColor = color;"),a.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),a.push("vMetallicRoughness = metallicRoughness;"),n.lightMaps.length>0&&a.push("vWorldNormal = worldNormal.xyz;"),a.push("gl_Position = clipPos;"),a.push("}"),a.push("}"),a}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e.gammaOutput,n=e._sectionPlanesState,r=e._lightsState,i=n.getNumAllocatedSectionPlanes()>0,a=n.clippingCaps,s=[];s.push("#version 300 es"),s.push("// Instancing geometry quality drawing fragment shader"),s.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),s.push("precision highp float;"),s.push("precision highp int;"),s.push("#else"),s.push("precision mediump float;"),s.push("precision mediump int;"),s.push("#endif"),e.logarithmicDepthBufferEnabled&&(s.push("in float isPerspective;"),s.push("uniform float logDepthBufFC;"),s.push("in float vFragDepth;")),s.push("uniform sampler2D uColorMap;"),s.push("uniform sampler2D uMetallicRoughMap;"),s.push("uniform sampler2D uEmissiveMap;"),s.push("uniform sampler2D uNormalMap;"),this._withSAO&&(s.push("uniform sampler2D uOcclusionTexture;"),s.push("uniform vec4 uSAOParams;"),s.push("const float packUpscale = 256. / 255.;"),s.push("const float unpackDownScale = 255. / 256.;"),s.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),s.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),s.push("float unpackRGBToFloat( const in vec4 v ) {"),s.push(" return dot( v, unPackFactors );"),s.push("}")),r.reflectionMaps.length>0&&s.push("uniform samplerCube reflectionMap;"),r.lightMaps.length>0&&s.push("uniform samplerCube lightMap;"),s.push("uniform vec4 lightAmbient;");for(var o=0,l=r.lights.length;o0&&s.push("in vec3 vWorldNormal;"),this._addMatricesUniformBlockLines(s,!0),s.push("#define PI 3.14159265359"),s.push("#define RECIPROCAL_PI 0.31830988618"),s.push("#define RECIPROCAL_PI2 0.15915494"),s.push("#define EPSILON 1e-6"),s.push("#define saturate(a) clamp( a, 0.0, 1.0 )"),s.push("vec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm, vec2 uv ) {"),s.push(" vec3 texel = texture( uNormalMap, uv ).xyz;"),s.push(" if (texel.r == 0.0 && texel.g == 0.0 && texel.b == 0.0) {"),s.push(" return normalize(surf_norm );"),s.push(" }"),s.push(" vec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );"),s.push(" vec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );"),s.push(" vec2 st0 = dFdx( uv.st );"),s.push(" vec2 st1 = dFdy( uv.st );"),s.push(" vec3 S = normalize( q0 * st1.t - q1 * st0.t );"),s.push(" vec3 T = normalize( -q0 * st1.s + q1 * st0.s );"),s.push(" vec3 N = normalize( surf_norm );"),s.push(" vec3 mapN = texel.xyz * 2.0 - 1.0;"),s.push(" mat3 tsn = mat3( S, T, N );"),s.push(" return normalize( tsn * mapN );"),s.push("}"),s.push("vec3 inverseTransformDirection(in vec3 dir, in mat4 matrix) {"),s.push(" return normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );"),s.push("}"),s.push("struct IncidentLight {"),s.push(" vec3 color;"),s.push(" vec3 direction;"),s.push("};"),s.push("struct ReflectedLight {"),s.push(" vec3 diffuse;"),s.push(" vec3 specular;"),s.push("};"),s.push("struct Geometry {"),s.push(" vec3 position;"),s.push(" vec3 viewNormal;"),s.push(" vec3 worldNormal;"),s.push(" vec3 viewEyeDir;"),s.push("};"),s.push("struct Material {"),s.push(" vec3 diffuseColor;"),s.push(" float specularRoughness;"),s.push(" vec3 specularColor;"),s.push(" float shine;"),s.push("};"),s.push("float GGXRoughnessToBlinnExponent(const in float ggxRoughness) {"),s.push(" float r = ggxRoughness + 0.0001;"),s.push(" return (2.0 / (r * r) - 2.0);"),s.push("}"),s.push("float getSpecularMIPLevel(const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float maxMIPLevelScalar = float( maxMIPLevel );"),s.push(" float desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( ( blinnShininessExponent * blinnShininessExponent ) + 1.0 );"),s.push(" return clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );"),s.push("}"),r.reflectionMaps.length>0&&(s.push("vec3 getLightProbeIndirectRadiance(const in vec3 reflectVec, const in float blinnShininessExponent, const in int maxMIPLevel) {"),s.push(" float mipLevel = 0.5 * getSpecularMIPLevel(blinnShininessExponent, maxMIPLevel);"),s.push(" vec3 envMapColor = "+ml[r.reflectionMaps[0].encoding]+"(texture(reflectionMap, reflectVec, mipLevel)).rgb;"),s.push(" return envMapColor;"),s.push("}")),s.push("vec3 F_Schlick(const in vec3 specularColor, const in float dotLH) {"),s.push(" float fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );"),s.push(" return ( 1.0 - specularColor ) * fresnel + specularColor;"),s.push("}"),s.push("float G_GGX_Smith(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" float gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" return 1.0 / ( gl * gv );"),s.push("}"),s.push("float G_GGX_SmithCorrelated(const in float alpha, const in float dotNL, const in float dotNV) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * ( dotNV * dotNV ) );"),s.push(" float gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * ( dotNL * dotNL ) );"),s.push(" return 0.5 / max( gv + gl, EPSILON );"),s.push("}"),s.push("float D_GGX(const in float alpha, const in float dotNH) {"),s.push(" float a2 = ( alpha * alpha );"),s.push(" float denom = ( dotNH * dotNH) * ( a2 - 1.0 ) + 1.0;"),s.push(" return RECIPROCAL_PI * a2 / ( denom * denom);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX(const in IncidentLight incidentLight, const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float alpha = ( roughness * roughness );"),s.push(" vec3 halfDir = normalize( incidentLight.direction + geometry.viewEyeDir );"),s.push(" float dotNL = saturate( dot( geometry.viewNormal, incidentLight.direction ) );"),s.push(" float dotNV = saturate( dot( geometry.viewNormal, geometry.viewEyeDir ) );"),s.push(" float dotNH = saturate( dot( geometry.viewNormal, halfDir ) );"),s.push(" float dotLH = saturate( dot( incidentLight.direction, halfDir ) );"),s.push(" vec3 F = F_Schlick( specularColor, dotLH );"),s.push(" float G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );"),s.push(" float D = D_GGX( alpha, dotNH );"),s.push(" return F * (G * D);"),s.push("}"),s.push("vec3 BRDF_Specular_GGX_Environment(const in Geometry geometry, const in vec3 specularColor, const in float roughness) {"),s.push(" float dotNV = saturate(dot(geometry.viewNormal, geometry.viewEyeDir));"),s.push(" const vec4 c0 = vec4( -1, -0.0275, -0.572, 0.022);"),s.push(" const vec4 c1 = vec4( 1, 0.0425, 1.04, -0.04);"),s.push(" vec4 r = roughness * c0 + c1;"),s.push(" float a004 = min(r.x * r.x, exp2(-9.28 * dotNV)) * r.x + r.y;"),s.push(" vec2 AB = vec2(-1.04, 1.04) * a004 + r.zw;"),s.push(" return specularColor * AB.x + AB.y;"),s.push("}"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&(s.push("void computePBRLightMapping(const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),r.lightMaps.length>0&&(s.push(" vec3 irradiance = "+ml[r.lightMaps[0].encoding]+"(texture(lightMap, geometry.worldNormal)).rgb;"),s.push(" irradiance *= PI;"),s.push(" vec3 diffuseBRDFContrib = (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.diffuse += irradiance * diffuseBRDFContrib;")),r.reflectionMaps.length>0&&(s.push(" vec3 reflectVec = reflect(geometry.viewEyeDir, geometry.viewNormal);"),s.push(" reflectVec = inverseTransformDirection(reflectVec, viewMatrix);"),s.push(" float blinnExpFromRoughness = GGXRoughnessToBlinnExponent(material.specularRoughness);"),s.push(" vec3 radiance = getLightProbeIndirectRadiance(reflectVec, blinnExpFromRoughness, 8);"),s.push(" vec3 specularBRDFContrib = BRDF_Specular_GGX_Environment(geometry, material.specularColor, material.specularRoughness);"),s.push(" reflectedLight.specular += radiance * specularBRDFContrib;")),s.push("}")),s.push("void computePBRLighting(const in IncidentLight incidentLight, const in Geometry geometry, const in Material material, inout ReflectedLight reflectedLight) {"),s.push(" float dotNL = saturate(dot(geometry.viewNormal, incidentLight.direction));"),s.push(" vec3 irradiance = dotNL * incidentLight.color * PI;"),s.push(" reflectedLight.diffuse += irradiance * (RECIPROCAL_PI * material.diffuseColor);"),s.push(" reflectedLight.specular += irradiance * BRDF_Specular_GGX(incidentLight, geometry, material.specularColor, material.specularRoughness);"),s.push("}"),s.push("out vec4 outColor;"),s.push("void main(void) {"),i){s.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),s.push(" if (clippable) {"),s.push(" float dist = 0.0;");for(var p=0,A=n.getNumAllocatedSectionPlanes();p (0.002 * vClipPosition.w)) {"),s.push(" discard;"),s.push(" }"),s.push(" if (dist > 0.0) { "),s.push(" outColor=vec4(1.0, 0.0, 0.0, 1.0);"),e.logarithmicDepthBufferEnabled&&s.push(" gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),s.push(" return;"),s.push("}")):(s.push(" if (dist > 0.0) { "),s.push(" discard;"),s.push(" }")),s.push("}")}s.push("IncidentLight light;"),s.push("Material material;"),s.push("Geometry geometry;"),s.push("ReflectedLight reflectedLight = ReflectedLight(vec3(0.0,0.0,0.0), vec3(0.0,0.0,0.0));"),s.push("vec3 rgb = (vec3(float(vColor.r) / 255.0, float(vColor.g) / 255.0, float(vColor.b) / 255.0));"),s.push("float opacity = float(vColor.a) / 255.0;"),s.push("vec3 baseColor = rgb;"),s.push("float specularF0 = 1.0;"),s.push("float metallic = float(vMetallicRoughness.r) / 255.0;"),s.push("float roughness = float(vMetallicRoughness.g) / 255.0;"),s.push("float dielectricSpecular = 0.16 * specularF0 * specularF0;"),s.push("vec4 colorTexel = sRGBToLinear(texture(uColorMap, vUV));"),s.push("baseColor *= colorTexel.rgb;"),s.push("vec3 metalRoughTexel = texture(uMetallicRoughMap, vUV).rgb;"),s.push("metallic *= metalRoughTexel.b;"),s.push("roughness *= metalRoughTexel.g;"),s.push("vec3 viewNormal = perturbNormal2Arb( vViewPosition.xyz, normalize(vViewNormal), vUV );"),s.push("material.diffuseColor = baseColor * (1.0 - dielectricSpecular) * (1.0 - metallic);"),s.push("material.specularRoughness = clamp(roughness, 0.04, 1.0);"),s.push("material.specularColor = mix(vec3(dielectricSpecular), baseColor, metallic);"),s.push("geometry.position = vViewPosition.xyz;"),s.push("geometry.viewNormal = -normalize(viewNormal);"),s.push("geometry.viewEyeDir = normalize(vViewPosition.xyz);"),r.lightMaps.length>0&&s.push("geometry.worldNormal = normalize(vWorldNormal);"),(r.lightMaps.length>0||r.reflectionMaps.length>0)&&s.push("computePBRLightMapping(geometry, material, reflectedLight);");for(var d=0,v=r.lights.length;d0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry normals vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),this._addRemapClipPosLines(n,3),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&n.push("out float vFlags;"),n.push("out vec4 vWorldPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&n.push("vFlags = flags;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Batched geometry normals fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("in vec4 vWorldPosition;"),n){r.push("in float vFlags;");for(var i=0;i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),r.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),r.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),r.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),r.push("}"),r}}]),n}(),El=function(e){I(n,ao);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){var e=this._scene;return[e.gammaOutput,e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry drawing vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in vec2 uv;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),n.push("uniform mat3 uvDecodeMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vViewPosition;"),n.push("out vec4 vColor;"),n.push("out vec2 vUV;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vViewPosition = viewPosition;"),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),n.push("vUV = (uvDecodeMatrix * vec3(uv, 1.0)).xy;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n.gammaOutput,i=n._sectionPlanesState,a=n._lightsState,s=i.getNumAllocatedSectionPlanes()>0,o=[];if(o.push("#version 300 es"),o.push("// Instancing geometry drawing fragment shader"),o.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),o.push("precision highp float;"),o.push("precision highp int;"),o.push("#else"),o.push("precision mediump float;"),o.push("precision mediump int;"),o.push("#endif"),n.logarithmicDepthBufferEnabled&&(o.push("in float isPerspective;"),o.push("uniform float logDepthBufFC;"),o.push("in float vFragDepth;")),o.push("uniform sampler2D uColorMap;"),this._withSAO&&(o.push("uniform sampler2D uOcclusionTexture;"),o.push("uniform vec4 uSAOParams;"),o.push("const float packUpscale = 256. / 255.;"),o.push("const float unpackDownScale = 255. / 256.;"),o.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),o.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),o.push("float unpackRGBToFloat( const in vec4 v ) {"),o.push(" return dot( v, unPackFactors );"),o.push("}")),o.push("uniform float gammaFactor;"),o.push("vec4 linearToLinear( in vec4 value ) {"),o.push(" return value;"),o.push("}"),o.push("vec4 sRGBToLinear( in vec4 value ) {"),o.push(" return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );"),o.push("}"),o.push("vec4 gammaToLinear( in vec4 value) {"),o.push(" return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );"),o.push("}"),r&&(o.push("vec4 linearToGamma( in vec4 value, in float gammaFactor ) {"),o.push(" return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );"),o.push("}")),s){o.push("in vec4 vWorldPosition;"),o.push("in float vFlags;");for(var l=0,u=i.getNumAllocatedSectionPlanes();l> 16 & 0xF) == 1;"),o.push(" if (clippable) {"),o.push(" float dist = 0.0;");for(var f=0,p=i.getNumAllocatedSectionPlanes();f 0.0) { "),o.push(" discard;"),o.push(" }"),o.push("}")}for(o.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),o.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),o.push("float lambertian = 1.0;"),o.push("vec3 xTangent = dFdx( vViewPosition.xyz );"),o.push("vec3 yTangent = dFdy( vViewPosition.xyz );"),o.push("vec3 viewNormal = normalize( cross( xTangent, yTangent ) );"),e=0,t=a.lights.length;e0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec4 pickColor;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("out float vFlags;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vWorldPosition = worldPosition;"),t&&n.push(" vFlags = flags;"),n.push("vPickColor = pickColor;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Points instancing pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, -layerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Ol=$.vec3(),Sl=$.vec3(),Nl=$.vec3(),Ll=$.vec3(),Ml=$.mat4(),xl=function(e){I(n,no);var t=m(n);function n(e){return b(this,n),t.call(this,e,!1,{instancing:!0})}return P(n,[{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=t.aabb,A=e.pickViewMatrix||a.viewMatrix;this._vaoCache.has(t)?s.bindVertexArray(this._vaoCache.get(t)):this._vaoCache.set(t,this._makeVAO(o));var d,v,h=Ol;if(h[0]=$.safeInv(p[3]-p[0])*$.MAX_INT,h[1]=$.safeInv(p[4]-p[1])*$.MAX_INT,h[2]=$.safeInv(p[5]-p[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(h[0]),e.snapPickCoordinateScale[1]=$.safeInv(h[1]),e.snapPickCoordinateScale[2]=$.safeInv(h[2]),l||0!==u[0]||0!==u[1]||0!==u[2]){var I=Sl;if(l){var y=$.transformPoint3(c,l,Nl);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],d=Be(A,I,Ml),(v=Ll)[0]=a.eye[0]-I[0],v[1]=a.eye[1]-I[1],v[2]=a.eye[2]-I[2],e.snapPickOrigin[0]=I[0],e.snapPickOrigin[1]=I[1],e.snapPickOrigin[2]=I[2]}else d=A,v=a.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform2fv(this.uVectorA,e.snapVectorA),s.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),s.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),s.uniform3fv(this._uCoordinateScaler,h),s.uniform1i(this._uRenderPass,n),s.uniform1i(this._uPickInvisible,e.pickInvisible);var m=0;this._matricesUniformBlockBufferData.set(f,0),this._matricesUniformBlockBufferData.set(d,m+=16),this._matricesUniformBlockBufferData.set(a.projMatrix,m+=16),this._matricesUniformBlockBufferData.set(o.positionsDecodeMatrix,m+=16),s.bindBuffer(s.UNIFORM_BUFFER,this._matricesUniformBlockBuffer),s.bufferData(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferData,s.DYNAMIC_DRAW),s.bindBufferBase(s.UNIFORM_BUFFER,this._matricesUniformBlockBufferBindingPoint,this._matricesUniformBlockBuffer);var w=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,w),this.setSectionPlanesStateUniforms(t),this._aModelMatrixCol0.bindArrayBuffer(o.modelMatrixCol0Buf),this._aModelMatrixCol1.bindArrayBuffer(o.modelMatrixCol1Buf),this._aModelMatrixCol2.bindArrayBuffer(o.modelMatrixCol2Buf),s.vertexAttribDivisor(this._aModelMatrixCol0.location,1),s.vertexAttribDivisor(this._aModelMatrixCol1.location,1),s.vertexAttribDivisor(this._aModelMatrixCol2.location,1),this._aFlags.bindArrayBuffer(o.flagsBuf),s.vertexAttribDivisor(this._aFlags.location,1),"edge"===e.snapMode?(o.edgeIndicesBuf.bind(),s.drawElementsInstanced(s.LINES,o.edgeIndicesBuf.numItems,o.edgeIndicesBuf.itemType,0,o.numInstances),o.edgeIndicesBuf.unbind()):s.drawArraysInstanced(s.POINTS,0,o.positionsBuf.numItems,o.numInstances),s.vertexAttribDivisor(this._aModelMatrixCol0.location,0),s.vertexAttribDivisor(this._aModelMatrixCol1.location,0),s.vertexAttribDivisor(this._aModelMatrixCol2.location,0),s.vertexAttribDivisor(this._aFlags.location,0),this._aOffset&&s.vertexAttribDivisor(this._aOffset.location,0)}}},{key:"_allocate",value:function(){v(E(n.prototype),"_allocate",this).call(this);var e=this._program;this._uLogDepthBufFC=e.getLocation("logDepthBufFC"),this._uCameraEyeRtc=e.getLocation("uCameraEyeRtc"),this.uVectorA=e.getLocation("snapVectorA"),this.uInverseVectorAB=e.getLocation("snapInvVectorAB"),this._uLayerNumber=e.getLocation("layerNumber"),this._uCoordinateScaler=e.getLocation("coordinateScaler")}},{key:"_bindProgram",value:function(){this._program.bind()}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 snapVectorA;"),n.push("uniform vec2 snapInvVectorAB;"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - snapVectorA.x) * snapInvVectorAB.x;"),n.push(" float y = (clipPos.y - snapVectorA.y) * snapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int pickFlag = int(flags) >> 12 & 0xF;"),n.push("if (pickFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// SnapInstancingDepthRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int layerNumber;"),n.push("uniform vec3 coordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("in float vFlags;");for(var r=0;r> 16 & 0xF) == 1;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push("}")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz*coordinateScaler.xyz, layerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),n}(),Fl=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._snapDepthRenderer&&!this._snapDepthRenderer.getValid()&&(this._snapDepthRenderer.destroy(),this._snapDepthRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthRenderer||(this._snapDepthRenderer=new xl(this._scene))}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Bl(this._scene,!1)),this._snapDepthBufInitRenderer}},{key:"snapDepthRenderer",get:function(){return this._snapDepthRenderer||(this._snapDepthRenderer=new xl(this._scene)),this._snapDepthRenderer}},{key:"_destroy",value:function(){this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._snapDepthRenderer&&this._snapDepthRenderer.destroy()}}]),e}(),Hl={};var Ul=new Uint8Array(4),Gl=new Float32Array(1),kl=$.vec4([0,0,0,1]);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var jl=new Float32Array(3),Vl=$.vec3(),Ql=$.vec3(),Wl=$.vec3(),zl=$.vec3(),Kl=$.vec3(),Yl=$.vec3(),Xl=$.vec3(),ql=new Float32Array(4),Jl=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.sortId="TrianglesInstancingLayer"+(t.solid?"-solid":"-surface")+(t.normals?"-normals":"-autoNormals"),this.layerIndex=t.layerIndex,this._instancingRenderers=(n=t.model.scene,r=n.id,(i=bl[r])||(i=new Tl(n),bl[r]=i,i._compile(),i.eagerCreateRenders(),n.on("compile",(function(){i._compile(),i.eagerCreateRenders()})),n.on("destroyed",(function(){delete bl[r],i._destroy()}))),i),this._snapInstancingRenderers=function(e){var t=e.id,n=Hl[t];return n||(n=new Fl(e),Hl[t]=n,n._compile(),n.eagerCreateRenders(),e.on("compile",(function(){n._compile(),n.eagerCreateRenders()})),e.on("destroyed",(function(){delete Hl[t],n._destroy()}))),n}(t.model.scene),this._aabb=$.collapseAABB3(),this._state=new Wt({numInstances:0,obb:$.OBB3(),origin:$.vec3(),geometry:t.geometry,textureSet:t.textureSet,pbrSupported:!1,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,metallicRoughnessBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,modelNormalMatrixCol0Buf:null,modelNormalMatrixCol1Buf:null,modelNormalMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._metallicRoughness=[],this._pickColors=[],this._offsets=[],this._modelMatrix=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,t.origin&&this._state.origin.set(t.origin),this._finalized=!1,this.solid=!!t.solid,this.numIndices=t.geometry.numIndices}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,r.DYNAMIC_DRAW,!1),this._colors=[]}if(this._metallicRoughness.length>0){var s=new Uint8Array(this._metallicRoughness);e.metallicRoughnessBuf=new Dt(r,r.ARRAY_BUFFER,s,this._metallicRoughness.length,2,r.STATIC_DRAW,!1)}if(a>0){e.flagsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(a),a,1,r.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){e.offsetsBuf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,r.DYNAMIC_DRAW,!1),this._offsets=[]}if(t.positionsCompressed&&t.positionsCompressed.length>0){e.positionsBuf=new Dt(r,r.ARRAY_BUFFER,t.positionsCompressed,t.positionsCompressed.length,3,r.STATIC_DRAW,!1),e.positionsDecodeMatrix=$.mat4(t.positionsDecodeMatrix)}if(t.colorsCompressed&&t.colorsCompressed.length>0){var o=new Uint8Array(t.colorsCompressed);e.colorsBuf=new Dt(r,r.ARRAY_BUFFER,o,o.length,4,r.STATIC_DRAW,!1)}if(t.uvCompressed&&t.uvCompressed.length>0){var l=t.uvCompressed;e.uvDecodeMatrix=t.uvDecodeMatrix,e.uvBuf=new Dt(r,r.ARRAY_BUFFER,l,l.length,2,r.STATIC_DRAW,!1)}if(t.indices&&t.indices.length>0&&(e.indicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.indices),t.indices.length,1,r.STATIC_DRAW),e.numIndices=t.indices.length),"triangles"!==t.primitive&&"solid"!==t.primitive&&"surface"!==t.primitive||(e.edgeIndicesBuf=new Dt(r,r.ELEMENT_ARRAY_BUFFER,new Uint32Array(t.edgeIndices),t.edgeIndices.length,1,r.STATIC_DRAW)),this._modelMatrixCol0.length>0){var u=!1;e.modelMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],e.normalsBuf&&(e.modelNormalMatrixCol0Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol0),this._modelNormalMatrixCol0.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol1Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol1),this._modelNormalMatrixCol1.length,4,r.STATIC_DRAW,u),e.modelNormalMatrixCol2Buf=new Dt(r,r.ARRAY_BUFFER,new Float32Array(this._modelNormalMatrixCol2),this._modelNormalMatrixCol2.length,4,r.STATIC_DRAW,u),this._modelNormalMatrixCol0=[],this._modelNormalMatrixCol1=[],this._modelNormalMatrixCol2=[])}if(this._pickColors.length>0){e.pickColorsBuf=new Dt(r,r.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,r.STATIC_DRAW,!1),this._pickColors=[]}e.pbrSupported=!!(e.metallicRoughnessBuf&&e.uvBuf&&e.normalsBuf&&n&&n.colorTexture&&n.metallicRoughnessTexture),e.colorTextureSupported=!!e.uvBuf&&!!n&&!!n.colorTexture,this._state.geometry=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ul[0]=t[0],Ul[1]=t[1],Ul[2]=t[2],Ul[3]=t[3],this._state.colorsBuf&&this._state.colorsBuf.setData(Ul,4*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&Me),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&xe),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?1:0)<<16,Gl[0]=c,this._state.flagsBuf&&this._state.flagsBuf.setData(Gl,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(jl[0]=t[0],jl[1]=t[1],jl[2]=t[2],this._state.offsetsBuf&&this._state.offsetsBuf.setData(jl,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"getEachVertex",value:function(e,t){if(!this.model.scene.pickSurfacePrecisionEnabled)return!1;var n=this._state,r=n.geometry,i=this._portions[e];if(i)for(var a=r.quantizedPositions,s=n.origin,o=i.offset,l=s[0]+o[0],u=s[1]+o[1],c=s[2]+o[2],f=kl,p=i.matrix,A=this.model.sceneModelMatrix,d=n.positionsDecodeMatrix,v=0,h=a.length;vy)&&(y=P,r.set(m),i&&$.triangleNormal(d,v,h,i),I=!0)}}return I&&i&&($.transformVec3(o.normalMatrix,i,i),$.transformVec3(this.model.worldNormalMatrix,i,i),$.normalizeVec3(i)),I}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.modelNormalMatrixCol0Buf&&(e.modelNormalMatrixCol0Buf.destroy(),e.modelNormalMatrixCol0Buf=null),e.modelNormalMatrixCol1Buf&&(e.modelNormalMatrixCol1Buf.destroy(),e.modelNormalMatrixCol1Buf=null),e.modelNormalMatrixCol2Buf&&(e.modelNormalMatrixCol2Buf.destroy(),e.modelNormalMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy(),this._state=null}}]),e}(),Zl=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push("worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),$l=function(e){I(n,uo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines batching silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),this._addMatricesUniformBlockLines(n),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines batching silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),eu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Zl(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new $l(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),tu={};var nu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.offsets=[],this.indices=[]}));$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var ru=function(){function e(t){var n,r,i;b(this,e),this.layerIndex=t.layerIndex,this._batchingRenderers=(n=t.model.scene,r=n.id,(i=tu[r])||(i=new eu(n),tu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete tu[r],i._destroy()}))),i),this.model=t.model,this._buffer=new nu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,indicesBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._numVerts=0,this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.DYNAMIC_DRAW,!1)}if(n.colors.length>0){var s=n.colors.length/4,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var l=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.offsets.length,3,t.DYNAMIC_DRAW)}if(n.indices.length>0){var u=new Uint32Array(n.indices);e.indicesBuf=new Dt(t,t.ELEMENT_ARRAY_BUFFER,u,n.indices.length,1,t.STATIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,!0)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=t[3],c=0;c3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=2*e,o=this._portions[s],l=this._portions[s+1],u=o,c=l,f=!!(t&Me),p=!!(t&Ge),A=!!(t&ke),d=!!(t&je),v=!!(t&Fe),h=!!(t&xe);i=!f||h||p||A&&!this.model.scene.highlightMaterial.glowThrough||d&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!f||h?Xs.NOT_RENDERED:d?Xs.SILHOUETTE_SELECTED:A?Xs.SILHOUETTE_HIGHLIGHTED:p?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var I=f&&!h&&v?Xs.PICK:Xs.NOT_RENDERED,y=t&He?1:0;if(r){this._deferredFlagValues||(this._deferredFlagValues=new Float32Array(this._numVerts));for(var m=u,w=u+c;m0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing color vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),n.push("in vec4 color;"),n.push("in float flags;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 lightAmbient;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("if (colorFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, float(color.a) / 255.0);"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Lines instancing color fragment shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return this._withSAO?(a.push(" float viewportWidth = uSAOParams[0];"),a.push(" float viewportHeight = uSAOParams[1];"),a.push(" float blendCutoff = uSAOParams[2];"),a.push(" float blendFactor = uSAOParams[3];"),a.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),a.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBAToDepth(texture(uOcclusionTexture, uv))) * blendFactor;"),a.push(" outColor = vec4(vColor.rgb * ambient, vColor.a);")):a.push(" outColor = vColor;"),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),au=function(e){I(n,co);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Lines instancing silhouette vertex shader"),n.push("uniform int renderPass;"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(n),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;")),n.push("uniform vec4 color;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),n.push("if (silhouetteFlag != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Lines instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = color;"),r.push("}"),r}}]),n}(),su=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new iu(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new au(this._scene)),this._silhouetteRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy()}}]),e}(),ou={};var lu=new Uint8Array(4),uu=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var cu=new Float32Array(3),fu=new Float32Array(4),pu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="LinesInstancingLayer",this.layerIndex=t.layerIndex,this._linesInstancingRenderers=(n=t.model.scene,r=n.id,(i=ou[r])||(i=new su(n),ou[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete ou[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,positionsBuf:null,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._colors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,t.origin&&(this._state.origin=$.vec3(t.origin)),this._finalized=!1}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){this._state.colorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._colors),this._colors.length,4,e.DYNAMIC_DRAW,!1),this._colors=[]}if(n>0){this._state.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(n),n,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){this._state.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(this._modelMatrixCol0.length>0){var r=!1;this._state.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,r),this._state.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,r),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}this._state.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";lu[0]=t[0],lu[1]=t[1],lu[2]=t[2],lu[3]=t[3],this._state.colorsBuf.setData(lu,4*e,4)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&Me),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&xe),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,uu[0]=c,this._state.flagsBuf.setData(uu,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(cu[0]=t[0],cu[1]=t[1],cu[2]=t[2],this._state.offsetsBuf.setData(cu,3*e,3)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;fu[0]=t[0],fu[1]=t[4],fu[2]=t[8],fu[3]=t[12],this._state.modelMatrixCol0Buf.setData(fu,n),fu[0]=t[1],fu[1]=t[5],fu[2]=t[9],fu[3]=t[13],this._state.modelMatrixCol1Buf.setData(fu,n),fu[0]=t[2],fu[1]=t[6],fu[2]=t[10],fu[3]=t[14],this._state.modelMatrixCol2Buf.setData(fu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._linesInstancingRenderers.colorRenderer&&this._linesInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._linesInstancingRenderers.silhouetteRenderer&&this._linesInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){}},{key:"drawPickDepths",value:function(e,t){}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.positionsBuf&&(e.positionsBuf.destroy(),e.positionsBuf=null),e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.destroy()}}]),e}(),Au=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{incrementDrawState:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial,r=[];return r.push("#version 300 es"),r.push("// Points batching color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push("worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),du=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform vec4 color;"),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points batching silhouette vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("outColor = color;"),a.push("}"),a}}]),n}(),vu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching pick mesh vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vPickColor; "),r.push("}"),r}}]),n}(),hu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batched pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("gl_PointSize += 10.0;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batched pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Iu=function(e){I(n,oo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points batching occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push(" } else {"),r.push(" vec4 worldPosition = worldMatrix * (positionsDecodeMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push(" gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push(" }"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points batching occlusion fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push(" }")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),r.push("}"),r}}]),n}(),yu=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Au(this._scene)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new du(this._scene)),this._silhouetteRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new vu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new hu(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Iu(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),mu={};var wu=P((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5e6;b(this,e),t>5e6&&(t=5e6),this.maxVerts=t,this.maxIndices=3*t,this.positions=[],this.colors=[],this.intensities=[],this.pickColors=[],this.offsets=[]}));$.vec4(),$.vec4(),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.OBB3();var gu=function(){function e(t){b(this,e),this.model=t.model,this.sortId="PointsBatchingLayer",this.layerIndex=t.layerIndex,this._pointsBatchingRenderers=function(e){var t=e.id,n=mu[t];return n||(n=new yu(e),mu[t]=n,n._compile(),e.on("compile",(function(){n._compile()})),e.on("destroyed",(function(){delete mu[t],n._destroy()}))),n}(t.model.scene),this._buffer=new wu(t.maxGeometryBatchSize),this._scratchMemory=t.scratchMemory,this._state=new Wt({positionsBuf:null,offsetsBuf:null,colorsBuf:null,flagsBuf:null,positionsDecodeMatrix:$.mat4(),origin:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numSelectedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numClippableLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this._modelAABB=$.collapseAABB3(),this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1,t.positionsDecodeMatrix?(this._state.positionsDecodeMatrix.set(t.positionsDecodeMatrix),this._preCompressedPositionsExpected=!0):this._preCompressedPositionsExpected=!1,t.origin&&(this._state.origin=$.vec3(t.origin)),this.aabb=$.collapseAABB3()}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0)if(this._preCompressedPositionsExpected){var r=new Uint16Array(n.positions);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,r,n.positions.length,3,t.STATIC_DRAW)}else{var i=So(new Float32Array(n.positions),this._modelAABB,e.positionsDecodeMatrix);e.positionsBuf=new Dt(t,t.ARRAY_BUFFER,i,n.positions.length,3,t.STATIC_DRAW)}if(n.colors.length>0){var a=new Uint8Array(n.colors);e.colorsBuf=new Dt(t,t.ARRAY_BUFFER,a,n.colors.length,4,t.STATIC_DRAW,!1)}if(n.positions.length>0){var s=n.positions.length/3,o=new Float32Array(s);e.flagsBuf=new Dt(t,t.ARRAY_BUFFER,o,o.length,1,t.DYNAMIC_DRAW,!1)}if(n.pickColors.length>0){var l=new Uint8Array(n.pickColors);e.pickColorsBuf=new Dt(t,t.ARRAY_BUFFER,l,n.pickColors.length,4,t.STATIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&n.offsets.length>0){var u=new Float32Array(n.offsets);e.offsetsBuf=new Dt(t,t.ARRAY_BUFFER,u,n.offsets.length,3,t.DYNAMIC_DRAW)}this._buffer=null,this._finalized=!0}}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized"}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";for(var n=2*e,r=4*this._portions[n],i=4*this._portions[n+1],a=this._scratchMemory.getUInt8Array(i),s=t[0],o=t[1],l=t[2],u=0;u0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing color vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),r.push("in vec4 color;"),r.push("in float flags;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),n.filterIntensity&&r.push("uniform vec2 intensityRange;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),n.filterIntensity&&(r.push("float intensity = float(color.a) / 255.0;"),r.push("if (intensity < intensityRange[0] || intensity > intensityRange[1]) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {")),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),r.push("vColor = vec4(float(color.r) / 255.0, float(color.g) / 255.0, float(color.b) / 255.0, 1.0);"),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),n.filterIntensity&&r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing color fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vColor;"),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Tu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"drawLayer",value:function(e,t,r){v(E(n.prototype),"drawLayer",this).call(this,e,t,r,{colorUniform:!0})}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing silhouette vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 color;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),r.push("uniform vec4 silhouetteColor;"),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vColor;"),r.push("void main(void) {"),r.push("int silhouetteFlag = int(flags) >> 4 & 0xF;"),r.push("if (silhouetteFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push("vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push("worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("vColor = vec4(float(silhouetteColor.r) / 255.0, float(silhouetteColor.g) / 255.0, float(silhouetteColor.b) / 255.0, float(color.a) / 255.0);"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing silhouette fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vColor;"),r.push("}"),r}}]),n}(),bu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick mesh vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 pickColor;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vPickColor;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),r.push(" vPickColor = vec4(float(pickColor.r) / 255.0, float(pickColor.g) / 255.0, float(pickColor.b) / 255.0, float(pickColor.a) / 255.0);"),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick mesh fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("outColor = vPickColor; "),r.push("}"),r}}]),n}(),Du=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing pick depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),r.push("uniform bool pickInvisible;"),this._addMatricesUniformBlockLines(r),this._addRemapClipPosLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("out vec4 vViewPosition;"),r.push("void main(void) {"),r.push("int pickFlag = int(flags) >> 12 & 0xF;"),r.push("if (pickFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push(" vFlags = flags;")),r.push(" vViewPosition = viewPosition;"),r.push("vec4 clipPos = projMatrix * viewPosition;"),r.push("gl_Position = remapClipPos(clipPos);"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = remapClipPos(clipPos);"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing pick depth fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),r.push("uniform float pickZNear;"),r.push("uniform float pickZFar;"),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),r.push(" outColor = packDepth(zNormalizedDepth); "),r.push("}"),r}}]),n}(),Pu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in vec4 color;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push(" vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Points instancing occlusion vertex shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0;i 1.0) {"),r.push(" discard;"),r.push(" }")),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),r.push("}")}return r.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push("}"),r}}]),n}(),Ru=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()+this._scene.pointsMaterial.hash}},{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=e.pointsMaterial._state,r=[];return r.push("#version 300 es"),r.push("// Points instancing depth vertex shader"),r.push("uniform int renderPass;"),r.push("in vec3 position;"),e.entityOffsetsEnabled&&r.push("in vec3 offset;"),r.push("in float flags;"),r.push("in vec4 modelMatrixCol0;"),r.push("in vec4 modelMatrixCol1;"),r.push("in vec4 modelMatrixCol2;"),this._addMatricesUniformBlockLines(r),r.push("uniform float pointSize;"),n.perspectivePoints&&r.push("uniform float nearPlaneHeight;"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("out float vFragDepth;")),t&&(r.push("out vec4 vWorldPosition;"),r.push("out float vFlags;")),r.push("void main(void) {"),r.push("int colorFlag = int(flags) & 0xF;"),r.push("if (colorFlag != renderPass) {"),r.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),r.push("} else {"),r.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),r.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&r.push(" worldPosition.xyz = worldPosition.xyz + offset;"),r.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(r.push("vWorldPosition = worldPosition;"),r.push("vFlags = flags;")),r.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&r.push("vFragDepth = 1.0 + clipPos.w;"),r.push("gl_Position = clipPos;"),n.perspectivePoints?(r.push("gl_PointSize = (nearPlaneHeight * pointSize) / clipPos.w;"),r.push("gl_PointSize = max(gl_PointSize, "+Math.floor(n.minPerspectivePointSize)+".0);"),r.push("gl_PointSize = min(gl_PointSize, "+Math.floor(n.maxPerspectivePointSize)+".0);")):r.push("gl_PointSize = pointSize;"),r.push("}"),r.push("}"),r}},{key:"_buildFragmentShader",value:function(){var e,t,n=this._scene,r=n._sectionPlanesState,i=r.getNumAllocatedSectionPlanes()>0,a=[];if(a.push("#version 300 es"),a.push("// Points instancing depth vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("#endif"),n.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("in float vFragDepth;")),i)for(a.push("in vec4 vWorldPosition;"),a.push("in float vFlags;"),e=0,t=r.getNumAllocatedSectionPlanes();e 1.0) {"),a.push(" discard;"),a.push(" }")),i){for(a.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),a.push(" if (clippable) {"),a.push(" float dist = 0.0;"),e=0,t=r.getNumAllocatedSectionPlanes();e 0.0) { discard; }"),a.push("}")}return a.push(" outColor = packDepthToRGBA( gl_FragCoord.z); "),n.logarithmicDepthBufferEnabled&&a.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),a.push("}"),a}}]),n}(),Cu=function(e){I(n,lo);var t=m(n);function n(){return b(this,n),t.apply(this,arguments)}return P(n,[{key:"_buildVertexShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];return n.push("#version 300 es"),n.push("// Instancing geometry shadow drawing vertex shader"),n.push("in vec3 position;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("in vec4 color;"),n.push("in float flags;"),n.push("in vec4 modelMatrixCol0;"),n.push("in vec4 modelMatrixCol1;"),n.push("in vec4 modelMatrixCol2;"),n.push("uniform mat4 shadowViewMatrix;"),n.push("uniform mat4 shadowProjMatrix;"),this._addMatricesUniformBlockLines(n),n.push("uniform float pointSize;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out float vFlags;")),n.push("void main(void) {"),n.push("int colorFlag = int(flags) & 0xF;"),n.push("bool visible = (colorFlag > 0);"),n.push("bool transparent = ((float(color.a) / 255.0) < 1.0);"),n.push("if (!visible || transparent) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push("} else {"),n.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); "),n.push(" worldPosition = vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);"),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = shadowViewMatrix * worldPosition; "),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags = flags;")),n.push(" gl_Position = shadowProjMatrix * viewPosition;"),n.push("}"),n.push("gl_PointSize = pointSize;"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState,n=t.getNumAllocatedSectionPlanes()>0,r=[];if(r.push("#version 300 es"),r.push("// Instancing geometry depth drawing fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),n){r.push("in vec4 vWorldPosition;"),r.push("in float vFlags;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 1.0) {"),r.push(" discard;"),r.push(" }"),n){r.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { discard; }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push("gl_FragDepth = log2( vFragDepth ) * logDepthBufFC * 0.5;"),r.push(" outColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),r.push("}"),r}}]),n}(),_u=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null),this._shadowRenderer&&!this._shadowRenderer.getValid()&&(this._shadowRenderer.destroy(),this._shadowRenderer=null)}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new Eu(this._scene,!1)),this._colorRenderer}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Tu(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new Ru(this._scene)),this._depthRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new bu(this._scene)),this._pickMeshRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Du(this._scene)),this._pickDepthRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new Pu(this._scene)),this._occlusionRenderer}},{key:"shadowRenderer",get:function(){return this._shadowRenderer||(this._shadowRenderer=new Cu(this._scene)),this._shadowRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy(),this._shadowRenderer&&this._shadowRenderer.destroy()}}]),e}(),Bu={};var Ou=new Uint8Array(4),Su=new Float32Array(1);$.vec4([0,0,0,1]),$.vec4([0,0,0,1]),$.vec4([0,0,0,1]);var Nu=new Float32Array(3),Lu=new Float32Array(4),Mu=function(){function e(t){var n,r,i;b(this,e),this.model=t.model,this.material=t.material,this.sortId="PointsInstancingLayer",this.layerIndex=t.layerIndex,this._pointsInstancingRenderers=(n=t.model.scene,r=n.id,(i=Bu[r])||(i=new _u(n),Bu[r]=i,i._compile(),n.on("compile",(function(){i._compile()})),n.on("destroyed",(function(){delete Bu[r],i._destroy()}))),i),this._aabb=$.collapseAABB3(),this._state=new Wt({obb:$.OBB3(),numInstances:0,origin:t.origin?$.vec3(t.origin):null,geometry:t.geometry,positionsDecodeMatrix:t.geometry.positionsDecodeMatrix,colorsBuf:null,flagsBuf:null,offsetsBuf:null,modelMatrixCol0Buf:null,modelMatrixCol1Buf:null,modelMatrixCol2Buf:null,pickColorsBuf:null}),this._numPortions=0,this._numVisibleLayerPortions=0,this._numTransparentLayerPortions=0,this._numXRayedLayerPortions=0,this._numHighlightedLayerPortions=0,this._numSelectedLayerPortions=0,this._numClippableLayerPortions=0,this._numEdgesLayerPortions=0,this._numPickableLayerPortions=0,this._numCulledLayerPortions=0,this.numIndices=t.geometry.numIndices,this._pickColors=[],this._offsets=[],this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[],this._portions=[],this._meshes=[],this._aabb=$.collapseAABB3(),this.aabbDirty=!0,this._finalized=!1}return P(e,[{key:"aabb",get:function(){if(this.aabbDirty){$.collapseAABB3(this._aabb);for(var e=0,t=this._meshes.length;e0){n.flagsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(t),t,1,e.DYNAMIC_DRAW,!1)}if(this.model.scene.entityOffsetsEnabled&&this._offsets.length>0){n.offsetsBuf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._offsets),this._offsets.length,3,e.DYNAMIC_DRAW,!1),this._offsets=[]}if(r.positionsCompressed&&r.positionsCompressed.length>0){n.positionsBuf=new Dt(e,e.ARRAY_BUFFER,r.positionsCompressed,r.positionsCompressed.length,3,e.STATIC_DRAW,!1),n.positionsDecodeMatrix=$.mat4(r.positionsDecodeMatrix)}if(r.colorsCompressed&&r.colorsCompressed.length>0){var i=new Uint8Array(r.colorsCompressed);n.colorsBuf=new Dt(e,e.ARRAY_BUFFER,i,i.length,4,e.STATIC_DRAW,!1)}if(this._modelMatrixCol0.length>0){var a=!1;n.modelMatrixCol0Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol0),this._modelMatrixCol0.length,4,e.STATIC_DRAW,a),n.modelMatrixCol1Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol1),this._modelMatrixCol1.length,4,e.STATIC_DRAW,a),n.modelMatrixCol2Buf=new Dt(e,e.ARRAY_BUFFER,new Float32Array(this._modelMatrixCol2),this._modelMatrixCol2.length,4,e.STATIC_DRAW,a),this._modelMatrixCol0=[],this._modelMatrixCol1=[],this._modelMatrixCol2=[]}if(this._pickColors.length>0){n.pickColorsBuf=new Dt(e,e.ARRAY_BUFFER,new Uint8Array(this._pickColors),this._pickColors.length,4,e.STATIC_DRAW,!1),this._pickColors=[]}n.geometry=null,this._finalized=!0}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++),this._setFlags(e,t,n)}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags(e,t)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions--,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){if(!this._finalized)throw"Not finalized";Ou[0]=t[0],Ou[1]=t[1],Ou[2]=t[2],this._state.colorsBuf.setData(Ou,3*e)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){if(!this._finalized)throw"Not finalized";var r=!!(t&Me),i=!!(t&Ge),a=!!(t&ke),s=!!(t&je),o=!!(t&Ve),l=!!(t&Fe),u=!!(t&xe),c=0;c|=!r||u||i||a&&!this.model.scene.highlightMaterial.glowThrough||s&&!this.model.scene.selectedMaterial.glowThrough?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.SILHOUETTE_SELECTED:a?Xs.SILHOUETTE_HIGHLIGHTED:i?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED)<<4,c|=(!r||u?Xs.NOT_RENDERED:s?Xs.EDGES_SELECTED:a?Xs.EDGES_HIGHLIGHTED:i?Xs.EDGES_XRAYED:o?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED)<<8,c|=(r&&!u&&l?Xs.PICK:Xs.NOT_RENDERED)<<12,c|=(t&He?255:0)<<16,Su[0]=c,this._state.flagsBuf.setData(Su,e)}},{key:"setOffset",value:function(e,t){if(!this._finalized)throw"Not finalized";this.model.scene.entityOffsetsEnabled?(Nu[0]=t[0],Nu[1]=t[1],Nu[2]=t[2],this._state.offsetsBuf.setData(Nu,3*e)):this.model.error("Entity#offset not enabled for this Viewer")}},{key:"setMatrix",value:function(e,t){if(!this._finalized)throw"Not finalized";var n=4*e;Lu[0]=t[0],Lu[1]=t[4],Lu[2]=t[8],Lu[3]=t[12],this._state.modelMatrixCol0Buf.setData(Lu,n),Lu[0]=t[1],Lu[1]=t[5],Lu[2]=t[9],Lu[3]=t[13],this._state.modelMatrixCol1Buf.setData(Lu,n),Lu[0]=t[2],Lu[1]=t[6],Lu[2]=t[10],Lu[3]=t[14],this._state.modelMatrixCol2Buf.setData(Lu,n)}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&this._pointsInstancingRenderers.colorRenderer&&this._pointsInstancingRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT)}},{key:"drawDepth",value:function(e,t){}},{key:"drawNormals",value:function(e,t){}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED)}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED)}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._pointsInstancingRenderers.silhouetteRenderer&&this._pointsInstancingRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED)}},{key:"drawEdgesColorOpaque",value:function(e,t){}},{key:"drawEdgesColorTransparent",value:function(e,t){}},{key:"drawEdgesHighlighted",value:function(e,t){}},{key:"drawEdgesSelected",value:function(e,t){}},{key:"drawEdgesXRayed",value:function(e,t){}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.occlusionRenderer&&this._pointsInstancingRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE)}},{key:"drawShadow",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickMeshRenderer&&this._pointsInstancingRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._pointsInstancingRenderers.pickDepthRenderer&&this._pointsInstancingRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK)}},{key:"drawPickNormals",value:function(e,t){}},{key:"destroy",value:function(){var e=this._state;e.colorsBuf&&(e.colorsBuf.destroy(),e.colorsBuf=null),e.flagsBuf&&(e.flagsBuf.destroy(),e.flagsBuf=null),e.offsetsBuf&&(e.offsetsBuf.destroy(),e.offsetsBuf=null),e.modelMatrixCol0Buf&&(e.modelMatrixCol0Buf.destroy(),e.modelMatrixCol0Buf=null),e.modelMatrixCol1Buf&&(e.modelMatrixCol1Buf.destroy(),e.modelMatrixCol1Buf=null),e.modelMatrixCol2Buf&&(e.modelMatrixCol2Buf.destroy(),e.modelMatrixCol2Buf=null),e.pickColorsBuf&&(e.pickColorsBuf.destroy(),e.pickColorsBuf=null),e.destroy()}}]),e}(),xu=function(){function e(t){b(this,e),this.id=t.id,this.colorTexture=t.colorTexture,this.metallicRoughnessTexture=t.metallicRoughnessTexture,this.normalsTexture=t.normalsTexture,this.emissiveTexture=t.emissiveTexture,this.occlusionTexture=t.occlusionTexture}return P(e,[{key:"destroy",value:function(){}}]),e}(),Fu=function(){function e(t){b(this,e),this.id=t.id,this.texture=t.texture}return P(e,[{key:"destroy",value:function(){this.texture&&(this.texture.destroy(),this.texture=null)}}]),e}(),Hu={enabled:!1,files:{},add:function(e,t){!1!==this.enabled&&(this.files[e]=t)},get:function(e){if(!1!==this.enabled)return this.files[e]},remove:function(e){delete this.files[e]},clear:function(){this.files={}}},Uu=function(){function e(t,n,r){b(this,e),this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=t,this.onProgress=n,this.onError=r}return P(e,[{key:"itemStart",value:function(e){this.itemsTotal++,!1===this.isLoading&&void 0!==this.onStart&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}},{key:"itemEnd",value:function(e){this.itemsLoaded++,void 0!==this.onProgress&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,void 0!==this.onLoad&&this.onLoad())}},{key:"itemError",value:function(e){void 0!==this.onError&&this.onError(e)}},{key:"resolveURL",value:function(e){return this.urlModifier?this.urlModifier(e):e}},{key:"setURLModifier",value:function(e){return this.urlModifier=e,this}},{key:"addHandler",value:function(e,t){return this.handlers.push(e,t),this}},{key:"removeHandler",value:function(e){var t=this.handlers.indexOf(e);return-1!==t&&this.handlers.splice(t,2),this}},{key:"getHandler",value:function(e){for(var t=0,n=this.handlers.length;t0&&void 0!==arguments[0]?arguments[0]:4;b(this,e),this.pool=t,this.queue=[],this.workers=[],this.workersResolve=[],this.workerStatus=0}return P(e,[{key:"_initWorker",value:function(e){if(!this.workers[e]){var t=this.workerCreator();t.addEventListener("message",this._onMessage.bind(this,e)),this.workers[e]=t}}},{key:"_getIdleWorker",value:function(){for(var e=0;e0&&console.warn("KTX2TextureTranscoder: Multiple active KTX2TextureTranscoder may cause performance issues. Use a single KTX2TextureTranscoder instance, or call .dispose() on old instances."),Wu++}return this._transcoderPending}},{key:"transcode",value:function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return new Promise((function(i,a){var s=r;n._init().then((function(){return n._workerPool.postMessage({type:"transcode",buffers:e,taskConfig:s},e)})).then((function(e){var n=e.data,r=n.mipmaps,s=(n.width,n.height,n.format),o=n.type,l=n.error,u=n.dfdTransferFn,c=n.dfdFlags;if("error"===o)return a(l);t.setCompressedData({mipmaps:r,props:{format:s,minFilter:1===r.length?1006:1008,magFilter:1===r.length?1006:1008,encoding:2===u?3001:3e3,premultiplyAlpha:!!(1&c)}}),i()}))}))}},{key:"destroy",value:function(){URL.revokeObjectURL(this._workerSourceURL),this._workerPool.destroy(),Wu--}}]),e}();zu.BasisFormat={ETC1S:0,UASTC_4x4:1},zu.TranscoderFormat={ETC1:0,ETC2:1,BC1:2,BC3:3,BC4:4,BC5:5,BC7_M6_OPAQUE_ONLY:6,BC7_M5:7,PVRTC1_4_RGB:8,PVRTC1_4_RGBA:9,ASTC_4x4:10,ATC_RGB:11,ATC_RGBA_INTERPOLATED_ALPHA:12,RGBA32:13,RGB565:14,BGR565:15,RGBA4444:16},zu.EngineFormat={RGBAFormat:1023,RGBA_ASTC_4x4_Format:37808,RGBA_BPTC_Format:36492,RGBA_ETC2_EAC_Format:37496,RGBA_PVRTC_4BPPV1_Format:35842,RGBA_S3TC_DXT5_Format:33779,RGB_ETC1_Format:36196,RGB_ETC2_Format:37492,RGB_PVRTC_4BPPV1_Format:35840,RGB_S3TC_DXT1_Format:33776},zu.BasisWorker=function(){var e,t,n,r=_EngineFormat,i=_TranscoderFormat,a=_BasisFormat;self.addEventListener("message",(function(s){var c,f=s.data;switch(f.type){case"init":e=f.config,c=f.transcoderBinary,t=new Promise((function(e){n={wasmBinary:c,onRuntimeInitialized:e},BASIS(n)})).then((function(){n.initializeBasis(),void 0===n.KTX2File&&console.warn("KTX2TextureTranscoder: Please update Basis Universal transcoder.")}));break;case"transcode":t.then((function(){try{for(var t=function(t){var s=new n.KTX2File(new Uint8Array(t));function c(){s.close(),s.delete()}if(!s.isValid())throw c(),new Error("KTX2TextureTranscoder: Invalid or unsupported .ktx2 file");var f=s.isUASTC()?a.UASTC_4x4:a.ETC1S,p=s.getWidth(),A=s.getHeight(),d=s.getLevels(),v=s.getHasAlpha(),h=s.getDFDTransferFunc(),I=s.getDFDFlags(),y=function(t,n,s,c){for(var f,p,A=t===a.ETC1S?o:l,d=0;d>t;n.sort(ec);for(var o=new Int32Array(e.length),l=0,u=n.length;le[i+1]){var s=e[i];e[i]=e[i+1],e[i+1]=s}nc=new Int32Array(e),t.sort(rc);for(var o=new Int32Array(e.length),l=0,u=t.length;l0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl,n=e._lightsState;if(this._program=new bt(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);var r=this._program;this._uRenderPass=r.getLocation("renderPass"),this._uLightAmbient=r.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];for(var i=n.lights,a=0,s=i.length;a0,a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// TrianglesDataTextureColorRenderer fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("flat in uint vFlags2;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 0u;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),pc=new Float32Array([1,1,1]),Ac=$.vec3(),dc=$.vec3(),vc=$.vec3();$.vec3();var hc=$.mat4(),Ic=function(){function e(t,n){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate,A=i.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Ac;if(u){var I=dc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,hc),(v=vc)[0]=i.eye[0]-h[0],v[1]=i.eye[1]-h[1],v[2]=i.eye[2]-h[2]}else d=A,v=i.eye;if(s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),n===Xs.SILHOUETTE_XRAYED){var y=r.xrayMaterial._state,m=y.fillColor,w=y.fillAlpha;s.uniform4f(this._uColor,m[0],m[1],m[2],w)}else if(n===Xs.SILHOUETTE_HIGHLIGHTED){var g=r.highlightMaterial._state,E=g.fillColor,T=g.fillAlpha;s.uniform4f(this._uColor,E[0],E[1],E[2],T)}else if(n===Xs.SILHOUETTE_SELECTED){var b=r.selectedMaterial._state,D=b.fillColor,P=b.fillAlpha;s.uniform4f(this._uColor,D[0],D[1],D[2],P)}else s.uniform4fv(this._uColor,pc);if(r.logarithmicDepthBufferEnabled){var R=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,R)}var C=r._sectionPlanesState.getNumAllocatedSectionPlanes(),_=r._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=r._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=a.renderFlags,N=0;N0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture silhouette vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.y) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = color;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),yc=new Float32Array([0,0,0,1]),mc=$.vec3(),wc=$.vec3();$.vec3();var gc=$.mat4(),Ec=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=mc;if(v){var y=$.transformPoint3(f,u,wc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,gc)}else d=A;if(s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),n===Xs.EDGES_XRAYED){var m=i.xrayMaterial._state,w=m.edgeColor,g=m.edgeAlpha;s.uniform4f(this._uColor,w[0],w[1],w[2],g)}else if(n===Xs.EDGES_HIGHLIGHTED){var E=i.highlightMaterial._state,T=E.edgeColor,b=E.edgeAlpha;s.uniform4f(this._uColor,T[0],T[1],T[2],b)}else if(n===Xs.EDGES_SELECTED){var D=i.selectedMaterial._state,P=D.edgeColor,R=D.edgeAlpha;s.uniform4f(this._uColor,P[0],P[1],P[2],R)}else s.uniform4fv(this._uColor,yc);var C=i._sectionPlanesState.getNumAllocatedSectionPlanes(),_=i._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=i._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=r.renderFlags,N=0;N0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uWorldMatrix=n.getLocation("worldMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Tc=$.vec3(),bc=$.vec3();$.vec3();var Dc=$.mat4(),Pc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=Tc;if(v){var y=$.transformPoint3(f,u,bc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,Dc)}else d=A;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled,n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uObjectPerObjectOffsets;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vec4 rgb = vec4(color.rgba);"),n.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Rc=$.vec3(),Cc=$.vec3(),_c=$.vec3(),Bc=$.mat4(),Oc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate;c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==f[0]||0!==f[1]||0!==f[2],h=0!==p[0]||0!==p[1]||0!==p[2];if(v||h){var I=Rc;if(v){var y=$.transformPoint3(A,f,Cc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=p[0],I[1]+=p[1],I[2]+=p[2],r=Be(o.viewMatrix,I,Bc),(i=_c)[0]=o.eye[0]-I[0],i[1]=o.eye[1]-I[1],i[2]=o.eye[2]-I[2]}else r=o.viewMatrix,i=o.eye;if(l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),s.logarithmicDepthBufferEnabled){var m=2/(Math.log(o.project.far+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,m)}var w=s._sectionPlanesState.getNumAllocatedSectionPlanes(),g=s._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=s._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("smooth out vec4 vWorldPosition;"),n.push("flat out uvec4 vFlags2;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uvec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outPickColor = vPickColor; "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Sc=$.vec3(),Nc=$.vec3(),Lc=$.vec3();$.vec3();var xc=$.mat4(),Mc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=e.pickViewMatrix||o.viewMatrix;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),f||0!==p[0]||0!==p[1]||0!==p[2]){var h=Sc;if(f){var I=Nc;$.transformPoint3(A,f,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=p[0],h[1]+=p[1],h[2]+=p[2],r=Be(v,h,xc),(i=Lc)[0]=o.eye[0]-h[0],i[1]=o.eye[1]-h[1],i[2]=o.eye[2]-h[2],e.snapPickOrigin[0]=h[0],e.snapPickOrigin[1]=h[1],e.snapPickOrigin[2]=h[2]}else r=v,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(this._uPickZNear,e.pickZNear),l.uniform1f(this._uPickZFar,e.pickZFar),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),s.logarithmicDepthBufferEnabled){var y=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,y)}var m=s._sectionPlanesState.getNumAllocatedSectionPlanes(),w=s._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=s._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=a.renderFlags,b=0;b0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outPackedDepth = packDepth(zNormalizedDepth); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Fc=$.vec3(),Hc=$.vec3(),Uc=$.vec3(),Gc=$.vec3();$.vec3();var kc=$.mat4(),jc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=t.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Fc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Hc;if(y){var g=$.transformPoint3(A,f,Uc);w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,kc),(i=Gc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this.uVectorA,e.snapVectorA),l.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),l.drawArrays(N,0,u.numEdgeIndices8Bits)),u.numEdgeIndices16Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),l.drawArrays(N,0,u.numEdgeIndices16Bits)),u.numEdgeIndices32Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),l.drawArrays(N,0,u.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uSnapVectorA;"),n.push("uniform vec2 uSnapInvVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),n.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vViewPosition = clipPos;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Vc=$.vec3(),Qc=$.vec3(),Wc=$.vec3(),zc=$.vec3();$.vec3();var Kc=$.mat4(),Yc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=t.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Vc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Qc;if(y){var g=Wc;$.transformPoint3(A,f,g),w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,Kc),(i=zc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this._uVectorA,e.snapVectorA),l.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uVectorAB;"),n.push("uniform vec2 uInverseVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),n.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" } else {"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Xc=$.vec3(),qc=$.vec3(),Jc=$.vec3();$.vec3();var Zc=$.mat4(),$c=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=e.pickViewMatrix||a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Xc;if(u){var I=qc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,Zc),(v=Jc)[0]=a.eye[0]-h[0],v[1]=a.eye[1]-h[1],v[2]=a.eye[2]-h[2]}else d=A,v=a.eye;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0)for(var w=i._sectionPlanesState.sectionPlanes,g=t.layerIndex*m,E=r.renderFlags,T=0;T0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" } else {"),n.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ef=$.vec3(),tf=$.vec3(),nf=$.vec3();$.vec3();var rf=$.mat4(),af=function(){function e(t){b(this,e),this._scene=t,this._allocate(),this._hash=this._getHash()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ef;if(v){var y=$.transformPoint3(f,u,tf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,rf),(d=nf)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPositionsDecodeMatrix=n.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture draw vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out highp vec2 vHighPrecisionZW;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in highp vec2 vHighPrecisionZW;"),n.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),sf=$.vec3(),of=$.vec3(),lf=$.vec3();$.vec3();var uf=$.mat4(),cf=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));var v=0!==l[0]||0!==l[1]||0!==l[2],h=0!==u[0]||0!==u[1]||0!==u[2];if(v||h){var I=sf;if(v){var y=of;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],A=Be(p,I,uf),(d=lf)[0]=a.eye[0]-I[0],d[1]=a.eye[1]-I[1],d[2]=a.eye[2]-I[2]}else A=p,d=a.eye;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,f),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),s.uniformMatrix4fv(this._uWorldNormalMatrix,!1,r.worldNormalMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0,n=[];return n.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("uniform int renderPass;"),n.push("attribute vec3 position;"),e.entityOffsetsEnabled&&n.push("attribute vec3 offset;"),n.push("attribute vec3 normal;"),n.push("attribute vec4 color;"),n.push("attribute vec4 flags;"),n.push("attribute vec4 flags2;"),n.push("uniform mat4 worldMatrix;"),n.push("uniform mat4 worldNormalMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform mat4 viewNormalMatrix;"),n.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("varying float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out vec4 vFlags2;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(dt.SUPPORTED_EXTENSIONS.EXT_frag_depth?n.push("vFragDepth = 1.0 + clipPos.w;"):(n.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),n.push("clipPos.z *= clipPos.w;")),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("in vec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ff=$.vec3(),pf=$.vec3(),Af=$.vec3();$.vec3(),$.vec4();var df=$.mat4(),vf=function(){function e(t,n){b(this,e),this._scene=t,this._withSAO=n,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ff;if(v){var y=$.transformPoint3(f,u,pf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,df),(d=Af)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniform2fv(this._uPickClipPos,e.pickClipPos),s.uniform2f(this._uDrawingBufferSize,s.drawingBufferWidth,s.drawingBufferHeight),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// trianglesDatatextureNormalsRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),hf=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new Mc(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene))}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new fc(this._scene,!1)),this._colorRenderer}},{key:"colorRendererWithSAO",get:function(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new fc(this._scene,!0)),this._colorRendererWithSAO}},{key:"colorQualityRendererWithSAO",get:function(){return this._colorQualityRendererWithSAO}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new af(this._scene)),this._depthRenderer}},{key:"normalsRenderer",get:function(){return this._normalsRenderer||(this._normalsRenderer=new cf(this._scene)),this._normalsRenderer}},{key:"edgesRenderer",get:function(){return this._edgesRenderer||(this._edgesRenderer=new Ec(this._scene)),this._edgesRenderer}},{key:"edgesColorRenderer",get:function(){return this._edgesColorRenderer||(this._edgesColorRenderer=new Pc(this._scene)),this._edgesColorRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickMeshRenderer}},{key:"pickNormalsRenderer",get:function(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._pickNormalsRenderer}},{key:"pickNormalsFlatRenderer",get:function(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new vf(this._scene)),this._pickNormalsFlatRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new Mc(this._scene)),this._pickDepthRenderer}},{key:"vertexDepthRenderer",get:function(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._vertexDepthRenderer}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene)),this._snapDepthBufInitRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new $c(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),If={};var yf=P((function e(){b(this,e),this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]})),mf=function(){function e(){b(this,e),this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}return P(e,[{key:"finalize",value:function(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}},{key:"bindCommonTextures",value:function(e,t,n,r,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,n,2),this.texturePerObjectColorsAndFlags.bindTexture(e,r,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}},{key:"bindTriangleIndicesTextures",value:function(e,t,n,r){this.indicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.indicesPerBitnessTextures[r].bindTexture(e,n,6)}},{key:"bindEdgeIndicesTextures",value:function(e,t,n,r){this.edgeIndicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[r].bindTexture(e,n,6)}}]),e}(),wf=function(){function e(t,n,r,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;b(this,e),this._gl=t,this._texture=n,this._textureWidth=r,this._textureHeight=i,this._textureData=a}return P(e,[{key:"bindTexture",value:function(e,t,n){return e.bindTexture(t,this,n)}},{key:"bind",value:function(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}},{key:"unbind",value:function(e){}}]),e}(),gf={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(gf,null,4));var e=0;Object.keys(gf).forEach((function(t){t.startsWith("size")&&(e+=gf[t])})),console.log("Total size ".concat(e," bytes (").concat((e/1e3/1e3).toFixed(2)," MB)")),console.log("Avg bytes / triangle: ".concat((e/gf.totalPolygons).toFixed(2)));var t={};Object.keys(gf).forEach((function(n){n.startsWith("size")&&(t[n]="".concat((gf[n]/e*100).toFixed(2)," % of total"))})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};var Ef=function(){function e(){b(this,e)}return P(e,[{key:"disableBindedTextureFiltering",value:function(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}},{key:"generateTextureForColorsAndFlags",value:function(e,t,n,r,i,a,s){var o=t.length;this.numPortions=o;var l=4096,u=Math.ceil(o/512);if(0===u)throw"texture height===0";var c=new Uint8Array(16384*u);gf.sizeDataColorsAndFlags+=c.byteLength,gf.numberOfTextures++;for(var f=0;f>24&255,r[f]>>16&255,r[f]>>8&255,255&r[f]],32*f+16),c.set([i[f]>>24&255,i[f]>>16&255,i[f]>>8&255,255&i[f]],32*f+20),c.set([a[f]>>24&255,a[f]>>16&255,a[f]>>8&255,255&a[f]],32*f+24),c.set([s[f]?1:0,0,0,0],32*f+28);var p=e.createTexture();return e.bindTexture(e.TEXTURE_2D,p),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,l,u),e.texSubImage2D(e.TEXTURE_2D,0,0,0,l,u,e.RGBA_INTEGER,e.UNSIGNED_BYTE,c,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,p,l,u,c)}},{key:"generateTextureForObjectOffsets",value:function(e,t){var n=512,r=Math.ceil(t/n);if(0===r)throw"texture height===0";var i=new Float32Array(1536*r).fill(0);gf.sizeDataTextureOffsets+=i.byteLength,gf.numberOfTextures++;var a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,n,r),e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,a,n,r,i)}},{key:"generateTextureForInstancingMatrices",value:function(e,t){var n=t.length;if(0===n)throw"num instance matrices===0";var r=2048,i=Math.ceil(n/512),a=new Float32Array(8192*i);gf.numberOfTextures++;for(var s=0;s65536&&gf.cannotCreatePortion.because10BitsObjectId++;var n=this._numPortions+t<=65536,r=void 0!==e.geometryId&&null!==e.geometryId?"".concat(e.geometryId,"#").concat(0):"".concat(e.id,"#").concat(0);if(!this._bucketGeometries[r]){var i=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits),a=0,s=0;e.buckets.forEach((function(e){a+=e.positionsCompressed.length/3,s+=e.indices.length/3})),(this._state.numVertices+a>16777216||i+s>16777216)&&gf.cannotCreatePortion.becauseTextureSize++,n&&(n=this._state.numVertices+a<=16777216&&i+s<=16777216)}return n}},{key:"createPortion",value:function(e,t){var n=this;if(this._finalized)throw"Already finalized";var r=[];t.buckets.forEach((function(e,i){var a=void 0!==t.geometryId&&null!==t.geometryId?"".concat(t.geometryId,"#").concat(i):"".concat(t.id,"#").concat(i),s=n._bucketGeometries[a];s||(s=n._createBucketGeometry(t,e),n._bucketGeometries[a]=s);var o=n._createSubPortion(t,s,e);r.push(o)}));var i=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(r),this.model.numPortions++,this._meshes.push(e),i}},{key:"_createBucketGeometry",value:function(e,t){if(t.indices){var n=8*Math.ceil(t.indices.length/3/8)*3;gf.overheadSizeAlignementIndices+=2*(n-t.indices.length);var r=new Uint32Array(n);r.fill(0),r.set(t.indices),t.indices=r}if(t.edgeIndices){var i=8*Math.ceil(t.edgeIndices.length/2/8)*2;gf.overheadSizeAlignementEdgeIndices+=2*(i-t.edgeIndices.length);var a=new Uint32Array(i);a.fill(0),a.set(t.edgeIndices),t.edgeIndices=a}var s=t.positionsCompressed,o=t.indices,l=t.edgeIndices,u=this._buffer;u.positionsCompressed.push(s);var c,f=u.lenPositionsCompressed/3,p=s.length/3;u.lenPositionsCompressed+=s.length;var A,d,v=0;o&&(v=o.length/3,p<=256?(A=u.indices8Bits,c=u.lenIndices8Bits/3,u.lenIndices8Bits+=o.length):p<=65536?(A=u.indices16Bits,c=u.lenIndices16Bits/3,u.lenIndices16Bits+=o.length):(A=u.indices32Bits,c=u.lenIndices32Bits/3,u.lenIndices32Bits+=o.length),A.push(o));var h,I=0;l&&(I=l.length/2,p<=256?(h=u.edgeIndices8Bits,d=u.lenEdgeIndices8Bits/2,u.lenEdgeIndices8Bits+=l.length):p<=65536?(h=u.edgeIndices16Bits,d=u.lenEdgeIndices16Bits/2,u.lenEdgeIndices16Bits+=l.length):(h=u.edgeIndices32Bits,d=u.lenEdgeIndices32Bits/2,u.lenEdgeIndices32Bits+=l.length),h.push(l));return this._state.numVertices+=p,gf.numberOfGeometries++,{vertexBase:f,numVertices:p,numTriangles:v,numEdges:I,indicesBase:c,edgeIndicesBase:d,obb:null}}},{key:"_createSubPortion",value:function(e,t,n,r){var i=e.color;e.metallic,e.roughness;var a,s,o=e.colors,l=e.opacity,u=e.meshMatrix,c=e.pickColor,f=this._buffer,p=this._state;f.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),f.perObjectInstancePositioningMatrices.push(u||Rf),f.perObjectSolid.push(!!e.solid),o?f.perObjectColors.push([255*o[0],255*o[1],255*o[2],255]):i&&f.perObjectColors.push([i[0],i[1],i[2],l]),f.perObjectPickColors.push(c),f.perObjectVertexBases.push(t.vertexBase),a=t.numVertices<=256?p.numIndices8Bits:t.numVertices<=65536?p.numIndices16Bits:p.numIndices32Bits,f.perObjectIndexBaseOffsets.push(a/3-t.indicesBase),s=t.numVertices<=256?p.numEdgeIndices8Bits:t.numVertices<=65536?p.numEdgeIndices16Bits:p.numEdgeIndices32Bits,f.perObjectEdgeIndexBaseOffsets.push(s/2-t.edgeIndicesBase);var A=this._subPortions.length;if(t.numTriangles>0){var d,v=3*t.numTriangles;t.numVertices<=256?(d=f.perTriangleNumberPortionId8Bits,p.numIndices8Bits+=v,gf.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(d=f.perTriangleNumberPortionId16Bits,p.numIndices16Bits+=v,gf.totalPolygons16Bits+=t.numTriangles):(d=f.perTriangleNumberPortionId32Bits,p.numIndices32Bits+=v,gf.totalPolygons32Bits+=t.numTriangles),gf.totalPolygons+=t.numTriangles;for(var h=0;h0){var I,y=2*t.numEdges;t.numVertices<=256?(I=f.perEdgeNumberPortionId8Bits,p.numEdgeIndices8Bits+=y,gf.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(I=f.perEdgeNumberPortionId16Bits,p.numEdgeIndices16Bits+=y,gf.totalEdges16Bits+=t.numEdges):(I=f.perEdgeNumberPortionId32Bits,p.numEdgeIndices32Bits+=y,gf.totalEdges32Bits+=t.numEdges),gf.totalEdges+=t.numEdges;for(var m=0;m0&&(n.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId8Bits)),i.perEdgeNumberPortionId16Bits.length>0&&(n.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId16Bits)),i.perEdgeNumberPortionId32Bits.length>0&&(n.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId32Bits)),i.lenIndices8Bits>0&&(n.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(r,i.indices8Bits,i.lenIndices8Bits)),i.lenIndices16Bits>0&&(n.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(r,i.indices16Bits,i.lenIndices16Bits)),i.lenIndices32Bits>0&&(n.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(r,i.indices32Bits,i.lenIndices32Bits)),i.lenEdgeIndices8Bits>0&&(n.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(r,i.edgeIndices8Bits,i.lenEdgeIndices8Bits)),i.lenEdgeIndices16Bits>0&&(n.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(r,i.edgeIndices16Bits,i.lenEdgeIndices16Bits)),i.lenEdgeIndices32Bits>0&&(n.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(r,i.edgeIndices32Bits,i.lenEdgeIndices32Bits)),n.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(function(){e._deferredSetFlagsDirty&&e._uploadDeferredFlags(),e._numUpdatesInFrame=0}))}}},{key:"isEmpty",value:function(){return 0===this._numPortions}},{key:"initFlags",value:function(e,t,n){t&xe&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&Me&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,true),this._setFlags2(e,t,true)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags(),this._setDeferredFlags2()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}},{key:"_beginDeferredFlags",value:function(){this._deferredSetFlagsActive=!0}},{key:"_uploadDeferredFlags",value:function(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,this._deferredSetFlagsDirty){this._deferredSetFlagsDirty=!1;var e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectColorsAndFlags._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,r.RGBA_INTEGER,r.UNSIGNED_BYTE,bf)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this._portionToSubPortionsMap[e],a=0,s=i.length;a3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=!!(t&xe),o=!!(t&Ge),l=!!(t&ke),u=!!(t&je),c=!!(t&Ve),f=!!(t&Fe),p=!!(t&Me);i=!s||p||o?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!s||p?Xs.NOT_RENDERED:u?Xs.SILHOUETTE_SELECTED:l?Xs.SILHOUETTE_HIGHLIGHTED:o?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var A=0;A=!s||p?Xs.NOT_RENDERED:u?Xs.EDGES_SELECTED:l?Xs.EDGES_HIGHLIGHTED:o?Xs.EDGES_XRAYED:c?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var d=s&&f?Xs.PICK:Xs.NOT_RENDERED,v=this._dataTextureState,h=this.model.scene.canvas.gl;bf[0]=i,bf[1]=a,bf[2]=A,bf[3]=d,v.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+8),this._deferredSetFlagsActive||r?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),h.bindTexture(h.TEXTURE_2D,v.texturePerObjectColorsAndFlags._texture),h.texSubImage2D(h.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,h.RGBA_INTEGER,h.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags",value:function(){}},{key:"_setFlags2",value:function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this._portionToSubPortionsMap[e],i=0,a=r.length;i2&&void 0!==arguments[2]&&arguments[2];if(!this._finalized)throw"Not finalized";var r=t&He?255:0,i=this._dataTextureState,a=this.model.scene.canvas.gl;bf[0]=r,bf[1]=0,bf[2]=1,bf[3]=2,i.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+12),this._deferredSetFlagsActive||n?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags2",value:function(){}},{key:"setOffset",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectOffsets._texture),r.texSubImage2D(r.TEXTURE_2D,0,0,e,1,1,r.RGB,r.FLOAT,Df))}},{key:"setMatrix",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectInstanceMatrices._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,r.RGBA,r.FLOAT,Tf))}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,Xs.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"_updateBackfaceCull",value:function(e,t){var n=this.model.backfaces||e.sectioned;if(t.backfaces!==n){var r=t.gl;n?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),t.backfaces=n}}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT))}},{key:"drawDepth",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED))}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED))}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED))}},{key:"drawEdgesColorOpaque",value:function(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_OPAQUE)}},{key:"drawEdgesColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_TRANSPARENT)}},{key:"drawEdgesHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_HIGHLIGHTED)}},{key:"drawEdgesSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_SELECTED)}},{key:"drawEdgesXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_XRAYED)}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawShadow",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"setPickMatrices",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickDepths",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapInitDepthBuf",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,Xs.PICK))}},{key:"destroy",value:function(){if(!this._destroyed){var e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}}]),e}(),_f=$.vec4(4),Bf=$.vec4(),Of=$.vec4(),Sf=$.vec3([1,0,0]),Nf=$.vec3([0,1,0]),Lf=$.vec3([0,0,1]);$.vec3(3),$.vec3(3);var xf=$.identityMat4(),Mf=function(){function e(t){b(this,e),this._model=t.model,this.id=t.id,this._parentTransform=t.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=$.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=$.identityMat4(new Float32Array(16)),this._worldMatrix=$.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,t.matrix?this.matrix=t.matrix:(this.scale=t.scale,this.position=t.position,t.quaternion||(this.rotation=t.rotation)),t.parent&&t.parent._addChildTransform(this)}return P(e,[{key:"_addChildTransform",value:function(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}},{key:"_addMesh",value:function(e){this._meshes.push(e),e.transform=this}},{key:"parentTransform",get:function(){return this._parentTransform}},{key:"meshes",get:function(){return this._meshes}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix},set:function(e){this._localMatrix||(this._localMatrix=$.identityMat4()),this._localMatrix.set(e||xf),$.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"rotate",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(this.quaternion,Bf,Of),this.quaternion=Of,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"rotateOnWorldAxis",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(Bf,this.quaternion,Bf),this}},{key:"rotateX",value:function(e){return this.rotate(Sf,e)}},{key:"rotateY",value:function(e){return this.rotate(Nf,e)}},{key:"rotateZ",value:function(e){return this.rotate(Lf,e)}},{key:"translate",value:function(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateX",value:function(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateY",value:function(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateZ",value:function(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._transformDirty()}},{key:"_transformDirty",value:function(){this._worldMatrixDirty=!0;for(var e=0,t=this._childTransforms.length;e0)for(var r=n._meshes,i=0,a=r.length;i0)for(var s=this._meshes,o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._dtxEnabled=r.scene.dtxEnabled&&!1!==i.dtxEnabled,r._enableVertexWelding=!1,r._enableIndexBucketing=!1,r._vboBatchingLayerScratchMemory=Ys(),r._textureTranscoder=i.textureTranscoder||Yu(r.scene.viewer),r._maxGeometryBatchSize=i.maxGeometryBatchSize,r._aabb=$.collapseAABB3(),r._aabbDirty=!0,r._quantizationRanges={},r._vboInstancingLayers={},r._vboBatchingLayers={},r._dtxLayers={},r._meshList=[],r.layerList=[],r._entityList=[],r._geometries={},r._dtxBuckets={},r._textures={},r._textureSets={},r._transforms={},r._meshes={},r._entities={},r._scheduledMeshes={},r.renderFlags=new Gi,r.numGeometries=0,r.numPortions=0,r.numVisibleLayerPortions=0,r.numTransparentLayerPortions=0,r.numXRayedLayerPortions=0,r.numHighlightedLayerPortions=0,r.numSelectedLayerPortions=0,r.numEdgesLayerPortions=0,r.numPickableLayerPortions=0,r.numClippableLayerPortions=0,r.numCulledLayerPortions=0,r.numEntities=0,r._numTriangles=0,r._numLines=0,r._numPoints=0,r._edgeThreshold=i.edgeThreshold||10,r._origin=$.vec3(i.origin||[0,0,0]),r._position=$.vec3(i.position||[0,0,0]),r._rotation=$.vec3(i.rotation||[0,0,0]),r._quaternion=$.vec4(i.quaternion||[0,0,0,1]),r._conjugateQuaternion=$.vec4(i.quaternion||[0,0,0,1]),i.rotation&&$.eulerToQuaternion(r._rotation,"XYZ",r._quaternion),r._scale=$.vec3(i.scale||[1,1,1]),r._worldRotationMatrix=$.mat4(),r._worldRotationMatrixConjugate=$.mat4(),r._matrix=$.mat4(),r._matrixDirty=!0,r._rebuildMatrices(),r._worldNormalMatrix=$.mat4(),$.inverseMat4(r._matrix,r._worldNormalMatrix),$.transposeMat4(r._worldNormalMatrix),(i.matrix||i.position||i.rotation||i.scale||i.quaternion)&&(r._viewMatrix=$.mat4(),r._viewNormalMatrix=$.mat4(),r._viewMatrixDirty=!0,r._matrixNonIdentity=!0),r._opacity=1,r._colorize=[1,1,1],r._saoEnabled=!1!==i.saoEnabled,r._pbrEnabled=!1!==i.pbrEnabled,r._colorTextureEnabled=!1!==i.colorTextureEnabled,r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._onCameraViewMatrix=r.scene.camera.on("matrix",(function(){r._viewMatrixDirty=!0})),r._meshesWithDirtyMatrices=[],r._numMeshesWithDirtyMatrices=0,r._onTick=r.scene.on("tick",(function(){for(;r._numMeshesWithDirtyMatrices>0;)r._meshesWithDirtyMatrices[--r._numMeshesWithDirtyMatrices]._updateMatrix()})),r._createDefaultTextureSet(),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.backfaces=i.backfaces,r}return P(n,[{key:"_meshMatrixDirty",value:function(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}},{key:"_createDefaultTextureSet",value:function(){var e=new Fu({id:"defaultColorTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new Fu({id:"defaultMetalRoughTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),n=new Fu({id:"defaultNormalsTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),r=new Fu({id:"defaultEmissiveTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new Fu({id:"defaultOcclusionTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=n,this._textures.defaultEmissiveTexture=r,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new Mu({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:n,emissiveTexture:r,occlusionTexture:i})}},{key:"isPerformanceModel",get:function(){return!0}},{key:"transforms",get:function(){return this._transforms}},{key:"textures",get:function(){return this._textures}},{key:"textureSets",get:function(){return this._textureSets}},{key:"meshes",get:function(){return this._meshes}},{key:"objects",get:function(){return this._entities}},{key:"origin",get:function(){return this._origin}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){}},{key:"matrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix},set:function(e){this._matrix.set(e||Vf),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotationMatrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}},{key:"_rebuildMatrices",value:function(){this._matrixDirty&&($.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}},{key:"rotationMatrixConjugate",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}},{key:"_setWorldMatrixDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}},{key:"_sceneModelDirty",value:function(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(var e=0,t=this._entityList.length;e0},set:function(e){e=!1!==e,this._visible=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._xrayed=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._highlighted=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._selected=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._edges=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!1!==e,this._pickable=e;for(var t=0,n=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){for(var o=e.colors,l=new Uint8Array(o.length),u=0,c=o.length;u>24&255,i=n>>16&255,a=n>>8&255,s=255&n;switch(e.pickColor=new Uint8Array([s,a,i,r]),e.solid="solid"===e.primitive,t.origin=$.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(t,e),this._meshes[e.id]=t,this._meshList.push(t),t}},{key:"_getNumPrimitives",value:function(e){var t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(var n=0,r=e.buckets.length;n>>0).toString(16)}},{key:"_getVBOInstancingLayer",value:function(e){var t=this,n=e.origin,r=e.textureSetId||"-",i=e.geometryId,a="".concat(Math.round(n[0]),".").concat(Math.round(n[1]),".").concat(Math.round(n[2]),".").concat(r,".").concat(i),s=this._vboInstancingLayers[a];if(s)return s;for(var o=e.textureSet,l=e.geometry;!s;)switch(l.primitive){case"triangles":case"surface":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!1});break;case"solid":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!0});break;case"lines":s=new pu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0});break;case"points":s=new xu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0})}return this._vboInstancingLayers[a]=s,this.layerList.push(s),s}},{key:"createEntity",value:function(e){if(void 0===e.id?e.id=$.createUUID():this.scene.components[e.id]&&(this.error("Scene already has a Component with this ID: ".concat(e.id," - will assign random ID")),e.id=$.createUUID()),void 0!==e.meshIds){var t=0;this._visible&&!1!==e.visible&&(t|=xe),this._pickable&&!1!==e.pickable&&(t|=Fe),this._culled&&!1!==e.culled&&(t|=Me),this._clippable&&!1!==e.clippable&&(t|=He),this._collidable&&!1!==e.collidable&&(t|=Ue),this._edges&&!1!==e.edges&&(t|=Ve),this._xrayed&&!1!==e.xrayed&&(t|=Ge),this._highlighted&&!1!==e.highlighted&&(t|=ke),this._selected&&!1!==e.selected&&(t|=je),e.flags=t,this._createEntity(e)}else this.error("Config missing: meshIds")}},{key:"_createEntity",value:function(e){for(var t=[],n=0,r=e.meshIds.length;nt.sortId?1:0}));for(var s=0,o=this.layerList.length;s0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}},{key:"_updateRenderFlagsVisibleLayers",value:function(){var e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(var t=0,n=this.layerList.length;t0)for(var a=0;a0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){var t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0)this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0));if(this.numSelectedLayerPortions>0){var n=this.scene.selectedMaterial._state;n.fill&&(n.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),n.edges&&(n.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){var r=this.scene.highlightMaterial._state;r.fill&&(r.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),r.edges&&(r.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}}},{key:"drawColorOpaque",value:function(e){for(var t=this.renderFlags,n=0,r=t.visibleLayers.length;n2&&void 0!==arguments[2]&&arguments[2],r=e.positionsCompressed||[],i=tc(e.indices||[],t),a=ic(e.edgeIndices||[]);function s(e,t){if(e>t){var n=e;e=t,t=n}function r(n,r){return n!==e?e-n:r!==t?t-r:0}for(var i=0,s=(a.length>>1)-1;i<=s;){var o=s+i>>1,l=r(a[2*o],a[2*o+1]);if(l>0)i=o+1;else{if(!(l<0))return o;s=o-1}}return-i-1}var o=new Int32Array(a.length/2);o.fill(0);var l=r.length/3;if(l>8*(1<p.maxNumPositions&&(p=f()),p.bucketNumber>8)return[e];-1===u[h]&&(u[h]=p.numPositions++,p.positionsCompressed.push(r[3*h]),p.positionsCompressed.push(r[3*h+1]),p.positionsCompressed.push(r[3*h+2])),-1===u[I]&&(u[I]=p.numPositions++,p.positionsCompressed.push(r[3*I]),p.positionsCompressed.push(r[3*I+1]),p.positionsCompressed.push(r[3*I+2])),-1===u[y]&&(u[y]=p.numPositions++,p.positionsCompressed.push(r[3*y]),p.positionsCompressed.push(r[3*y+1]),p.positionsCompressed.push(r[3*y+2])),p.indices.push(u[h]),p.indices.push(u[I]),p.indices.push(u[y]);var m=void 0;(m=s(h,I))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(h,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(I,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]]))}var w=t/8*2,g=t/8,E=2*r.length+(i.length+a.length)*w,T=0;return r.length,c.forEach((function(e){T+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*g,e.positionsCompressed.length})),T>E?[e]:(n&&ac(c,e),c)}({positionsCompressed:r,indices:i,edgeIndices:a},r.length/3>65536?16:8):s=[{positionsCompressed:r,indices:i,edgeIndices:a}];return s}var Kf=function(e){I(n,Wf);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n)}(),Yf=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._skyboxMesh=new Ji(g(r),{geometry:new Cn(g(r),{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Nn(g(r),{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new Ba(g(r),{src:i.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:i.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),r.size=i.size,r.active=i.active,r}return P(n,[{key:"size",get:function(){return this._size},set:function(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}},{key:"active",get:function(){return this._skyboxMesh.visible},set:function(e){this._skyboxMesh.visible=e}}]),n}(),Xf=function(){function e(){b(this,e)}return P(e,[{key:"transcode",value:function(e,t){}},{key:"destroy",value:function(){}}]),e}(),qf=$.vec4(),Jf=$.vec4(),Zf=$.vec3(),$f=$.vec3(),ep=$.vec3(),tp=$.vec4(),np=$.vec4(),rp=$.vec4(),ip=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"dollyToCanvasPos",value:function(e,t,n){var r=!1,i=this._scene.camera;if(e){var a=$.subVec3(e,i.eye,Zf);r=$.lenVec3(a)0&&void 0!==arguments[0]?arguments[0]:{};this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);var t=e.color||[1,0,0];this._pivotSphereMaterial=new Nn(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}},{key:"disablePivotSphere",value:function(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}},{key:"startPivot",value:function(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;var e=this._scene.camera,t=$.lookAtMat4v(e.eye,e.look,e.worldUp);$.transformPoint3(t,this.getPivotPos(),this._cameraOffset);var n=this.getPivotPos();this._cameraOffset[2]+=$.distVec3(e.eye,n),t=$.inverseMat4(t);var r=$.transformVec3(t,this._cameraOffset),i=$.vec3();if($.subVec3(e.eye,n,i),$.addVec3(i,r),e.zUp){var a=i[1];i[1]=i[2],i[2]=a}this._radius=$.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}},{key:"_cameraLookingDownwards",value:function(){var e=this._scene.camera,t=$.normalizeVec3($.subVec3(e.look,e.eye,ap)),n=$.cross3Vec3(t,e.worldUp,sp);return $.sqLenVec3(n)<=1e-4}},{key:"getPivoting",value:function(){return this._pivoting}},{key:"setPivotPos",value:function(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}},{key:"setCanvasPivotPos",value:function(e){var t=this._scene.camera,n=Math.abs($.distVec3(this._scene.center,t.eye)),r=t.project.transposedMatrix,i=r.subarray(8,12),a=r.subarray(12),s=[0,0,-1,1],o=$.dotVec4(s,i)/$.dotVec4(s,a),l=lp;t.project.unproject(e,o,up,cp,l);var u=$.normalizeVec3($.subVec3(l,t.eye,ap)),c=$.addVec3(t.eye,$.mulVec3Scalar(u,n,sp),op);this.setPivotPos(c)}},{key:"getPivotPos",value:function(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}},{key:"continuePivot",value:function(e,t){if(this._pivoting&&(0!==e||0!==t)){var n=this._scene.camera,r=-e,i=-t;1===n.worldUp[2]&&(r=-r),this._azimuth+=.01*-r,this._polar+=.01*i,this._polar=$.clamp(this._polar,.001,Math.PI-.001);var a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===n.worldUp[2]){var s=a[1];a[1]=a[2],a[2]=s}var o=$.lenVec3($.subVec3(n.look,n.eye,$.vec3())),l=this.getPivotPos();$.addVec3(a,l);var u=$.lookAtMat4v(a,l,n.worldUp);u=$.inverseMat4(u);var c=$.transformVec3(u,this._cameraOffset);u[12]-=c[0],u[13]-=c[1],u[14]-=c[2];var f=[u[8],u[9],u[10]];n.eye=[u[12],u[13],u[14]],$.subVec3(n.eye,$.mulVec3Scalar(f,o),n.look),n.up=[u[4],u[5],u[6]],this.showPivot()}}},{key:"showPivot",value:function(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}},{key:"hidePivot",value:function(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}},{key:"endPivot",value:function(){this._pivoting=!1}},{key:"destroy",value:function(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}]),e}(),pp=function(){function e(t,n){b(this,e),this._scene=t.scene,this._cameraControl=t,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=n,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=$.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}return P(e,[{key:"update",value:function(){if(this._configs.pointerEnabled&&(this.schedulePickEntity||this.schedulePickSurface)){var e="".concat(~~this.pickCursorPos[0],"-").concat(~~this.pickCursorPos[1],"-").concat(this.scheduleSnapOrPick,"-").concat(this.schedulePickSurface,"-").concat(this.schedulePickEntity);if(this._lastHash!==e){this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;var t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){var n=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});n&&(n.snappedToEdge||n.snappedToVertex)?(this.snapPickResult=n,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){var r=this.pickResult.canvasPos;if(r[0]===this.pickCursorPos[0]&&r[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){var i=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(i[0]===this.pickCursorPos[0]&&i[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}}}},{key:"fireEvents",value:function(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){var e=new It;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){var t=this.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=t)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}]),e}(),Ap=$.vec2(),dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s,o,l,u=n.pickController,c=0,f=0,p=0,A=0,d=!1,v=$.vec3(),h=!0,I=this._scene.canvas.canvas,y=[];function m(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];I.style.cursor="move",w(),e&&g()}function w(){c=i.pointerCanvasPos[0],f=i.pointerCanvasPos[1],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1]}function g(){u.pickCursorPos=i.pointerCanvasPos,u.schedulePickSurface=!0,u.update(),u.picked&&u.pickedSurface&&u.pickResult&&u.pickResult.worldPos?(d=!0,v.set(u.pickResult.worldPos)):d=!1}document.addEventListener("keydown",this._documentKeyDownHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!0}}),document.addEventListener("keyup",this._documentKeyUpHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!1}}),I.addEventListener("mousedown",this._mouseDownHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:y[t.input.KEY_SHIFT]||r.planView?(s=!0,m()):(s=!0,m(!1));break;case 2:o=!0,m();break;case 3:l=!0,r.panRightClick&&m()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=function(){if(r.active&&r.pointerEnabled&&(s||o||l)){var e=t.canvas.boundary,n=e[2],u=e[3],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1];if(y[t.input.KEY_SHIFT]||r.planView||!r.panRightClick&&o||r.panRightClick&&l){var h=p-c,I=A-f,m=t.camera;if("perspective"===m.projection){var w=Math.abs(d?$.lenVec3($.subVec3(v,t.camera.eye,[])):t.camera.eyeLookDist)*Math.tan(m.perspective.fov/2*Math.PI/180);a.panDeltaX+=1.5*h*w/u,a.panDeltaY+=1.5*I*w/u}else a.panDeltaX+=.5*m.ortho.scale*(h/u),a.panDeltaY+=.5*m.ortho.scale*(I/u)}else!s||o||l||r.planView||(r.firstPerson?(a.rotateDeltaY-=(p-c)/n*r.dragRotationRate/2,a.rotateDeltaX+=(A-f)/u*(r.dragRotationRate/4)):(a.rotateDeltaY-=(p-c)/n*(1.5*r.dragRotationRate),a.rotateDeltaX+=(A-f)/u*(1.5*r.dragRotationRate)));c=p,f=A}}),I.addEventListener("mousemove",this._canvasMouseMoveHandler=function(e){r.active&&r.pointerEnabled&&i.mouseover&&(h=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:case 2:case 3:s=!1,o=!1,l=!1}}),I.addEventListener("mouseup",this._mouseUpHandler=function(e){if(r.active&&r.pointerEnabled){if(3===e.which){!function(e,t){if(e){for(var n=e.target,r=0,i=0,a=0,s=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,a+=n.scrollLeft,s+=n.scrollTop,n=n.offsetParent;t[0]=e.pageX+a-r,t[1]=e.pageY+s-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Ap);var t=Ap[0],i=Ap[1];Math.abs(t-p)<3&&Math.abs(i-A)<3&&n.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Ap,event:e},!0)}I.style.removeProperty("cursor")}}),I.addEventListener("mouseenter",this._mouseEnterHandler=function(){r.active&&r.pointerEnabled});var E=1/60,T=null;I.addEventListener("wheel",this._mouseWheelHandler=function(e){if(r.active&&r.pointerEnabled){var t=performance.now()/1e3,n=null!==T?t-T:0;T=t,n>.05&&(n=.05),n0?n.cameraFlight.flyTo(wp,(function(){n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot()})):(n.cameraFlight.jumpTo(wp),n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot())}}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.input.off(this._onSceneKeyDown)}}]),e}(),Ep=function(){function e(t,n,r,i,a){var s=this;b(this,e),this._scene=t;var o=n.pickController,l=n.pivotController,u=n.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;var c=!1,f=!1,p=this._scene.canvas.canvas,A=function(e){var r;e&&e.worldPos&&(r=e.worldPos);var i=e&&e.entity?e.entity.aabb:t.aabb;if(r){var a=t.camera;$.subVec3(a.eye,a.look,[]),n.cameraFlight.flyTo({aabb:i})}else n.cameraFlight.flyTo({aabb:i})},d=t.tickify(this._canvasMouseMoveHandler=function(e){if(r.active&&r.pointerEnabled&&!c&&!f){var n=u.hasSubs("hover"),a=u.hasSubs("hoverEnter"),l=u.hasSubs("hoverOut"),p=u.hasSubs("hoverOff"),A=u.hasSubs("hoverSurface"),d=u.hasSubs("hoverSnapOrSurface");if(n||a||l||p||A||d)if(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=A,o.scheduleSnapOrPick=d,o.update(),o.pickResult){if(o.pickResult.entity){var v=o.pickResult.entity.id;s._lastPickedEntityId!==v&&(void 0!==s._lastPickedEntityId&&u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),u.fire("hoverEnter",o.pickResult,!0),s._lastPickedEntityId=v)}u.fire("hover",o.pickResult,!0),(o.pickResult.worldPos||o.pickResult.snappedWorldPos)&&u.fire("hoverSurface",o.pickResult,!0)}else void 0!==s._lastPickedEntityId&&(u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),s._lastPickedEntityId=void 0),u.fire("hoverOff",{canvasPos:o.pickCursorPos},!0)}});p.addEventListener("mousemove",d),p.addEventListener("mousedown",this._canvasMouseDownHandler=function(e){if(1===e.which&&(c=!0),3===e.which&&(f=!0),1===e.which&&r.active&&r.pointerEnabled&&(i.mouseDownClientX=e.clientX,i.mouseDownClientY=e.clientY,i.mouseDownCursorX=i.pointerCanvasPos[0],i.mouseDownCursorY=i.pointerCanvasPos[1],!r.firstPerson&&r.followPointer&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),1===e.which))){var n=o.pickResult;n&&n.worldPos?(l.setPivotPos(n.worldPos),l.startPivot()):(r.smartPivot?l.setCanvasPivotPos(i.pointerCanvasPos):l.setPivotPos(t.camera.look),l.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){1===e.which&&(c=!1),3===e.which&&(f=!1),l.getPivoting()&&l.endPivot()}),p.addEventListener("mouseup",this._canvasMouseUpHandler=function(e){if(r.active&&r.pointerEnabled&&(1===e.which&&(l.hidePivot(),!(Math.abs(e.clientX-i.mouseDownClientX)>3||Math.abs(e.clientY-i.mouseDownClientY)>3)))){var a=u.hasSubs("picked"),c=u.hasSubs("pickedNothing"),f=u.hasSubs("pickedSurface"),p=u.hasSubs("doublePicked"),d=u.hasSubs("doublePickedSurface"),v=u.hasSubs("doublePickedNothing");if(!(r.doublePickFlyTo||p||d||v))return(a||c||f)&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=f,o.update(),o.pickResult?(u.fire("picked",o.pickResult,!0),o.pickedSurface&&u.fire("pickedSurface",o.pickResult,!0)):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0)),void(s._clicks=0);if(s._clicks++,1===s._clicks){o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo,o.schedulePickSurface=f,o.update();var h=o.pickResult,I=o.pickedSurface;s._timeout=setTimeout((function(){h?(u.fire("picked",h,!0),I&&(u.fire("pickedSurface",h,!0),!r.firstPerson&&r.followPointer&&(n.pivotController.setPivotPos(h.worldPos),n.pivotController.startPivot()&&n.pivotController.showPivot()))):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0),s._clicks=0}),r.doubleClickTimeFrame)}else{if(null!==s._timeout&&(window.clearTimeout(s._timeout),s._timeout=null),o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo||p||d,o.schedulePickSurface=o.schedulePickEntity&&d,o.update(),o.pickResult){if(u.fire("doublePicked",o.pickResult,!0),o.pickedSurface&&u.fire("doublePickedSurface",o.pickResult,!0),r.doublePickFlyTo&&(A(o.pickResult),!r.firstPerson&&r.followPointer)){var y=o.pickResult.entity.aabb,m=$.getAABB3Center(y);n.pivotController.setPivotPos(m),n.pivotController.startPivot()&&n.pivotController.showPivot()}}else if(u.fire("doublePickedNothing",{canvasPos:i.pointerCanvasPos},!0),r.doublePickFlyTo&&(A(),!r.firstPerson&&r.followPointer)){var w=t.aabb,g=$.getAABB3Center(w);n.pivotController.setPivotPos(g),n.pivotController.startPivot()&&n.pivotController.showPivot()}s._clicks=0}}},!1)}return P(e,[{key:"reset",value:function(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}},{key:"destroy",value:function(){var e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}]),e}(),Tp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.input,o=[],l=t.canvas.canvas,u=!0;this._onSceneMouseMove=s.on("mousemove",(function(){u=!0})),this._onSceneKeyDown=s.on("keydown",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover&&(o[e]=!0,e===s.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=s.on("keyup",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&(o[e]=!1,e===s.KEY_SHIFT&&(l.style.cursor=null),n.pivotController.getPivoting()&&n.pivotController.endPivot())})),this._onTick=t.on("tick",(function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover){var l=n.cameraControl,c=e.deltaTime/1e3;if(!r.planView){var f=l._isKeyDownForAction(l.ROTATE_Y_POS,o),p=l._isKeyDownForAction(l.ROTATE_Y_NEG,o),A=l._isKeyDownForAction(l.ROTATE_X_POS,o),d=l._isKeyDownForAction(l.ROTATE_X_NEG,o),v=c*r.keyboardRotationRate;(f||p||A||d)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),f?a.rotateDeltaY+=v:p&&(a.rotateDeltaY-=v),A?a.rotateDeltaX+=v:d&&(a.rotateDeltaX-=v),!r.firstPerson&&r.followPointer&&n.pivotController.startPivot())}if(!o[s.KEY_CTRL]&&!o[s.KEY_ALT]){var h=l._isKeyDownForAction(l.DOLLY_BACKWARDS,o),I=l._isKeyDownForAction(l.DOLLY_FORWARDS,o);if(h||I){var y=c*r.keyboardDollyRate;!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),I?a.dollyDelta-=y:h&&(a.dollyDelta+=y),u&&(i.followPointerDirty=!0,u=!1)}}var m=l._isKeyDownForAction(l.PAN_FORWARDS,o),w=l._isKeyDownForAction(l.PAN_BACKWARDS,o),g=l._isKeyDownForAction(l.PAN_LEFT,o),E=l._isKeyDownForAction(l.PAN_RIGHT,o),T=l._isKeyDownForAction(l.PAN_UP,o),b=l._isKeyDownForAction(l.PAN_DOWN,o),D=(o[s.KEY_ALT]?.3:1)*c*r.keyboardPanRate;(m||w||g||E||T||b)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),b?a.panDeltaY+=D:T&&(a.panDeltaY+=-D),E?a.panDeltaX+=-D:g&&(a.panDeltaX+=D),w?a.panDeltaZ+=D:m&&(a.panDeltaZ+=-D))}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}]),e}(),bp=$.vec3(),Dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.camera,o=n.pickController,l=n.pivotController,u=n.panController,c=1,f=1,p=null;this._onTick=t.on("tick",(function(){if(r.active&&r.pointerEnabled){var e="default";if(Math.abs(a.dollyDelta)<.001&&(a.dollyDelta=0),Math.abs(a.rotateDeltaX)<.001&&(a.rotateDeltaX=0),Math.abs(a.rotateDeltaY)<.001&&(a.rotateDeltaY=0),0===a.rotateDeltaX&&0===a.rotateDeltaY||(a.dollyDelta=0),r.followPointer&&--c<=0&&(c=1,0!==a.dollyDelta)){if(0===a.rotateDeltaY&&0===a.rotateDeltaX&&r.followPointer&&i.followPointerDirty&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),o.pickResult&&o.pickResult.worldPos?p=o.pickResult.worldPos:(f=1,p=null),i.followPointerDirty=!1),p){var n=Math.abs($.lenVec3($.subVec3(p,t.camera.eye,bp)));f=n/r.dollyProximityThreshold}fr.longTapRadius||Math.abs(I)>r.longTapRadius)&&(clearTimeout(i.longTouchTimeout),i.longTouchTimeout=null),r.planView){var y=t.camera;if("perspective"===y.projection){var m=Math.abs(t.camera.eyeLookDist)*Math.tan(y.perspective.fov/2*Math.PI/180);a.panDeltaX+=h*m/l*r.touchPanRate,a.panDeltaY+=I*m/l*r.touchPanRate}else a.panDeltaX+=.5*y.ortho.scale*(h/l)*r.touchPanRate,a.panDeltaY+=.5*y.ortho.scale*(I/l)*r.touchPanRate}else a.rotateDeltaY-=h/o*(1*r.dragRotationRate),a.rotateDeltaX+=I/l*(1.5*r.dragRotationRate)}else if(2===d){var w=A[0],g=A[1];Cp(w,u),Cp(g,c);var E=$.geometricMeanVec2(p[0],p[1]),T=$.geometricMeanVec2(u,c),b=$.vec2();$.subVec2(E,T,b);var D=b[0],P=b[1],R=t.camera,C=$.distVec2([w.pageX,w.pageY],[g.pageX,g.pageY]),_=($.distVec2(p[0],p[1])-C)*r.touchDollyRate;if(a.dollyDelta=_,Math.abs(_)<1)if("perspective"===R.projection){var B=s.pickResult?s.pickResult.worldPos:t.center,O=Math.abs($.lenVec3($.subVec3(B,t.camera.eye,[])))*Math.tan(R.perspective.fov/2*Math.PI/180);a.panDeltaX-=D*O/l*r.touchPanRate,a.panDeltaY-=P*O/l*r.touchPanRate}else a.panDeltaX-=.5*R.ortho.scale*(D/l)*r.touchPanRate,a.panDeltaY-=.5*R.ortho.scale*(P/l)*r.touchPanRate;i.pointerCanvasPos=T}for(var S=0;S-1&&t-f<150&&(p>-1&&f-p<325?(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("doublePicked",o.pickResult),o.pickedSurface&&l.fire("doublePickedSurface",o.pickResult),r.doublePickFlyTo&&d(o.pickResult)):(l.fire("doublePickedNothing"),r.doublePickFlyTo&&d()),p=-1):$.distVec2(u[0],c)<4&&(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("picked",o.pickResult),o.pickedSurface&&l.fire("pickedSurface",o.pickResult)):l.fire("pickedNothing"),p=t),f=-1),u.length=n.length;for(var A=0,v=n.length;A1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).PAN_LEFT=0,r.PAN_RIGHT=1,r.PAN_UP=2,r.PAN_DOWN=3,r.PAN_FORWARDS=4,r.PAN_BACKWARDS=5,r.ROTATE_X_POS=6,r.ROTATE_X_NEG=7,r.ROTATE_Y_POS=8,r.ROTATE_Y_NEG=9,r.DOLLY_FORWARDS=10,r.DOLLY_BACKWARDS=11,r.AXIS_VIEW_RIGHT=12,r.AXIS_VIEW_BACK=13,r.AXIS_VIEW_LEFT=14,r.AXIS_VIEW_FRONT=15,r.AXIS_VIEW_TOP=16,r.AXIS_VIEW_BOTTOM=17,r._keyMap={},r.scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},r._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},r._states={pointerCanvasPos:$.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:$.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},r._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};var a=r.scene;return r._controllers={cameraControl:g(r),pickController:new pp(g(r),r._configs),pivotController:new fp(a,r._configs),panController:new ip(a),cameraFlight:new ws(g(r),{duration:.5})},r._handlers=[new Pp(r.scene,r._controllers,r._configs,r._states,r._updates),new _p(r.scene,r._controllers,r._configs,r._states,r._updates),new dp(r.scene,r._controllers,r._configs,r._states,r._updates),new gp(r.scene,r._controllers,r._configs,r._states,r._updates),new Ep(r.scene,r._controllers,r._configs,r._states,r._updates),new Op(r.scene,r._controllers,r._configs,r._states,r._updates),new Tp(r.scene,r._controllers,r._configs,r._states,r._updates)],r._cameraUpdater=new Dp(r.scene,r._controllers,r._configs,r._states,r._updates),r.navMode=i.navMode,i.planView&&(r.planView=i.planView),r.constrainVertical=i.constrainVertical,i.keyboardLayout?r.keyboardLayout=i.keyboardLayout:r.keyMap=i.keyMap,r.doublePickFlyTo=i.doublePickFlyTo,r.panRightClick=i.panRightClick,r.active=i.active,r.followPointer=i.followPointer,r.rotationInertia=i.rotationInertia,r.keyboardPanRate=i.keyboardPanRate,r.touchPanRate=i.touchPanRate,r.keyboardRotationRate=i.keyboardRotationRate,r.dragRotationRate=i.dragRotationRate,r.touchDollyRate=i.touchDollyRate,r.dollyInertia=i.dollyInertia,r.dollyProximityThreshold=i.dollyProximityThreshold,r.dollyMinSpeed=i.dollyMinSpeed,r.panInertia=i.panInertia,r.pointerEnabled=!0,r.keyboardDollyRate=i.keyboardDollyRate,r.mouseWheelDollyRate=i.mouseWheelDollyRate,r}return P(n,[{key:"keyMap",get:function(){return this._keyMap},set:function(e){if(e=e||"qwerty",le.isString(e)){var t=this.scene.input,n={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":n[this.PAN_LEFT]=[t.KEY_A],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_Z],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":n[this.PAN_LEFT]=[t.KEY_Q],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_W],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=n}else{var r=e;this._keyMap=r}}},{key:"_isKeyDownForAction",value:function(e,t){var n=this._keyMap[e];if(!n)return!1;t||(t=this.scene.input.keyDown);for(var r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};this._controllers.pivotController.enablePivotSphere(e)}},{key:"disablePivotSphere",value:function(){this._controllers.pivotController.disablePivotSphere()}},{key:"smartPivot",get:function(){return this._configs.smartPivot},set:function(e){this._configs.smartPivot=!1!==e}},{key:"doubleClickTimeFrame",get:function(){return this._configs.doubleClickTimeFrame},set:function(e){this._configs.doubleClickTimeFrame=null!=e?e:250}},{key:"destroy",value:function(){this._destroyHandlers(),this._destroyControllers(),this._cameraUpdater.destroy(),v(E(n.prototype),"destroy",this).call(this)}},{key:"_destroyHandlers",value:function(){for(var e=0,t=this._handlers.length;e1&&void 0!==arguments[1]?arguments[1]:{};if(this.finalized)throw"MetaScene already finalized - can't add more data";this._globalizeIDs(e,t);var n=this.metaScene,r=e.properties;if(e.propertySets)for(var i=0,a=e.propertySets.length;i0?Hp(t):null,s=n&&n.length>0?Hp(n):null;return function e(t){if(t){var n=!0;(s&&s[t.type]||a&&!a[t.type])&&(n=!1),n&&r.push(t.id);var i=t.children;if(i)for(var o=0,l=i.length;o>t;n.sort(ec);for(var o=new Int32Array(e.length),l=0,u=n.length;le[i+1]){var s=e[i];e[i]=e[i+1],e[i+1]=s}nc=new Int32Array(e),t.sort(rc);for(var o=new Int32Array(e.length),l=0,u=t.length;l0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl,n=e._lightsState;if(this._program=new bt(t,this._buildShader()),this._program.errors)return this.errors=this._program.errors,void console.error(this.errors);var r=this._program;this._uRenderPass=r.getLocation("renderPass"),this._uLightAmbient=r.getLocation("lightAmbient"),this._uLightColor=[],this._uLightDir=[],this._uLightPos=[],this._uLightAttenuation=[];for(var i=n.lights,a=0,s=i.length;a0,a=[];a.push("#version 300 es"),a.push("// TrianglesDataTextureColorRenderer vertex shader"),a.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),a.push("precision highp float;"),a.push("precision highp int;"),a.push("precision highp usampler2D;"),a.push("precision highp isampler2D;"),a.push("precision highp sampler2D;"),a.push("#else"),a.push("precision mediump float;"),a.push("precision mediump int;"),a.push("precision mediump usampler2D;"),a.push("precision mediump isampler2D;"),a.push("precision mediump sampler2D;"),a.push("#endif"),a.push("uniform int renderPass;"),a.push("uniform mat4 sceneModelMatrix;"),a.push("uniform mat4 viewMatrix;"),a.push("uniform mat4 projMatrix;"),a.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),a.push("uniform highp sampler2D uTexturePerObjectMatrix;"),a.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),a.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),a.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),a.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),a.push("uniform vec3 uCameraEyeRtc;"),a.push("vec3 positions[3];"),t.logarithmicDepthBufferEnabled&&(a.push("uniform float logDepthBufFC;"),a.push("out float vFragDepth;"),a.push("out float isPerspective;")),a.push("bool isPerspectiveMatrix(mat4 m) {"),a.push(" return (m[2][3] == - 1.0);"),a.push("}"),a.push("uniform vec4 lightAmbient;");for(var s=0,o=r.lights.length;s> 3) & 4095;"),a.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),a.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),a.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),a.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),a.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),a.push("if (int(flags.x) != renderPass) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("} else {"),a.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),a.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),a.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),a.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),a.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),a.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),a.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),a.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),a.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),a.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),a.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),a.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),a.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),a.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),a.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),a.push("if (color.a == 0u) {"),a.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),a.push(" return;"),a.push("};"),a.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),a.push("vec3 position;"),a.push("position = positions[gl_VertexID % 3];"),a.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),a.push("if (solid != 1u) {"),a.push("if (isPerspectiveMatrix(projMatrix)) {"),a.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),a.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("} else {"),a.push("if (viewNormal.z < 0.0) {"),a.push("position = positions[2 - (gl_VertexID % 3)];"),a.push("viewNormal = -viewNormal;"),a.push("}"),a.push("}"),a.push("}"),a.push("vec4 worldPosition = sceneModelMatrix * ((objectDecodeAndInstanceMatrix * vec4(position, 1.0))); "),a.push("vec4 viewPosition = viewMatrix * worldPosition; "),a.push("vec3 reflectedColor = vec3(0.0, 0.0, 0.0);"),a.push("vec3 viewLightDir = vec3(0.0, 0.0, -1.0);"),a.push("float lambertian = 1.0;");for(var l=0,u=r.lights.length;l0,r=[];if(r.push("#version 300 es"),r.push("// TrianglesDataTextureColorRenderer fragment shader"),r.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),r.push("precision highp float;"),r.push("precision highp int;"),r.push("#else"),r.push("precision mediump float;"),r.push("precision mediump int;"),r.push("#endif"),e.logarithmicDepthBufferEnabled&&(r.push("in float isPerspective;"),r.push("uniform float logDepthBufFC;"),r.push("in float vFragDepth;")),this._withSAO&&(r.push("uniform sampler2D uOcclusionTexture;"),r.push("uniform vec4 uSAOParams;"),r.push("const float packUpscale = 256. / 255.;"),r.push("const float unpackDownScale = 255. / 256.;"),r.push("const vec3 packFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );"),r.push("const vec4 unPackFactors = unpackDownScale / vec4( packFactors, 1. );"),r.push("float unpackRGBToFloat( const in vec4 v ) {"),r.push(" return dot( v, unPackFactors );"),r.push("}")),n){r.push("in vec4 vWorldPosition;"),r.push("flat in uint vFlags2;");for(var i=0,a=t.getNumAllocatedSectionPlanes();i 0u;"),r.push(" if (clippable) {"),r.push(" float dist = 0.0;");for(var s=0,o=t.getNumAllocatedSectionPlanes();s 0.0) { "),r.push(" discard;"),r.push(" }"),r.push("}")}return e.logarithmicDepthBufferEnabled&&r.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),this._withSAO?(r.push(" float viewportWidth = uSAOParams[0];"),r.push(" float viewportHeight = uSAOParams[1];"),r.push(" float blendCutoff = uSAOParams[2];"),r.push(" float blendFactor = uSAOParams[3];"),r.push(" vec2 uv = vec2(gl_FragCoord.x / viewportWidth, gl_FragCoord.y / viewportHeight);"),r.push(" float ambient = smoothstep(blendCutoff, 1.0, unpackRGBToFloat(texture(uOcclusionTexture, uv))) * blendFactor;"),r.push(" outColor = vec4(vColor.rgb * ambient, 1.0);")):r.push(" outColor = vColor;"),r.push("}"),r}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),pc=new Float32Array([1,1,1]),Ac=$.vec3(),dc=$.vec3(),vc=$.vec3();$.vec3();var hc=$.mat4(),Ic=function(){function e(t,n){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate,A=i.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Ac;if(u){var I=dc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,hc),(v=vc)[0]=i.eye[0]-h[0],v[1]=i.eye[1]-h[1],v[2]=i.eye[2]-h[2]}else d=A,v=i.eye;if(s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),n===Xs.SILHOUETTE_XRAYED){var y=r.xrayMaterial._state,m=y.fillColor,w=y.fillAlpha;s.uniform4f(this._uColor,m[0],m[1],m[2],w)}else if(n===Xs.SILHOUETTE_HIGHLIGHTED){var g=r.highlightMaterial._state,E=g.fillColor,T=g.fillAlpha;s.uniform4f(this._uColor,E[0],E[1],E[2],T)}else if(n===Xs.SILHOUETTE_SELECTED){var b=r.selectedMaterial._state,D=b.fillColor,P=b.fillAlpha;s.uniform4f(this._uColor,D[0],D[1],D[2],P)}else s.uniform4fv(this._uColor,pc);if(r.logarithmicDepthBufferEnabled){var R=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,R)}var C=r._sectionPlanesState.getNumAllocatedSectionPlanes(),_=r._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=r._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=a.renderFlags,N=0;N0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture silhouette vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.y) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = color;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),yc=new Float32Array([0,0,0,1]),mc=$.vec3(),wc=$.vec3();$.vec3();var gc=$.mat4(),Ec=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=mc;if(v){var y=$.transformPoint3(f,u,wc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,gc)}else d=A;if(s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),n===Xs.EDGES_XRAYED){var m=i.xrayMaterial._state,w=m.edgeColor,g=m.edgeAlpha;s.uniform4f(this._uColor,w[0],w[1],w[2],g)}else if(n===Xs.EDGES_HIGHLIGHTED){var E=i.highlightMaterial._state,T=E.edgeColor,b=E.edgeAlpha;s.uniform4f(this._uColor,T[0],T[1],T[2],b)}else if(n===Xs.EDGES_SELECTED){var D=i.selectedMaterial._state,P=D.edgeColor,R=D.edgeAlpha;s.uniform4f(this._uColor,P[0],P[1],P[2],R)}else s.uniform4fv(this._uColor,yc);var C=i._sectionPlanesState.getNumAllocatedSectionPlanes(),_=i._sectionPlanesState.sectionPlanes.length;if(C>0)for(var B=i._sectionPlanesState.sectionPlanes,O=t.layerIndex*_,S=r.renderFlags,N=0;N0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uColor=n.getLocation("color"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uWorldMatrix=n.getLocation("worldMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec4 color;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("mat4 matrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vColor = vec4(color.r, color.g, color.b, color.a);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry edges drawing fragment shader"),e.logarithmicDepthBufferEnabled&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Tc=$.vec3(),bc=$.vec3();$.vec3();var Dc=$.mat4(),Pc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=a.viewMatrix;if(this._program||(this._allocate(),!this.errors)){var d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=Tc;if(v){var y=$.transformPoint3(f,u,bc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],d=Be(A,I,Dc)}else d=A;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),s.drawArrays(s.LINES,0,o.numEdgeIndices8Bits)),o.numEdgeIndices16Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),s.drawArrays(s.LINES,0,o.numEdgeIndices16Bits)),o.numEdgeIndices32Bits>0&&(l.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),s.drawArrays(s.LINES,0,o.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled,n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uObjectPerObjectOffsets;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;")),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vColor;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.z) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push("vec4 rgb = vec4(color.rgba);"),n.push("vColor = vec4(float(rgb.r*0.5) / 255.0, float(rgb.g*0.5) / 255.0, float(rgb.b*0.5) / 255.0, float(rgb.a) / 255.0);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureEdgesColorRenderer"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { discard; }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outColor = vColor;"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Rc=$.vec3(),Cc=$.vec3(),_c=$.vec3(),Bc=$.mat4(),Oc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(t),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e));var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate;c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==f[0]||0!==f[1]||0!==f[2],h=0!==p[0]||0!==p[1]||0!==p[2];if(v||h){var I=Rc;if(v){var y=$.transformPoint3(A,f,Cc);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=p[0],I[1]+=p[1],I[2]+=p[2],r=Be(o.viewMatrix,I,Bc),(i=_c)[0]=o.eye[0]-I[0],i[1]=o.eye[1]-I[1],i[2]=o.eye[2]-I[2]}else r=o.viewMatrix,i=o.eye;if(l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),s.logarithmicDepthBufferEnabled){var m=2/(Math.log(o.project.far+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,m)}var w=s._sectionPlanesState.getNumAllocatedSectionPlanes(),g=s._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=s._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry picking vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("smooth out vec4 vWorldPosition;"),n.push("flat out uvec4 vFlags2;")),n.push("out vec4 vPickColor;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0)) / 255.0;"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry picking fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uvec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" outPickColor = vPickColor; "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Sc=$.vec3(),Nc=$.vec3(),Lc=$.vec3();$.vec3();var Mc=$.mat4(),xc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=e.pickViewMatrix||o.viewMatrix;if(this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),f||0!==p[0]||0!==p[1]||0!==p[2]){var h=Sc;if(f){var I=Nc;$.transformPoint3(A,f,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=p[0],h[1]+=p[1],h[2]+=p[2],r=Be(v,h,Mc),(i=Lc)[0]=o.eye[0]-h[0],i[1]=o.eye[1]-h[1],i[2]=o.eye[2]-h[2],e.snapPickOrigin[0]=h[0],e.snapPickOrigin[1]=h[1],e.snapPickOrigin[2]=h[2]}else r=v,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;if(l.uniform3fv(this._uCameraEyeRtc,i),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniform2fv(this._uPickClipPos,e.pickClipPos),l.uniform2f(this._uDrawingBufferSize,l.drawingBufferWidth,l.drawingBufferHeight),l.uniform1f(this._uPickZNear,e.pickZNear),l.uniform1f(this._uPickZFar,e.pickZFar),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix),s.logarithmicDepthBufferEnabled){var y=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,y)}var m=s._sectionPlanesState.getNumAllocatedSectionPlanes(),w=s._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=s._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=a.renderFlags,b=0;b0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform bool pickInvisible;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = remapClipPos(clipPos);"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("uniform float pickZNear;"),n.push("uniform float pickZFar;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(r=0;r 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" float zNormalizedDepth = abs((pickZNear + vViewPosition.z) / (pickZFar - pickZNear));"),n.push(" outPackedDepth = packDepth(zNormalizedDepth); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Fc=$.vec3(),Hc=$.vec3(),Uc=$.vec3(),Gc=$.vec3();$.vec3();var kc=$.mat4(),jc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){if(this._program||(this._allocate(),!this.errors)){e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=t.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Fc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Hc;if(y){var g=$.transformPoint3(A,f,Uc);w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,kc),(i=Gc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this.uVectorA,e.snapVectorA),l.uniform2fv(this.uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,8),l.drawArrays(N,0,u.numEdgeIndices8Bits)),u.numEdgeIndices16Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,16),l.drawArrays(N,0,u.numEdgeIndices16Bits)),u.numEdgeIndices32Bits>0&&(c.bindEdgeIndicesTextures(this._program,this._uTexturePerEdgeIdPortionIds,this._uTexturePerPolygonIdEdgeIndices,32),l.drawArrays(N,0,u.numEdgeIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Batched geometry edges drawing vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdEdgeIndices;"),n.push("uniform mediump usampler2D uTexturePerEdgeIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uSnapVectorA;"),n.push("uniform vec2 uSnapInvVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out float isPerspective;"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uSnapVectorA.x) * uSnapInvVectorAB.x;"),n.push(" float y = (clipPos.y - uSnapVectorA.y) * uSnapInvVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("out vec4 vViewPosition;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int edgeIndex = gl_VertexID / 2;"),n.push("int h_packed_object_id_index = (edgeIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (edgeIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerEdgeIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedEdgeIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+6, objectIndexCoords.y), 0));"),n.push("int edgeIndexBaseOffset = (packedEdgeIndexBaseOffset.r << 24) + (packedEdgeIndexBaseOffset.g << 16) + (packedEdgeIndexBaseOffset.b << 8) + packedEdgeIndexBaseOffset.a;"),n.push("int h_index = (edgeIndex - edgeIndexBaseOffset) & 4095;"),n.push("int v_index = (edgeIndex - edgeIndexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdEdgeIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("int indexPositionH = uniqueVertexIndexes[gl_VertexID % 2] & 4095;"),n.push("int indexPositionV = uniqueVertexIndexes[gl_VertexID % 2] >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("vec3 position = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH, indexPositionV), 0));"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2.r;")),n.push("vViewPosition = viewPosition;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vViewPosition = clipPos;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push("gl_PointSize = 1.0;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture pick depth fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, uLayerNumber);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Vc=$.vec3(),Qc=$.vec3(),Wc=$.vec3(),zc=$.vec3();$.vec3();var Kc=$.mat4(),Yc=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){this._program||this._allocate(),e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram());var r,i,a=t.model,s=a.scene,o=s.camera,l=s.canvas.gl,u=t._state,c=u.textureState,f=t._state.origin,p=a.position,A=a.rotationMatrix,d=a.rotationMatrixConjugate,v=t.aabb,h=e.pickViewMatrix||o.viewMatrix,I=Vc;I[0]=$.safeInv(v[3]-v[0])*$.MAX_INT,I[1]=$.safeInv(v[4]-v[1])*$.MAX_INT,I[2]=$.safeInv(v[5]-v[2])*$.MAX_INT,e.snapPickCoordinateScale[0]=$.safeInv(I[0]),e.snapPickCoordinateScale[1]=$.safeInv(I[1]),e.snapPickCoordinateScale[2]=$.safeInv(I[2]),c.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var y=0!==f[0]||0!==f[1]||0!==f[2],m=0!==p[0]||0!==p[1]||0!==p[2];if(y||m){var w=Qc;if(y){var g=Wc;$.transformPoint3(A,f,g),w[0]=g[0],w[1]=g[1],w[2]=g[2]}else w[0]=0,w[1]=0,w[2]=0;w[0]+=p[0],w[1]+=p[1],w[2]+=p[2],r=Be(h,w,Kc),(i=zc)[0]=o.eye[0]-w[0],i[1]=o.eye[1]-w[1],i[2]=o.eye[2]-w[2],e.snapPickOrigin[0]=w[0],e.snapPickOrigin[1]=w[1],e.snapPickOrigin[2]=w[2]}else r=h,i=o.eye,e.snapPickOrigin[0]=0,e.snapPickOrigin[1]=0,e.snapPickOrigin[2]=0;l.uniform3fv(this._uCameraEyeRtc,i),l.uniform2fv(this._uVectorA,e.snapVectorA),l.uniform2fv(this._uInverseVectorAB,e.snapInvVectorAB),l.uniform1i(this._uLayerNumber,e.snapPickLayerNumber),l.uniform3fv(this._uCoordinateScaler,I),l.uniform1i(this._uRenderPass,n),l.uniform1i(this._uPickInvisible,e.pickInvisible),l.uniformMatrix4fv(this._uSceneWorldModelMatrix,!1,d),l.uniformMatrix4fv(this._uViewMatrix,!1,r),l.uniformMatrix4fv(this._uProjMatrix,!1,o.projMatrix);var E=2/(Math.log(e.pickZFar+1)/Math.LN2);l.uniform1f(this._uLogDepthBufFC,E);var T=s._sectionPlanesState.getNumAllocatedSectionPlanes(),b=s._sectionPlanesState.sectionPlanes.length;if(T>0)for(var D=s._sectionPlanesState.sectionPlanes,P=t.layerIndex*b,R=a.renderFlags,C=0;C0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),l.drawArrays(l.TRIANGLES,0,u.numIndices8Bits)),u.numIndices16Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),l.drawArrays(l.TRIANGLES,0,u.numIndices16Bits)),u.numIndices32Bits>0&&(c.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),l.drawArrays(l.TRIANGLES,0,u.numIndices32Bits)),e.drawElements++}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uSceneWorldModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("uniform vec2 uVectorAB;"),n.push("uniform vec2 uInverseVectorAB;"),n.push("vec3 positions[3];"),n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("vec2 remapClipPos(vec2 clipPos) {"),n.push(" float x = (clipPos.x - uVectorAB.x) * uInverseVectorAB.x;"),n.push(" float y = (clipPos.y - uVectorAB.y) * uInverseVectorAB.y;"),n.push(" return vec2(x, y);"),n.push("}"),n.push("flat out vec4 vPickColor;"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("out highp vec3 relativeToOriginPosition;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("{"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" } else {"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" viewNormal = -viewNormal;"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("relativeToOriginPosition = worldPosition.xyz;"),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("vPickColor = vec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+1, objectIndexCoords.y), 0));"),n.push("vec4 clipPos = projMatrix * viewPosition;"),n.push("float tmp = clipPos.w;"),n.push("clipPos.xyzw /= tmp;"),n.push("clipPos.xy = remapClipPos(clipPos.xy);"),n.push("clipPos.xyzw *= tmp;"),n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));"),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureSnapDepthBufInitRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;"),n.push("uniform int uLayerNumber;"),n.push("uniform vec3 uCoordinateScaler;"),n.push("in vec4 vWorldPosition;"),n.push("flat in vec4 vPickColor;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0;a 0.0) { discard; }"),n.push(" }")}return n.push(" float dx = dFdx(vFragDepth);"),n.push(" float dy = dFdy(vFragDepth);"),n.push(" float diff = sqrt(dx*dx+dy*dy);"),n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth + diff ) * logDepthBufFC * 0.5;"),n.push("outCoords = ivec4(relativeToOriginPosition.xyz * uCoordinateScaler.xyz, - uLayerNumber);"),n.push("vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push("vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push("vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push("outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("outPickColor = uvec4(vPickColor);"),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),Xc=$.vec3(),qc=$.vec3(),Jc=$.vec3();$.vec3();var Zc=$.mat4(),$c=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=r.position,f=r.rotationMatrix,p=r.rotationMatrixConjugate,A=e.pickViewMatrix||a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var d,v;if(e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram()),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix),u||0!==c[0]||0!==c[1]||0!==c[2]){var h=Xc;if(u){var I=qc;$.transformPoint3(f,u,I),h[0]=I[0],h[1]=I[1],h[2]=I[2]}else h[0]=0,h[1]=0,h[2]=0;h[0]+=c[0],h[1]+=c[1],h[2]+=c[2],d=Be(A,h,Zc),(v=Jc)[0]=a.eye[0]-h[0],v[1]=a.eye[1]-h[1],v[2]=a.eye[2]-h[2]}else d=A,v=a.eye;s.uniform3fv(this._uCameraEyeRtc,v),s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,d),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix);var y=i._sectionPlanesState.getNumAllocatedSectionPlanes(),m=i._sectionPlanesState.sectionPlanes.length;if(y>0)for(var w=i._sectionPlanesState.sectionPlanes,g=t.layerIndex*m,E=r.renderFlags,T=0;T0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uWorldMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// TrianglesDataTextureOcclusionRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("if (solid != 1u) {"),n.push(" if (isPerspectiveMatrix(projMatrix)) {"),n.push(" vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push(" if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" } else {"),n.push(" vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push(" if (viewNormal.z < 0.0) {"),n.push(" position = positions[2 - (gl_VertexID % 3)];"),n.push(" }"),n.push(" }"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene._sectionPlanesState,t=e.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTextureColorRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return n.push(" outColor = vec4(0.0, 0.0, 1.0, 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ef=$.vec3(),tf=$.vec3(),nf=$.vec3();$.vec3();var rf=$.mat4(),af=function(){function e(t){b(this,e),this._scene=t,this._allocate(),this._hash=this._getHash()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ef;if(v){var y=$.transformPoint3(f,u,tf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,rf),(d=nf)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPositionsDecodeMatrix=n.getLocation("objectDecodeAndInstanceMatrix"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// Triangles dataTexture draw vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out highp vec2 vHighPrecisionZW;"),t&&(n.push("out vec4 vWorldPosition;"),n.push("flat out uint vFlags2;")),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),t&&(n.push("vWorldPosition = worldPosition;"),n.push("vFlags2 = flags2.r;")),n.push("gl_Position = clipPos;"),n.push("vHighPrecisionZW = gl_Position.zw;"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Triangles dataTexture draw fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),n.push("in highp vec2 vHighPrecisionZW;"),n.push("out vec4 outColor;"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push("float fragCoordZ = 0.5 * vHighPrecisionZW[0] / vHighPrecisionZW[1] + 0.5;"),n.push(" outColor = vec4(vec3(1.0 - fragCoordZ), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),sf=$.vec3(),of=$.vec3(),lf=$.vec3();$.vec3();var uf=$.mat4(),cf=function(){function e(t){b(this,e),this._scene=t,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){return this._scene._sectionPlanesState.getHash()}},{key:"drawLayer",value:function(e,t,n){var r=t.model,i=r.scene,a=i.camera,s=i.canvas.gl,o=t._state,l=t._state.origin,u=r.position,c=r.rotationMatrix,f=r.rotationMatrixConjugate,p=a.viewMatrix;if(this._program||(this._allocate(t),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(t));var v=0!==l[0]||0!==l[1]||0!==l[2],h=0!==u[0]||0!==u[1]||0!==u[2];if(v||h){var I=sf;if(v){var y=of;$.transformPoint3(c,l,y),I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=u[0],I[1]+=u[1],I[2]+=u[2],A=Be(p,I,uf),(d=lf)[0]=a.eye[0]-I[0],d[1]=a.eye[1]-I[1],d[2]=a.eye[2]-I[2]}else A=p,d=a.eye;s.uniform1i(this._uRenderPass,n),s.uniformMatrix4fv(this._uWorldMatrix,!1,f),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,a.projMatrix),s.uniformMatrix4fv(this._uViewNormalMatrix,!1,a.viewNormalMatrix),s.uniformMatrix4fv(this._uWorldNormalMatrix,!1,r.worldNormalMatrix);var m=i._sectionPlanesState.getNumAllocatedSectionPlanes(),w=i._sectionPlanesState.sectionPlanes.length;if(m>0)for(var g=i._sectionPlanesState.sectionPlanes,E=t.layerIndex*w,T=r.renderFlags,b=0;b0,n=[];return n.push("// Batched geometry normals vertex shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("uniform int renderPass;"),n.push("attribute vec3 position;"),e.entityOffsetsEnabled&&n.push("attribute vec3 offset;"),n.push("attribute vec3 normal;"),n.push("attribute vec4 color;"),n.push("attribute vec4 flags;"),n.push("attribute vec4 flags2;"),n.push("uniform mat4 worldMatrix;"),n.push("uniform mat4 worldNormalMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform mat4 viewNormalMatrix;"),n.push("uniform mat4 objectDecodeAndInstanceMatrix;"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("out float vFragDepth;"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("varying float isPerspective;")),n.push("vec3 octDecode(vec2 oct) {"),n.push(" vec3 v = vec3(oct.xy, 1.0 - abs(oct.x) - abs(oct.y));"),n.push(" if (v.z < 0.0) {"),n.push(" v.xy = (1.0 - abs(v.yx)) * vec2(v.x >= 0.0 ? 1.0 : -1.0, v.y >= 0.0 ? 1.0 : -1.0);"),n.push(" }"),n.push(" return normalize(v);"),n.push("}"),t&&(n.push("out vec4 vWorldPosition;"),n.push("out vec4 vFlags2;")),n.push("out vec3 vViewNormal;"),n.push("void main(void) {"),n.push("if (int(flags.x) != renderPass) {"),n.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"),n.push(" } else {"),n.push(" vec4 worldPosition = worldMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),e.entityOffsetsEnabled&&n.push(" worldPosition.xyz = worldPosition.xyz + offset;"),n.push(" vec4 viewPosition = viewMatrix * worldPosition; "),n.push(" vec4 worldNormal = worldNormalMatrix * vec4(octDecode(normal.xy), 0.0); "),n.push(" vec3 viewNormal = normalize((viewNormalMatrix * worldNormal).xyz);"),t&&(n.push(" vWorldPosition = worldPosition;"),n.push(" vFlags2 = flags2;")),n.push(" vViewNormal = viewNormal;"),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(dt.SUPPORTED_EXTENSIONS.EXT_frag_depth?n.push("vFragDepth = 1.0 + clipPos.w;"):(n.push("clipPos.z = log2( max( 1e-6, clipPos.w + 1.0 ) ) * logDepthBufFC - 1.0;"),n.push("clipPos.z *= clipPos.w;")),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("gl_Position = clipPos;"),n.push(" }"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// Batched geometry normals fragment shader"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push("#extension GL_EXT_frag_depth : enable"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),t){n.push("in vec4 vWorldPosition;"),n.push("in vec4 vFlags2;");for(var r=0;r 0.0);"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var i=0;i 0.0) { discard; }"),n.push(" }")}return e.logarithmicDepthBufferEnabled&&dt.SUPPORTED_EXTENSIONS.EXT_frag_depth&&n.push(" gl_FragDepthEXT = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" gl_FragColor = vec4(packNormalToRGB(vViewNormal), 1.0); "),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),ff=$.vec3(),pf=$.vec3(),Af=$.vec3();$.vec3(),$.vec4();var df=$.mat4(),vf=function(){function e(t,n){b(this,e),this._scene=t,this._withSAO=n,this._hash=this._getHash(),this._allocate()}return P(e,[{key:"getValid",value:function(){return this._hash===this._getHash()}},{key:"_getHash",value:function(){var e=this._scene;return[e._lightsState.getHash(),e._sectionPlanesState.getHash(),this._withSAO?"sao":"nosao"].join(";")}},{key:"drawLayer",value:function(e,t,n){var r=this._scene,i=r.camera,a=t.model,s=r.canvas.gl,o=t._state,l=o.textureState,u=t._state.origin,c=a.position,f=a.rotationMatrix,p=a.rotationMatrixConjugate;if(this._program||(this._allocate(),!this.errors)){var A,d;e.lastProgramId!==this._program.id&&(e.lastProgramId=this._program.id,this._bindProgram(e,o)),l.bindCommonTextures(this._program,this.uTexturePerObjectPositionsDecodeMatrix,this._uTexturePerVertexIdCoordinates,this.uTexturePerObjectColorsAndFlags,this._uTexturePerObjectMatrix);var v=0!==u[0]||0!==u[1]||0!==u[2],h=0!==c[0]||0!==c[1]||0!==c[2];if(v||h){var I=ff;if(v){var y=$.transformPoint3(f,u,pf);I[0]=y[0],I[1]=y[1],I[2]=y[2]}else I[0]=0,I[1]=0,I[2]=0;I[0]+=c[0],I[1]+=c[1],I[2]+=c[2],A=Be(i.viewMatrix,I,df),(d=Af)[0]=i.eye[0]-I[0],d[1]=i.eye[1]-I[1],d[2]=i.eye[2]-I[2]}else A=i.viewMatrix,d=i.eye;if(s.uniform2fv(this._uPickClipPos,e.pickClipPos),s.uniform2f(this._uDrawingBufferSize,s.drawingBufferWidth,s.drawingBufferHeight),s.uniformMatrix4fv(this._uSceneModelMatrix,!1,p),s.uniformMatrix4fv(this._uViewMatrix,!1,A),s.uniformMatrix4fv(this._uProjMatrix,!1,i.projMatrix),s.uniform3fv(this._uCameraEyeRtc,d),s.uniform1i(this._uRenderPass,n),r.logarithmicDepthBufferEnabled){var m=2/(Math.log(e.pickZFar+1)/Math.LN2);s.uniform1f(this._uLogDepthBufFC,m)}var w=r._sectionPlanesState.getNumAllocatedSectionPlanes(),g=r._sectionPlanesState.sectionPlanes.length;if(w>0)for(var E=r._sectionPlanesState.sectionPlanes,T=t.layerIndex*g,b=a.renderFlags,D=0;D0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,8),s.drawArrays(s.TRIANGLES,0,o.numIndices8Bits)),o.numIndices16Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,16),s.drawArrays(s.TRIANGLES,0,o.numIndices16Bits)),o.numIndices32Bits>0&&(l.bindTriangleIndicesTextures(this._program,this._uTexturePerPolygonIdPortionIds,this._uTexturePerPolygonIdIndices,32),s.drawArrays(s.TRIANGLES,0,o.numIndices32Bits)),e.drawElements++}}},{key:"_allocate",value:function(){var e=this._scene,t=e.canvas.gl;if(this._program=new bt(t,this._buildShader()),this._program.errors)this.errors=this._program.errors;else{var n=this._program;this._uRenderPass=n.getLocation("renderPass"),this._uPickInvisible=n.getLocation("pickInvisible"),this._uPickClipPos=n.getLocation("pickClipPos"),this._uDrawingBufferSize=n.getLocation("drawingBufferSize"),this._uSceneModelMatrix=n.getLocation("sceneModelMatrix"),this._uViewMatrix=n.getLocation("viewMatrix"),this._uProjMatrix=n.getLocation("projMatrix"),this._uSectionPlanes=[];for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r0,n=[];return n.push("#version 300 es"),n.push("// trianglesDatatextureNormalsRenderer vertex shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("precision highp usampler2D;"),n.push("precision highp isampler2D;"),n.push("precision highp sampler2D;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("precision mediump usampler2D;"),n.push("precision mediump isampler2D;"),n.push("precision mediump sampler2D;"),n.push("#endif"),n.push("uniform int renderPass;"),e.entityOffsetsEnabled&&n.push("in vec3 offset;"),n.push("uniform mat4 sceneModelMatrix;"),n.push("uniform mat4 viewMatrix;"),n.push("uniform mat4 projMatrix;"),n.push("uniform highp sampler2D uObjectPerObjectPositionsDecodeMatrix;"),n.push("uniform lowp usampler2D uObjectPerObjectColorsAndFlags;"),n.push("uniform highp sampler2D uTexturePerObjectMatrix;"),n.push("uniform mediump usampler2D uTexturePerVertexIdCoordinates;"),n.push("uniform highp usampler2D uTexturePerPolygonIdIndices;"),n.push("uniform mediump usampler2D uTexturePerPolygonIdPortionIds;"),n.push("uniform vec3 uCameraEyeRtc;"),n.push("vec3 positions[3];"),e.logarithmicDepthBufferEnabled&&(n.push("uniform float logDepthBufFC;"),n.push("out float vFragDepth;"),n.push("out float isPerspective;")),n.push("uniform vec2 pickClipPos;"),n.push("uniform vec2 drawingBufferSize;"),n.push("vec4 remapClipPos(vec4 clipPos) {"),n.push(" clipPos.xy /= clipPos.w;"),n.push(" clipPos.xy = (clipPos.xy - pickClipPos) * drawingBufferSize;"),n.push(" clipPos.xy *= clipPos.w;"),n.push(" return clipPos;"),n.push("}"),n.push("bool isPerspectiveMatrix(mat4 m) {"),n.push(" return (m[2][3] == - 1.0);"),n.push("}"),n.push("out vec4 vWorldPosition;"),t&&n.push("flat out uint vFlags2;"),n.push("void main(void) {"),n.push("int polygonIndex = gl_VertexID / 3;"),n.push("int h_packed_object_id_index = (polygonIndex >> 3) & 4095;"),n.push("int v_packed_object_id_index = (polygonIndex >> 3) >> 12;"),n.push("int objectIndex = int(texelFetch(uTexturePerPolygonIdPortionIds, ivec2(h_packed_object_id_index, v_packed_object_id_index), 0).r);"),n.push("ivec2 objectIndexCoords = ivec2(objectIndex % 512, objectIndex / 512);"),n.push("uvec4 flags = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+2, objectIndexCoords.y), 0);"),n.push("uvec4 flags2 = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+3, objectIndexCoords.y), 0);"),n.push("if (int(flags.w) != renderPass) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("} else {"),n.push("ivec4 packedVertexBase = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+4, objectIndexCoords.y), 0));"),n.push("ivec4 packedIndexBaseOffset = ivec4(texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+5, objectIndexCoords.y), 0));"),n.push("int indexBaseOffset = (packedIndexBaseOffset.r << 24) + (packedIndexBaseOffset.g << 16) + (packedIndexBaseOffset.b << 8) + packedIndexBaseOffset.a;"),n.push("int h_index = (polygonIndex - indexBaseOffset) & 4095;"),n.push("int v_index = (polygonIndex - indexBaseOffset) >> 12;"),n.push("ivec3 vertexIndices = ivec3(texelFetch(uTexturePerPolygonIdIndices, ivec2(h_index, v_index), 0));"),n.push("ivec3 uniqueVertexIndexes = vertexIndices + (packedVertexBase.r << 24) + (packedVertexBase.g << 16) + (packedVertexBase.b << 8) + packedVertexBase.a;"),n.push("ivec3 indexPositionH = uniqueVertexIndexes & 4095;"),n.push("ivec3 indexPositionV = uniqueVertexIndexes >> 12;"),n.push("mat4 objectInstanceMatrix = mat4 (texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uTexturePerObjectMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("mat4 objectDecodeAndInstanceMatrix = objectInstanceMatrix * mat4 (texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+0, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+1, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+2, objectIndexCoords.y), 0), texelFetch (uObjectPerObjectPositionsDecodeMatrix, ivec2(objectIndexCoords.x*4+3, objectIndexCoords.y), 0));"),n.push("uint solid = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+7, objectIndexCoords.y), 0).r;"),n.push("positions[0] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.r, indexPositionV.r), 0));"),n.push("positions[1] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.g, indexPositionV.g), 0));"),n.push("positions[2] = vec3(texelFetch(uTexturePerVertexIdCoordinates, ivec2(indexPositionH.b, indexPositionV.b), 0));"),n.push("uvec4 color = texelFetch (uObjectPerObjectColorsAndFlags, ivec2(objectIndexCoords.x*8+0, objectIndexCoords.y), 0);"),n.push("if (color.a == 0u) {"),n.push(" gl_Position = vec4(3.0, 3.0, 3.0, 1.0);"),n.push(" return;"),n.push("};"),n.push("vec3 normal = normalize(cross(positions[2] - positions[0], positions[1] - positions[0]));"),n.push("vec3 position;"),n.push("position = positions[gl_VertexID % 3];"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (solid != 1u) {"),n.push("if (isPerspectiveMatrix(projMatrix)) {"),n.push("vec3 uCameraEyeRtcInQuantizedSpace = (inverse(sceneModelMatrix * objectDecodeAndInstanceMatrix) * vec4(uCameraEyeRtc, 1)).xyz;"),n.push("if (dot(position.xyz - uCameraEyeRtcInQuantizedSpace, normal) < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("viewNormal = -viewNormal;"),n.push("}"),n.push("} else {"),n.push("vec3 viewNormal = -normalize((transpose(inverse(viewMatrix*objectDecodeAndInstanceMatrix)) * vec4(normal,1)).xyz);"),n.push("if (viewNormal.z < 0.0) {"),n.push("position = positions[2 - (gl_VertexID % 3)];"),n.push("}"),n.push("}"),n.push("}"),n.push("vec4 worldPosition = sceneModelMatrix * (objectDecodeAndInstanceMatrix * vec4(position, 1.0)); "),n.push("vec4 viewPosition = viewMatrix * worldPosition; "),n.push("vec4 clipPos = projMatrix * viewPosition;"),e.logarithmicDepthBufferEnabled&&(n.push("vFragDepth = 1.0 + clipPos.w;"),n.push("isPerspective = float (isPerspectiveMatrix(projMatrix));")),n.push("vWorldPosition = worldPosition;"),t&&n.push("vFlags2 = flags2.r;"),n.push("gl_Position = remapClipPos(clipPos);"),n.push("}"),n.push("}"),n}},{key:"_buildFragmentShader",value:function(){var e=this._scene,t=e._sectionPlanesState.getNumAllocatedSectionPlanes()>0,n=[];if(n.push("#version 300 es"),n.push("// TrianglesDataTexturePickNormalsRenderer fragment shader"),n.push("#ifdef GL_FRAGMENT_PRECISION_HIGH"),n.push("precision highp float;"),n.push("precision highp int;"),n.push("#else"),n.push("precision mediump float;"),n.push("precision mediump int;"),n.push("#endif"),e.logarithmicDepthBufferEnabled&&(n.push("in float isPerspective;"),n.push("uniform float logDepthBufFC;"),n.push("in float vFragDepth;")),n.push("in vec4 vWorldPosition;"),t){n.push("flat in uint vFlags2;");for(var r=0,i=e._sectionPlanesState.getNumAllocatedSectionPlanes();r 0u;"),n.push(" if (clippable) {"),n.push(" float dist = 0.0;");for(var a=0,s=e._sectionPlanesState.getNumAllocatedSectionPlanes();a 0.0) { "),n.push(" discard;"),n.push(" }"),n.push("}")}return e.logarithmicDepthBufferEnabled&&n.push(" gl_FragDepth = isPerspective == 0.0 ? gl_FragCoord.z : log2( vFragDepth ) * logDepthBufFC * 0.5;"),n.push(" vec3 xTangent = dFdx( vWorldPosition.xyz );"),n.push(" vec3 yTangent = dFdy( vWorldPosition.xyz );"),n.push(" vec3 worldNormal = normalize( cross( xTangent, yTangent ) );"),n.push(" outNormal = ivec4(worldNormal * float(".concat($.MAX_INT,"), 1.0);")),n.push("}"),n}},{key:"webglContextRestored",value:function(){this._program=null}},{key:"destroy",value:function(){this._program&&this._program.destroy(),this._program=null}}]),e}(),hf=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"_compile",value:function(){this._colorRenderer&&!this._colorRenderer.getValid()&&(this._colorRenderer.destroy(),this._colorRenderer=null),this._colorRendererWithSAO&&!this._colorRendererWithSAO.getValid()&&(this._colorRendererWithSAO.destroy(),this._colorRendererWithSAO=null),this._flatColorRenderer&&!this._flatColorRenderer.getValid()&&(this._flatColorRenderer.destroy(),this._flatColorRenderer=null),this._flatColorRendererWithSAO&&!this._flatColorRendererWithSAO.getValid()&&(this._flatColorRendererWithSAO.destroy(),this._flatColorRendererWithSAO=null),this._colorQualityRendererWithSAO&&!this._colorQualityRendererWithSAO.getValid()&&(this._colorQualityRendererWithSAO.destroy(),this._colorQualityRendererWithSAO=null),this._depthRenderer&&!this._depthRenderer.getValid()&&(this._depthRenderer.destroy(),this._depthRenderer=null),this._normalsRenderer&&!this._normalsRenderer.getValid()&&(this._normalsRenderer.destroy(),this._normalsRenderer=null),this._silhouetteRenderer&&!this._silhouetteRenderer.getValid()&&(this._silhouetteRenderer.destroy(),this._silhouetteRenderer=null),this._edgesRenderer&&!this._edgesRenderer.getValid()&&(this._edgesRenderer.destroy(),this._edgesRenderer=null),this._edgesColorRenderer&&!this._edgesColorRenderer.getValid()&&(this._edgesColorRenderer.destroy(),this._edgesColorRenderer=null),this._pickMeshRenderer&&!this._pickMeshRenderer.getValid()&&(this._pickMeshRenderer.destroy(),this._pickMeshRenderer=null),this._pickDepthRenderer&&!this._pickDepthRenderer.getValid()&&(this._pickDepthRenderer.destroy(),this._pickDepthRenderer=null),this._vertexDepthRenderer&&!this._vertexDepthRenderer.getValid()&&(this._vertexDepthRenderer.destroy(),this._vertexDepthRenderer=null),this._snapDepthBufInitRenderer&&!this._snapDepthBufInitRenderer.getValid()&&(this._snapDepthBufInitRenderer.destroy(),this._snapDepthBufInitRenderer=null),this._pickNormalsRenderer&&!1===this._pickNormalsRenderer.getValid()&&(this._pickNormalsRenderer.destroy(),this._pickNormalsRenderer=null),this._pickNormalsFlatRenderer&&!1===this._pickNormalsFlatRenderer.getValid()&&(this._pickNormalsFlatRenderer.destroy(),this._pickNormalsFlatRenderer=null),this._occlusionRenderer&&!1===this._occlusionRenderer.getValid()&&(this._occlusionRenderer.destroy(),this._occlusionRenderer=null)}},{key:"eagerCreateRenders",value:function(){this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickDepthRenderer||(this._pickDepthRenderer=new xc(this._scene)),this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene))}},{key:"colorRenderer",get:function(){return this._colorRenderer||(this._colorRenderer=new fc(this._scene,!1)),this._colorRenderer}},{key:"colorRendererWithSAO",get:function(){return this._colorRendererWithSAO||(this._colorRendererWithSAO=new fc(this._scene,!0)),this._colorRendererWithSAO}},{key:"colorQualityRendererWithSAO",get:function(){return this._colorQualityRendererWithSAO}},{key:"silhouetteRenderer",get:function(){return this._silhouetteRenderer||(this._silhouetteRenderer=new Ic(this._scene)),this._silhouetteRenderer}},{key:"depthRenderer",get:function(){return this._depthRenderer||(this._depthRenderer=new af(this._scene)),this._depthRenderer}},{key:"normalsRenderer",get:function(){return this._normalsRenderer||(this._normalsRenderer=new cf(this._scene)),this._normalsRenderer}},{key:"edgesRenderer",get:function(){return this._edgesRenderer||(this._edgesRenderer=new Ec(this._scene)),this._edgesRenderer}},{key:"edgesColorRenderer",get:function(){return this._edgesColorRenderer||(this._edgesColorRenderer=new Pc(this._scene)),this._edgesColorRenderer}},{key:"pickMeshRenderer",get:function(){return this._pickMeshRenderer||(this._pickMeshRenderer=new Oc(this._scene)),this._pickMeshRenderer}},{key:"pickNormalsRenderer",get:function(){return this._pickNormalsRenderer||(this._pickNormalsRenderer=new vf(this._scene)),this._pickNormalsRenderer}},{key:"pickNormalsFlatRenderer",get:function(){return this._pickNormalsFlatRenderer||(this._pickNormalsFlatRenderer=new vf(this._scene)),this._pickNormalsFlatRenderer}},{key:"pickDepthRenderer",get:function(){return this._pickDepthRenderer||(this._pickDepthRenderer=new xc(this._scene)),this._pickDepthRenderer}},{key:"vertexDepthRenderer",get:function(){return this._vertexDepthRenderer||(this._vertexDepthRenderer=new jc(this._scene)),this._vertexDepthRenderer}},{key:"snapDepthBufInitRenderer",get:function(){return this._snapDepthBufInitRenderer||(this._snapDepthBufInitRenderer=new Yc(this._scene)),this._snapDepthBufInitRenderer}},{key:"occlusionRenderer",get:function(){return this._occlusionRenderer||(this._occlusionRenderer=new $c(this._scene)),this._occlusionRenderer}},{key:"_destroy",value:function(){this._colorRenderer&&this._colorRenderer.destroy(),this._colorRendererWithSAO&&this._colorRendererWithSAO.destroy(),this._flatColorRenderer&&this._flatColorRenderer.destroy(),this._flatColorRendererWithSAO&&this._flatColorRendererWithSAO.destroy(),this._colorQualityRendererWithSAO&&this._colorQualityRendererWithSAO.destroy(),this._depthRenderer&&this._depthRenderer.destroy(),this._normalsRenderer&&this._normalsRenderer.destroy(),this._silhouetteRenderer&&this._silhouetteRenderer.destroy(),this._edgesRenderer&&this._edgesRenderer.destroy(),this._edgesColorRenderer&&this._edgesColorRenderer.destroy(),this._pickMeshRenderer&&this._pickMeshRenderer.destroy(),this._pickDepthRenderer&&this._pickDepthRenderer.destroy(),this._vertexDepthRenderer&&this._vertexDepthRenderer.destroy(),this._snapDepthBufInitRenderer&&this._snapDepthBufInitRenderer.destroy(),this._pickNormalsRenderer&&this._pickNormalsRenderer.destroy(),this._pickNormalsFlatRenderer&&this._pickNormalsFlatRenderer.destroy(),this._occlusionRenderer&&this._occlusionRenderer.destroy()}}]),e}(),If={};var yf=P((function e(){b(this,e),this.positionsCompressed=[],this.lenPositionsCompressed=0,this.metallicRoughness=[],this.indices8Bits=[],this.lenIndices8Bits=0,this.indices16Bits=[],this.lenIndices16Bits=0,this.indices32Bits=[],this.lenIndices32Bits=0,this.edgeIndices8Bits=[],this.lenEdgeIndices8Bits=0,this.edgeIndices16Bits=[],this.lenEdgeIndices16Bits=0,this.edgeIndices32Bits=[],this.lenEdgeIndices32Bits=0,this.perObjectColors=[],this.perObjectPickColors=[],this.perObjectSolid=[],this.perObjectOffsets=[],this.perObjectPositionsDecodeMatrices=[],this.perObjectInstancePositioningMatrices=[],this.perObjectVertexBases=[],this.perObjectIndexBaseOffsets=[],this.perObjectEdgeIndexBaseOffsets=[],this.perTriangleNumberPortionId8Bits=[],this.perTriangleNumberPortionId16Bits=[],this.perTriangleNumberPortionId32Bits=[],this.perEdgeNumberPortionId8Bits=[],this.perEdgeNumberPortionId16Bits=[],this.perEdgeNumberPortionId32Bits=[]})),mf=function(){function e(){b(this,e),this.texturePerObjectColorsAndFlags=null,this.texturePerObjectOffsets=null,this.texturePerObjectInstanceMatrices=null,this.texturePerObjectPositionsDecodeMatrix=null,this.texturePerVertexIdCoordinates=null,this.texturePerPolygonIdPortionIds8Bits=null,this.texturePerPolygonIdPortionIds16Bits=null,this.texturePerPolygonIdPortionIds32Bits=null,this.texturePerEdgeIdPortionIds8Bits=null,this.texturePerEdgeIdPortionIds16Bits=null,this.texturePerEdgeIdPortionIds32Bits=null,this.texturePerPolygonIdIndices8Bits=null,this.texturePerPolygonIdIndices16Bits=null,this.texturePerPolygonIdIndices32Bits=null,this.texturePerPolygonIdEdgeIndices8Bits=null,this.texturePerPolygonIdEdgeIndices16Bits=null,this.texturePerPolygonIdEdgeIndices32Bits=null,this.textureModelMatrices=null}return P(e,[{key:"finalize",value:function(){this.indicesPerBitnessTextures={8:this.texturePerPolygonIdIndices8Bits,16:this.texturePerPolygonIdIndices16Bits,32:this.texturePerPolygonIdIndices32Bits},this.indicesPortionIdsPerBitnessTextures={8:this.texturePerPolygonIdPortionIds8Bits,16:this.texturePerPolygonIdPortionIds16Bits,32:this.texturePerPolygonIdPortionIds32Bits},this.edgeIndicesPerBitnessTextures={8:this.texturePerPolygonIdEdgeIndices8Bits,16:this.texturePerPolygonIdEdgeIndices16Bits,32:this.texturePerPolygonIdEdgeIndices32Bits},this.edgeIndicesPortionIdsPerBitnessTextures={8:this.texturePerEdgeIdPortionIds8Bits,16:this.texturePerEdgeIdPortionIds16Bits,32:this.texturePerEdgeIdPortionIds32Bits}}},{key:"bindCommonTextures",value:function(e,t,n,r,i){this.texturePerObjectPositionsDecodeMatrix.bindTexture(e,t,1),this.texturePerVertexIdCoordinates.bindTexture(e,n,2),this.texturePerObjectColorsAndFlags.bindTexture(e,r,3),this.texturePerObjectInstanceMatrices.bindTexture(e,i,4)}},{key:"bindTriangleIndicesTextures",value:function(e,t,n,r){this.indicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.indicesPerBitnessTextures[r].bindTexture(e,n,6)}},{key:"bindEdgeIndicesTextures",value:function(e,t,n,r){this.edgeIndicesPortionIdsPerBitnessTextures[r].bindTexture(e,t,5),this.edgeIndicesPerBitnessTextures[r].bindTexture(e,n,6)}}]),e}(),wf=function(){function e(t,n,r,i){var a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;b(this,e),this._gl=t,this._texture=n,this._textureWidth=r,this._textureHeight=i,this._textureData=a}return P(e,[{key:"bindTexture",value:function(e,t,n){return e.bindTexture(t,this,n)}},{key:"bind",value:function(e){return this._gl.activeTexture(this._gl["TEXTURE"+e]),this._gl.bindTexture(this._gl.TEXTURE_2D,this._texture),!0}},{key:"unbind",value:function(e){}}]),e}(),gf={sizeDataColorsAndFlags:0,sizeDataPositionDecodeMatrices:0,sizeDataTextureOffsets:0,sizeDataTexturePositions:0,sizeDataTextureIndices:0,sizeDataTextureEdgeIndices:0,sizeDataTexturePortionIds:0,numberOfGeometries:0,numberOfPortions:0,numberOfLayers:0,numberOfTextures:0,totalPolygons:0,totalPolygons8Bits:0,totalPolygons16Bits:0,totalPolygons32Bits:0,totalEdges:0,totalEdges8Bits:0,totalEdges16Bits:0,totalEdges32Bits:0,cannotCreatePortion:{because10BitsObjectId:0,becauseTextureSize:0},overheadSizeAlignementIndices:0,overheadSizeAlignementEdgeIndices:0};window.printDataTextureRamStats=function(){console.log(JSON.stringify(gf,null,4));var e=0;Object.keys(gf).forEach((function(t){t.startsWith("size")&&(e+=gf[t])})),console.log("Total size ".concat(e," bytes (").concat((e/1e3/1e3).toFixed(2)," MB)")),console.log("Avg bytes / triangle: ".concat((e/gf.totalPolygons).toFixed(2)));var t={};Object.keys(gf).forEach((function(n){n.startsWith("size")&&(t[n]="".concat((gf[n]/e*100).toFixed(2)," % of total"))})),console.log(JSON.stringify({percentualRamUsage:t},null,4))};var Ef=function(){function e(){b(this,e)}return P(e,[{key:"disableBindedTextureFiltering",value:function(e){e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}},{key:"generateTextureForColorsAndFlags",value:function(e,t,n,r,i,a,s){var o=t.length;this.numPortions=o;var l=4096,u=Math.ceil(o/512);if(0===u)throw"texture height===0";var c=new Uint8Array(16384*u);gf.sizeDataColorsAndFlags+=c.byteLength,gf.numberOfTextures++;for(var f=0;f>24&255,r[f]>>16&255,r[f]>>8&255,255&r[f]],32*f+16),c.set([i[f]>>24&255,i[f]>>16&255,i[f]>>8&255,255&i[f]],32*f+20),c.set([a[f]>>24&255,a[f]>>16&255,a[f]>>8&255,255&a[f]],32*f+24),c.set([s[f]?1:0,0,0,0],32*f+28);var p=e.createTexture();return e.bindTexture(e.TEXTURE_2D,p),e.texStorage2D(e.TEXTURE_2D,1,e.RGBA8UI,l,u),e.texSubImage2D(e.TEXTURE_2D,0,0,0,l,u,e.RGBA_INTEGER,e.UNSIGNED_BYTE,c,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,p,l,u,c)}},{key:"generateTextureForObjectOffsets",value:function(e,t){var n=512,r=Math.ceil(t/n);if(0===r)throw"texture height===0";var i=new Float32Array(1536*r).fill(0);gf.sizeDataTextureOffsets+=i.byteLength,gf.numberOfTextures++;var a=e.createTexture();return e.bindTexture(e.TEXTURE_2D,a),e.texStorage2D(e.TEXTURE_2D,1,e.RGB32F,n,r),e.texSubImage2D(e.TEXTURE_2D,0,0,0,n,r,e.RGB,e.FLOAT,i,0),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),new wf(e,a,n,r,i)}},{key:"generateTextureForInstancingMatrices",value:function(e,t){var n=t.length;if(0===n)throw"num instance matrices===0";var r=2048,i=Math.ceil(n/512),a=new Float32Array(8192*i);gf.numberOfTextures++;for(var s=0;s65536&&gf.cannotCreatePortion.because10BitsObjectId++;var n=this._numPortions+t<=65536,r=void 0!==e.geometryId&&null!==e.geometryId?"".concat(e.geometryId,"#").concat(0):"".concat(e.id,"#").concat(0);if(!this._bucketGeometries[r]){var i=Math.max(this._state.numIndices8Bits,this._state.numIndices16Bits,this._state.numIndices32Bits),a=0,s=0;e.buckets.forEach((function(e){a+=e.positionsCompressed.length/3,s+=e.indices.length/3})),(this._state.numVertices+a>16777216||i+s>16777216)&&gf.cannotCreatePortion.becauseTextureSize++,n&&(n=this._state.numVertices+a<=16777216&&i+s<=16777216)}return n}},{key:"createPortion",value:function(e,t){var n=this;if(this._finalized)throw"Already finalized";var r=[];t.buckets.forEach((function(e,i){var a=void 0!==t.geometryId&&null!==t.geometryId?"".concat(t.geometryId,"#").concat(i):"".concat(t.id,"#").concat(i),s=n._bucketGeometries[a];s||(s=n._createBucketGeometry(t,e),n._bucketGeometries[a]=s);var o=n._createSubPortion(t,s,e);r.push(o)}));var i=this._portionToSubPortionsMap.length;return this._portionToSubPortionsMap.push(r),this.model.numPortions++,this._meshes.push(e),i}},{key:"_createBucketGeometry",value:function(e,t){if(t.indices){var n=8*Math.ceil(t.indices.length/3/8)*3;gf.overheadSizeAlignementIndices+=2*(n-t.indices.length);var r=new Uint32Array(n);r.fill(0),r.set(t.indices),t.indices=r}if(t.edgeIndices){var i=8*Math.ceil(t.edgeIndices.length/2/8)*2;gf.overheadSizeAlignementEdgeIndices+=2*(i-t.edgeIndices.length);var a=new Uint32Array(i);a.fill(0),a.set(t.edgeIndices),t.edgeIndices=a}var s=t.positionsCompressed,o=t.indices,l=t.edgeIndices,u=this._buffer;u.positionsCompressed.push(s);var c,f=u.lenPositionsCompressed/3,p=s.length/3;u.lenPositionsCompressed+=s.length;var A,d,v=0;o&&(v=o.length/3,p<=256?(A=u.indices8Bits,c=u.lenIndices8Bits/3,u.lenIndices8Bits+=o.length):p<=65536?(A=u.indices16Bits,c=u.lenIndices16Bits/3,u.lenIndices16Bits+=o.length):(A=u.indices32Bits,c=u.lenIndices32Bits/3,u.lenIndices32Bits+=o.length),A.push(o));var h,I=0;l&&(I=l.length/2,p<=256?(h=u.edgeIndices8Bits,d=u.lenEdgeIndices8Bits/2,u.lenEdgeIndices8Bits+=l.length):p<=65536?(h=u.edgeIndices16Bits,d=u.lenEdgeIndices16Bits/2,u.lenEdgeIndices16Bits+=l.length):(h=u.edgeIndices32Bits,d=u.lenEdgeIndices32Bits/2,u.lenEdgeIndices32Bits+=l.length),h.push(l));return this._state.numVertices+=p,gf.numberOfGeometries++,{vertexBase:f,numVertices:p,numTriangles:v,numEdges:I,indicesBase:c,edgeIndicesBase:d,obb:null}}},{key:"_createSubPortion",value:function(e,t,n,r){var i=e.color;e.metallic,e.roughness;var a,s,o=e.colors,l=e.opacity,u=e.meshMatrix,c=e.pickColor,f=this._buffer,p=this._state;f.perObjectPositionsDecodeMatrices.push(e.positionsDecodeMatrix),f.perObjectInstancePositioningMatrices.push(u||Rf),f.perObjectSolid.push(!!e.solid),o?f.perObjectColors.push([255*o[0],255*o[1],255*o[2],255]):i&&f.perObjectColors.push([i[0],i[1],i[2],l]),f.perObjectPickColors.push(c),f.perObjectVertexBases.push(t.vertexBase),a=t.numVertices<=256?p.numIndices8Bits:t.numVertices<=65536?p.numIndices16Bits:p.numIndices32Bits,f.perObjectIndexBaseOffsets.push(a/3-t.indicesBase),s=t.numVertices<=256?p.numEdgeIndices8Bits:t.numVertices<=65536?p.numEdgeIndices16Bits:p.numEdgeIndices32Bits,f.perObjectEdgeIndexBaseOffsets.push(s/2-t.edgeIndicesBase);var A=this._subPortions.length;if(t.numTriangles>0){var d,v=3*t.numTriangles;t.numVertices<=256?(d=f.perTriangleNumberPortionId8Bits,p.numIndices8Bits+=v,gf.totalPolygons8Bits+=t.numTriangles):t.numVertices<=65536?(d=f.perTriangleNumberPortionId16Bits,p.numIndices16Bits+=v,gf.totalPolygons16Bits+=t.numTriangles):(d=f.perTriangleNumberPortionId32Bits,p.numIndices32Bits+=v,gf.totalPolygons32Bits+=t.numTriangles),gf.totalPolygons+=t.numTriangles;for(var h=0;h0){var I,y=2*t.numEdges;t.numVertices<=256?(I=f.perEdgeNumberPortionId8Bits,p.numEdgeIndices8Bits+=y,gf.totalEdges8Bits+=t.numEdges):t.numVertices<=65536?(I=f.perEdgeNumberPortionId16Bits,p.numEdgeIndices16Bits+=y,gf.totalEdges16Bits+=t.numEdges):(I=f.perEdgeNumberPortionId32Bits,p.numEdgeIndices32Bits+=y,gf.totalEdges32Bits+=t.numEdges),gf.totalEdges+=t.numEdges;for(var m=0;m0&&(n.texturePerEdgeIdPortionIds8Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId8Bits)),i.perEdgeNumberPortionId16Bits.length>0&&(n.texturePerEdgeIdPortionIds16Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId16Bits)),i.perEdgeNumberPortionId32Bits.length>0&&(n.texturePerEdgeIdPortionIds32Bits=this._dataTextureGenerator.generateTextureForPackedPortionIds(r,i.perEdgeNumberPortionId32Bits)),i.lenIndices8Bits>0&&(n.texturePerPolygonIdIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitIndices(r,i.indices8Bits,i.lenIndices8Bits)),i.lenIndices16Bits>0&&(n.texturePerPolygonIdIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitIndices(r,i.indices16Bits,i.lenIndices16Bits)),i.lenIndices32Bits>0&&(n.texturePerPolygonIdIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitIndices(r,i.indices32Bits,i.lenIndices32Bits)),i.lenEdgeIndices8Bits>0&&(n.texturePerPolygonIdEdgeIndices8Bits=this._dataTextureGenerator.generateTextureFor8BitsEdgeIndices(r,i.edgeIndices8Bits,i.lenEdgeIndices8Bits)),i.lenEdgeIndices16Bits>0&&(n.texturePerPolygonIdEdgeIndices16Bits=this._dataTextureGenerator.generateTextureFor16BitsEdgeIndices(r,i.edgeIndices16Bits,i.lenEdgeIndices16Bits)),i.lenEdgeIndices32Bits>0&&(n.texturePerPolygonIdEdgeIndices32Bits=this._dataTextureGenerator.generateTextureFor32BitsEdgeIndices(r,i.edgeIndices32Bits,i.lenEdgeIndices32Bits)),n.finalize(),this._buffer=null,this._bucketGeometries={},this._finalized=!0,this._deferredSetFlagsDirty=!1,this._onSceneRendering=this.model.scene.on("rendering",(function(){e._deferredSetFlagsDirty&&e._uploadDeferredFlags(),e._numUpdatesInFrame=0}))}}},{key:"isEmpty",value:function(){return 0===this._numPortions}},{key:"initFlags",value:function(e,t,n){t&Me&&(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++),t&ke&&(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++),t&Ge&&(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++),t&je&&(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++),t&He&&(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++),t&Ve&&(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++),t&Fe&&(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++),t&xe&&(this._numCulledLayerPortions++,this.model.numCulledLayerPortions++),n&&(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++);this._setFlags(e,t,n,true),this._setFlags2(e,t,true)}},{key:"flushInitFlags",value:function(){this._setDeferredFlags(),this._setDeferredFlags2()}},{key:"setVisible",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Me?(this._numVisibleLayerPortions++,this.model.numVisibleLayerPortions++):(this._numVisibleLayerPortions--,this.model.numVisibleLayerPortions--),this._setFlags(e,t,n)}},{key:"setHighlighted",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&ke?(this._numHighlightedLayerPortions++,this.model.numHighlightedLayerPortions++):(this._numHighlightedLayerPortions--,this.model.numHighlightedLayerPortions--),this._setFlags(e,t,n)}},{key:"setXRayed",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ge?(this._numXRayedLayerPortions++,this.model.numXRayedLayerPortions++):(this._numXRayedLayerPortions--,this.model.numXRayedLayerPortions--),this._setFlags(e,t,n)}},{key:"setSelected",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&je?(this._numSelectedLayerPortions++,this.model.numSelectedLayerPortions++):(this._numSelectedLayerPortions--,this.model.numSelectedLayerPortions--),this._setFlags(e,t,n)}},{key:"setEdges",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Ve?(this._numEdgesLayerPortions++,this.model.numEdgesLayerPortions++):(this._numEdgesLayerPortions--,this.model.numEdgesLayerPortions--),this._setFlags(e,t,n)}},{key:"setClippable",value:function(e,t){if(!this._finalized)throw"Not finalized";t&He?(this._numClippableLayerPortions++,this.model.numClippableLayerPortions++):(this._numClippableLayerPortions--,this.model.numClippableLayerPortions--),this._setFlags2(e,t)}},{key:"_beginDeferredFlags",value:function(){this._deferredSetFlagsActive=!0}},{key:"_uploadDeferredFlags",value:function(){if(console.info("_uploadDeferredFlags"),this._deferredSetFlagsActive=!1,this._deferredSetFlagsDirty){this._deferredSetFlagsDirty=!1;var e=this.model.scene.canvas.gl,t=this._dataTextureState;e.bindTexture(e.TEXTURE_2D,t.texturePerObjectColorsAndFlags._texture),e.texSubImage2D(e.TEXTURE_2D,0,0,0,t.texturePerObjectColorsAndFlags._textureWidth,t.texturePerObjectColorsAndFlags._textureHeight,e.RGBA_INTEGER,e.UNSIGNED_BYTE,t.texturePerObjectColorsAndFlags._textureData)}}},{key:"setCulled",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&xe?(this._numCulledLayerPortions+=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions++):(this._numCulledLayerPortions-=this._portionToSubPortionsMap[e].length,this.model.numCulledLayerPortions--),this._setFlags(e,t,n)}},{key:"setCollidable",value:function(e,t){if(!this._finalized)throw"Not finalized"}},{key:"setPickable",value:function(e,t,n){if(!this._finalized)throw"Not finalized";t&Fe?(this._numPickableLayerPortions++,this.model.numPickableLayerPortions++):(this._numPickableLayerPortions--,this.model.numPickableLayerPortions--),this._setFlags(e,t,n)}},{key:"setColor",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),console.info("_subPortionSetColor write through"),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectColorsAndFlags._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*8,Math.floor(e/512),1,1,r.RGBA_INTEGER,r.UNSIGNED_BYTE,bf)}},{key:"setTransparent",value:function(e,t,n){n?(this._numTransparentLayerPortions++,this.model.numTransparentLayerPortions++):(this._numTransparentLayerPortions--,this.model.numTransparentLayerPortions--),this._setFlags(e,t,n)}},{key:"_setFlags",value:function(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this._portionToSubPortionsMap[e],a=0,s=i.length;a3&&void 0!==arguments[3]&&arguments[3];if(!this._finalized)throw"Not finalized";var i,a,s=!!(t&Me),o=!!(t&Ge),l=!!(t&ke),u=!!(t&je),c=!!(t&Ve),f=!!(t&Fe),p=!!(t&xe);i=!s||p||o?Xs.NOT_RENDERED:n?Xs.COLOR_TRANSPARENT:Xs.COLOR_OPAQUE,a=!s||p?Xs.NOT_RENDERED:u?Xs.SILHOUETTE_SELECTED:l?Xs.SILHOUETTE_HIGHLIGHTED:o?Xs.SILHOUETTE_XRAYED:Xs.NOT_RENDERED;var A=0;A=!s||p?Xs.NOT_RENDERED:u?Xs.EDGES_SELECTED:l?Xs.EDGES_HIGHLIGHTED:o?Xs.EDGES_XRAYED:c?n?Xs.EDGES_COLOR_TRANSPARENT:Xs.EDGES_COLOR_OPAQUE:Xs.NOT_RENDERED;var d=s&&f?Xs.PICK:Xs.NOT_RENDERED,v=this._dataTextureState,h=this.model.scene.canvas.gl;bf[0]=i,bf[1]=a,bf[2]=A,bf[3]=d,v.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+8),this._deferredSetFlagsActive||r?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),h.bindTexture(h.TEXTURE_2D,v.texturePerObjectColorsAndFlags._texture),h.texSubImage2D(h.TEXTURE_2D,0,e%512*8+2,Math.floor(e/512),1,1,h.RGBA_INTEGER,h.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags",value:function(){}},{key:"_setFlags2",value:function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=this._portionToSubPortionsMap[e],i=0,a=r.length;i2&&void 0!==arguments[2]&&arguments[2];if(!this._finalized)throw"Not finalized";var r=t&He?255:0,i=this._dataTextureState,a=this.model.scene.canvas.gl;bf[0]=r,bf[1]=0,bf[2]=1,bf[3]=2,i.texturePerObjectColorsAndFlags._textureData.set(bf,32*e+12),this._deferredSetFlagsActive||n?this._deferredSetFlagsDirty=!0:(++this._numUpdatesInFrame>=10&&this._beginDeferredFlags(),a.bindTexture(a.TEXTURE_2D,i.texturePerObjectColorsAndFlags._texture),a.texSubImage2D(a.TEXTURE_2D,0,e%512*8+3,Math.floor(e/512),1,1,a.RGBA_INTEGER,a.UNSIGNED_BYTE,bf))}},{key:"_setDeferredFlags2",value:function(){}},{key:"setOffset",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectOffsets._texture),r.texSubImage2D(r.TEXTURE_2D,0,0,e,1,1,r.RGB,r.FLOAT,Df))}},{key:"setMatrix",value:function(e,t){for(var n=this._portionToSubPortionsMap[e],r=0,i=n.length;r=10&&this._beginDeferredFlags(),r.bindTexture(r.TEXTURE_2D,n.texturePerObjectInstanceMatrices._texture),r.texSubImage2D(r.TEXTURE_2D,0,e%512*4,Math.floor(e/512),4,1,r.RGBA,r.FLOAT,Tf))}},{key:"drawColorOpaque",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),t.withSAO&&this.model.saoEnabled?this._dataTextureRenderers.colorRendererWithSAO&&this._dataTextureRenderers.colorRendererWithSAO.drawLayer(t,this,Xs.COLOR_OPAQUE):this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"_updateBackfaceCull",value:function(e,t){var n=this.model.backfaces||e.sectioned;if(t.backfaces!==n){var r=t.gl;n?r.disable(r.CULL_FACE):r.enable(r.CULL_FACE),t.backfaces=n}}},{key:"drawColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numTransparentLayerPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.colorRenderer&&this._dataTextureRenderers.colorRenderer.drawLayer(t,this,Xs.COLOR_TRANSPARENT))}},{key:"drawDepth",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.depthRenderer&&this._dataTextureRenderers.depthRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&this._numTransparentLayerPortions!==this._numPortions&&this._numXRayedLayerPortions!==this._numPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.normalsRenderer&&this._dataTextureRenderers.normalsRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawSilhouetteXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_XRAYED))}},{key:"drawSilhouetteHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_HIGHLIGHTED))}},{key:"drawSilhouetteSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.silhouetteRenderer&&this._dataTextureRenderers.silhouetteRenderer.drawLayer(t,this,Xs.SILHOUETTE_SELECTED))}},{key:"drawEdgesColorOpaque",value:function(e,t){this.model.scene.logarithmicDepthBufferEnabled?this.model.scene._loggedWarning||(console.log("Edge enhancement for SceneModel data texture layers currently disabled with logarithmic depth buffer"),this.model.scene._loggedWarning=!0):this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_OPAQUE)}},{key:"drawEdgesColorTransparent",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numEdgesLayerPortions&&0!==this._numTransparentLayerPortions&&this._dataTextureRenderers.edgesColorRenderer&&this._dataTextureRenderers.edgesColorRenderer.drawLayer(t,this,Xs.EDGES_COLOR_TRANSPARENT)}},{key:"drawEdgesHighlighted",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numHighlightedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_HIGHLIGHTED)}},{key:"drawEdgesSelected",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numSelectedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_SELECTED)}},{key:"drawEdgesXRayed",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&0!==this._numXRayedLayerPortions&&this._dataTextureRenderers.edgesRenderer&&this._dataTextureRenderers.edgesRenderer.drawLayer(t,this,Xs.EDGES_XRAYED)}},{key:"drawOcclusion",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.occlusionRenderer&&this._dataTextureRenderers.occlusionRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"drawShadow",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.shadowRenderer&&this._dataTextureRenderers.shadowRenderer.drawLayer(t,this,Xs.COLOR_OPAQUE))}},{key:"setPickMatrices",value:function(e,t){}},{key:"drawPickMesh",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickMeshRenderer&&this._dataTextureRenderers.pickMeshRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickDepths",value:function(e,t){0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickDepthRenderer&&this._dataTextureRenderers.pickDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapInitDepthBuf",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.snapDepthBufInitRenderer&&this._dataTextureRenderers.snapDepthBufInitRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawSnapDepths",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.vertexDepthRenderer&&this._dataTextureRenderers.vertexDepthRenderer.drawLayer(t,this,Xs.PICK))}},{key:"drawPickNormals",value:function(e,t){this._numCulledLayerPortions!==this._numPortions&&0!==this._numVisibleLayerPortions&&(this._updateBackfaceCull(e,t),this._dataTextureRenderers.pickNormalsRenderer&&this._dataTextureRenderers.pickNormalsRenderer.drawLayer(t,this,Xs.PICK))}},{key:"destroy",value:function(){if(!this._destroyed){var e=this._state;e.metallicRoughnessBuf&&(e.metallicRoughnessBuf.destroy(),e.metallicRoughnessBuf=null),this.model.scene.off(this._onSceneRendering),e.destroy(),this._destroyed=!0}}}]),e}(),_f=$.vec4(4),Bf=$.vec4(),Of=$.vec4(),Sf=$.vec3([1,0,0]),Nf=$.vec3([0,1,0]),Lf=$.vec3([0,0,1]);$.vec3(3),$.vec3(3);var Mf=$.identityMat4(),xf=function(){function e(t){b(this,e),this._model=t.model,this.id=t.id,this._parentTransform=t.parent,this._childTransforms=[],this._meshes=[],this._scale=new Float32Array([1,1,1]),this._quaternion=$.identityQuaternion(new Float32Array(4)),this._rotation=new Float32Array(3),this._position=new Float32Array(3),this._localMatrix=$.identityMat4(new Float32Array(16)),this._worldMatrix=$.identityMat4(new Float32Array(16)),this._localMatrixDirty=!0,this._worldMatrixDirty=!0,t.matrix?this.matrix=t.matrix:(this.scale=t.scale,this.position=t.position,t.quaternion||(this.rotation=t.rotation)),t.parent&&t.parent._addChildTransform(this)}return P(e,[{key:"_addChildTransform",value:function(e){this._childTransforms.push(e),e._parentTransform=this,e._setWorldMatrixDirty(),e._setAABBDirty()}},{key:"_addMesh",value:function(e){this._meshes.push(e),e.transform=this}},{key:"parentTransform",get:function(){return this._parentTransform}},{key:"meshes",get:function(){return this._meshes}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){this._scale.set(e||[1,1,1]),this._setLocalMatrixDirty(),this._model.glRedraw()}},{key:"matrix",get:function(){return this._localMatrixDirty&&(this._localMatrix||(this._localMatrix=$.identityMat4()),$.composeMat4(this._position,this._quaternion,this._scale,this._localMatrix),this._localMatrixDirty=!1),this._localMatrix},set:function(e){this._localMatrix||(this._localMatrix=$.identityMat4()),this._localMatrix.set(e||Mf),$.decomposeMat4(this._localMatrix,this._position,this._quaternion,this._scale),this._localMatrixDirty=!1,this._transformDirty(),this._model.glRedraw()}},{key:"worldMatrix",get:function(){return this._worldMatrixDirty&&this._buildWorldMatrix(),this._worldMatrix}},{key:"rotate",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(this.quaternion,Bf,Of),this.quaternion=Of,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"rotateOnWorldAxis",value:function(e,t){return _f[0]=e[0],_f[1]=e[1],_f[2]=e[2],_f[3]=t*$.DEGTORAD,$.angleAxisToQuaternion(_f,Bf),$.mulQuaternions(Bf,this.quaternion,Bf),this}},{key:"rotateX",value:function(e){return this.rotate(Sf,e)}},{key:"rotateY",value:function(e){return this.rotate(Nf,e)}},{key:"rotateZ",value:function(e){return this.rotate(Lf,e)}},{key:"translate",value:function(e){return this._position[0]+=e[0],this._position[1]+=e[1],this._position[2]+=e[2],this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateX",value:function(e){return this._position[0]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateY",value:function(e){return this._position[1]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"translateZ",value:function(e){return this._position[2]+=e,this._setLocalMatrixDirty(),this._model.glRedraw(),this}},{key:"_setLocalMatrixDirty",value:function(){this._localMatrixDirty=!0,this._transformDirty()}},{key:"_transformDirty",value:function(){this._worldMatrixDirty=!0;for(var e=0,t=this._childTransforms.length;e0)for(var r=n._meshes,i=0,a=r.length;i0)for(var s=this._meshes,o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._dtxEnabled=r.scene.dtxEnabled&&!1!==i.dtxEnabled,r._enableVertexWelding=!1,r._enableIndexBucketing=!1,r._vboBatchingLayerScratchMemory=Ys(),r._textureTranscoder=i.textureTranscoder||Yu(r.scene.viewer),r._maxGeometryBatchSize=i.maxGeometryBatchSize,r._aabb=$.collapseAABB3(),r._aabbDirty=!0,r._quantizationRanges={},r._vboInstancingLayers={},r._vboBatchingLayers={},r._dtxLayers={},r._meshList=[],r.layerList=[],r._entityList=[],r._geometries={},r._dtxBuckets={},r._textures={},r._textureSets={},r._transforms={},r._meshes={},r._entities={},r._scheduledMeshes={},r.renderFlags=new Gi,r.numGeometries=0,r.numPortions=0,r.numVisibleLayerPortions=0,r.numTransparentLayerPortions=0,r.numXRayedLayerPortions=0,r.numHighlightedLayerPortions=0,r.numSelectedLayerPortions=0,r.numEdgesLayerPortions=0,r.numPickableLayerPortions=0,r.numClippableLayerPortions=0,r.numCulledLayerPortions=0,r.numEntities=0,r._numTriangles=0,r._numLines=0,r._numPoints=0,r._edgeThreshold=i.edgeThreshold||10,r._origin=$.vec3(i.origin||[0,0,0]),r._position=$.vec3(i.position||[0,0,0]),r._rotation=$.vec3(i.rotation||[0,0,0]),r._quaternion=$.vec4(i.quaternion||[0,0,0,1]),r._conjugateQuaternion=$.vec4(i.quaternion||[0,0,0,1]),i.rotation&&$.eulerToQuaternion(r._rotation,"XYZ",r._quaternion),r._scale=$.vec3(i.scale||[1,1,1]),r._worldRotationMatrix=$.mat4(),r._worldRotationMatrixConjugate=$.mat4(),r._matrix=$.mat4(),r._matrixDirty=!0,r._rebuildMatrices(),r._worldNormalMatrix=$.mat4(),$.inverseMat4(r._matrix,r._worldNormalMatrix),$.transposeMat4(r._worldNormalMatrix),(i.matrix||i.position||i.rotation||i.scale||i.quaternion)&&(r._viewMatrix=$.mat4(),r._viewNormalMatrix=$.mat4(),r._viewMatrixDirty=!0,r._matrixNonIdentity=!0),r._opacity=1,r._colorize=[1,1,1],r._saoEnabled=!1!==i.saoEnabled,r._pbrEnabled=!1!==i.pbrEnabled,r._colorTextureEnabled=!1!==i.colorTextureEnabled,r._isModel=i.isModel,r._isModel&&r.scene._registerModel(g(r)),r._onCameraViewMatrix=r.scene.camera.on("matrix",(function(){r._viewMatrixDirty=!0})),r._meshesWithDirtyMatrices=[],r._numMeshesWithDirtyMatrices=0,r._onTick=r.scene.on("tick",(function(){for(;r._numMeshesWithDirtyMatrices>0;)r._meshesWithDirtyMatrices[--r._numMeshesWithDirtyMatrices]._updateMatrix()})),r._createDefaultTextureSet(),r.visible=i.visible,r.culled=i.culled,r.pickable=i.pickable,r.clippable=i.clippable,r.collidable=i.collidable,r.castsShadow=i.castsShadow,r.receivesShadow=i.receivesShadow,r.xrayed=i.xrayed,r.highlighted=i.highlighted,r.selected=i.selected,r.edges=i.edges,r.colorize=i.colorize,r.opacity=i.opacity,r.backfaces=i.backfaces,r}return P(n,[{key:"_meshMatrixDirty",value:function(e){this._meshesWithDirtyMatrices[this._numMeshesWithDirtyMatrices++]=e}},{key:"_createDefaultTextureSet",value:function(){var e=new Fu({id:"defaultColorTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})}),t=new Fu({id:"defaultMetalRoughTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,1,1,1]})}),n=new Fu({id:"defaultNormalsTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,0]})}),r=new Fu({id:"defaultEmissiveTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[0,0,0,1]})}),i=new Fu({id:"defaultOcclusionTexture",texture:new ba({gl:this.scene.canvas.gl,preloadColor:[1,1,1,1]})});this._textures.defaultColorTexture=e,this._textures.defaultMetalRoughTexture=t,this._textures.defaultNormalsTexture=n,this._textures.defaultEmissiveTexture=r,this._textures.defaultOcclusionTexture=i,this._textureSets.defaultTextureSet=new xu({id:"defaultTextureSet",model:this,colorTexture:e,metallicRoughnessTexture:t,normalsTexture:n,emissiveTexture:r,occlusionTexture:i})}},{key:"isPerformanceModel",get:function(){return!0}},{key:"transforms",get:function(){return this._transforms}},{key:"textures",get:function(){return this._textures}},{key:"textureSets",get:function(){return this._textureSets}},{key:"meshes",get:function(){return this._meshes}},{key:"objects",get:function(){return this._entities}},{key:"origin",get:function(){return this._origin}},{key:"position",get:function(){return this._position},set:function(e){this._position.set(e||[0,0,0]),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotation",get:function(){return this._rotation},set:function(e){this._rotation.set(e||[0,0,0]),$.eulerToQuaternion(this._rotation,"XYZ",this._quaternion),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"quaternion",get:function(){return this._quaternion},set:function(e){this._quaternion.set(e||[0,0,0,1]),$.quaternionToEuler(this._quaternion,"XYZ",this._rotation),this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"scale",get:function(){return this._scale},set:function(e){}},{key:"matrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._matrix},set:function(e){this._matrix.set(e||Vf),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1,this._setWorldMatrixDirty(),this._sceneModelDirty(),this.glRedraw()}},{key:"rotationMatrix",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrix}},{key:"_rebuildMatrices",value:function(){this._matrixDirty&&($.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrix),$.conjugateQuaternion(this._quaternion,this._conjugateQuaternion),$.quaternionToRotationMat4(this._quaternion,this._worldRotationMatrixConjugate),this._matrix.set(this._worldRotationMatrix),$.translateMat4v(this._position,this._matrix),this._matrixDirty=!1)}},{key:"rotationMatrixConjugate",get:function(){return this._matrixDirty&&this._rebuildMatrices(),this._worldRotationMatrixConjugate}},{key:"_setWorldMatrixDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0}},{key:"_transformDirty",value:function(){this._matrixDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0}},{key:"_sceneModelDirty",value:function(){this.scene._aabbDirty=!0,this._aabbDirty=!0,this.scene._aabbDirty=!0,this._matrixDirty=!0;for(var e=0,t=this._entityList.length;e0},set:function(e){e=!1!==e,this._visible=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._xrayed=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._highlighted=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._selected=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!!e,this._edges=e;for(var t=0,n=this._entityList.length;t0},set:function(e){e=!1!==e,this._pickable=e;for(var t=0,n=this._entityList.length;t0)e.colorsCompressed=new Uint8Array(e.colorsCompressed);else if(e.colors&&e.colors.length>0){for(var o=e.colors,l=new Uint8Array(o.length),u=0,c=o.length;u>24&255,i=n>>16&255,a=n>>8&255,s=255&n;switch(e.pickColor=new Uint8Array([s,a,i,r]),e.solid="solid"===e.primitive,t.origin=$.vec3(e.origin),e.type){case 2:t.layer=this._getDTXLayer(e),t.aabb=e.aabb;break;case 1:t.layer=this._getVBOBatchingLayer(e),t.aabb=e.aabb;break;case 0:t.layer=this._getVBOInstancingLayer(e),t.aabb=e.aabb}return e.transform&&(e.meshMatrix=e.transform.worldMatrix),t.portionId=t.layer.createPortion(t,e),this._meshes[e.id]=t,this._meshList.push(t),t}},{key:"_getNumPrimitives",value:function(e){var t=0;switch(e.geometry?e.geometry.primitive:e.primitive){case"triangles":case"solid":case"surface":switch(e.type){case 2:for(var n=0,r=e.buckets.length;n>>0).toString(16)}},{key:"_getVBOInstancingLayer",value:function(e){var t=this,n=e.origin,r=e.textureSetId||"-",i=e.geometryId,a="".concat(Math.round(n[0]),".").concat(Math.round(n[1]),".").concat(Math.round(n[2]),".").concat(r,".").concat(i),s=this._vboInstancingLayers[a];if(s)return s;for(var o=e.textureSet,l=e.geometry;!s;)switch(l.primitive){case"triangles":case"surface":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!1});break;case"solid":s=new Jl({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0,solid:!0});break;case"lines":s=new pu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0});break;case"points":s=new Mu({model:t,textureSet:o,geometry:l,origin:n,layerIndex:0})}return this._vboInstancingLayers[a]=s,this.layerList.push(s),s}},{key:"createEntity",value:function(e){if(void 0===e.id?e.id=$.createUUID():this.scene.components[e.id]&&(this.error("Scene already has a Component with this ID: ".concat(e.id," - will assign random ID")),e.id=$.createUUID()),void 0!==e.meshIds){var t=0;this._visible&&!1!==e.visible&&(t|=Me),this._pickable&&!1!==e.pickable&&(t|=Fe),this._culled&&!1!==e.culled&&(t|=xe),this._clippable&&!1!==e.clippable&&(t|=He),this._collidable&&!1!==e.collidable&&(t|=Ue),this._edges&&!1!==e.edges&&(t|=Ve),this._xrayed&&!1!==e.xrayed&&(t|=Ge),this._highlighted&&!1!==e.highlighted&&(t|=ke),this._selected&&!1!==e.selected&&(t|=je),e.flags=t,this._createEntity(e)}else this.error("Config missing: meshIds")}},{key:"_createEntity",value:function(e){for(var t=[],n=0,r=e.meshIds.length;nt.sortId?1:0}));for(var s=0,o=this.layerList.length;s0&&0===this.renderFlags.numVisibleLayers?this.renderFlags.culled=!0:this._updateRenderFlags()}},{key:"_updateRenderFlagsVisibleLayers",value:function(){var e=this.renderFlags;e.numLayers=this.layerList.length,e.numVisibleLayers=0;for(var t=0,n=this.layerList.length;t0)for(var a=0;a0&&(e.colorTransparent=!0),this.numXRayedLayerPortions>0){var t=this.scene.xrayMaterial._state;t.fill&&(t.fillAlpha<1?e.xrayedSilhouetteTransparent=!0:e.xrayedSilhouetteOpaque=!0),t.edges&&(t.edgeAlpha<1?e.xrayedEdgesTransparent=!0:e.xrayedEdgesOpaque=!0)}if(this.numEdgesLayerPortions>0)this.scene.edgeMaterial._state.edges&&(e.edgesOpaque=this.numTransparentLayerPortions0&&(e.edgesTransparent=!0));if(this.numSelectedLayerPortions>0){var n=this.scene.selectedMaterial._state;n.fill&&(n.fillAlpha<1?e.selectedSilhouetteTransparent=!0:e.selectedSilhouetteOpaque=!0),n.edges&&(n.edgeAlpha<1?e.selectedEdgesTransparent=!0:e.selectedEdgesOpaque=!0)}if(this.numHighlightedLayerPortions>0){var r=this.scene.highlightMaterial._state;r.fill&&(r.fillAlpha<1?e.highlightedSilhouetteTransparent=!0:e.highlightedSilhouetteOpaque=!0),r.edges&&(r.edgeAlpha<1?e.highlightedEdgesTransparent=!0:e.highlightedEdgesOpaque=!0)}}}},{key:"drawColorOpaque",value:function(e){for(var t=this.renderFlags,n=0,r=t.visibleLayers.length;n2&&void 0!==arguments[2]&&arguments[2],r=e.positionsCompressed||[],i=tc(e.indices||[],t),a=ic(e.edgeIndices||[]);function s(e,t){if(e>t){var n=e;e=t,t=n}function r(n,r){return n!==e?e-n:r!==t?t-r:0}for(var i=0,s=(a.length>>1)-1;i<=s;){var o=s+i>>1,l=r(a[2*o],a[2*o+1]);if(l>0)i=o+1;else{if(!(l<0))return o;s=o-1}}return-i-1}var o=new Int32Array(a.length/2);o.fill(0);var l=r.length/3;if(l>8*(1<p.maxNumPositions&&(p=f()),p.bucketNumber>8)return[e];-1===u[h]&&(u[h]=p.numPositions++,p.positionsCompressed.push(r[3*h]),p.positionsCompressed.push(r[3*h+1]),p.positionsCompressed.push(r[3*h+2])),-1===u[I]&&(u[I]=p.numPositions++,p.positionsCompressed.push(r[3*I]),p.positionsCompressed.push(r[3*I+1]),p.positionsCompressed.push(r[3*I+2])),-1===u[y]&&(u[y]=p.numPositions++,p.positionsCompressed.push(r[3*y]),p.positionsCompressed.push(r[3*y+1]),p.positionsCompressed.push(r[3*y+2])),p.indices.push(u[h]),p.indices.push(u[I]),p.indices.push(u[y]);var m=void 0;(m=s(h,I))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(h,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]])),(m=s(I,y))>=0&&0===o[m]&&(o[m]=1,p.edgeIndices.push(u[a[2*m]]),p.edgeIndices.push(u[a[2*m+1]]))}var w=t/8*2,g=t/8,E=2*r.length+(i.length+a.length)*w,T=0;return r.length,c.forEach((function(e){T+=2*e.positionsCompressed.length+(e.indices.length+e.edgeIndices.length)*g,e.positionsCompressed.length})),T>E?[e]:(n&&ac(c,e),c)}({positionsCompressed:r,indices:i,edgeIndices:a},r.length/3>65536?16:8):s=[{positionsCompressed:r,indices:i,edgeIndices:a}];return s}var Kf=function(e){I(n,Wf);var t=m(n);function n(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),t.call(this,e,r)}return P(n)}(),Yf=function(e){I(n,ye);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,e,i))._skyboxMesh=new Ji(g(r),{geometry:new Cn(g(r),{primitive:"triangles",positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),background:!0,scale:[2e3,2e3,2e3],rotation:[0,-90,0],material:new Nn(g(r),{ambient:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],emissive:[1,1,1],emissiveMap:new Ba(g(r),{src:i.src,flipY:!0,wrapS:"clampToEdge",wrapT:"clampToEdge",encoding:i.encoding||"sRGB"}),backfaces:!0}),visible:!1,pickable:!1,clippable:!1,collidable:!1}),r.size=i.size,r.active=i.active,r}return P(n,[{key:"size",get:function(){return this._size},set:function(e){this._size=e||1e3,this._skyboxMesh.scale=[this._size,this._size,this._size]}},{key:"active",get:function(){return this._skyboxMesh.visible},set:function(e){this._skyboxMesh.visible=e}}]),n}(),Xf=function(){function e(){b(this,e)}return P(e,[{key:"transcode",value:function(e,t){}},{key:"destroy",value:function(){}}]),e}(),qf=$.vec4(),Jf=$.vec4(),Zf=$.vec3(),$f=$.vec3(),ep=$.vec3(),tp=$.vec4(),np=$.vec4(),rp=$.vec4(),ip=function(){function e(t){b(this,e),this._scene=t}return P(e,[{key:"dollyToCanvasPos",value:function(e,t,n){var r=!1,i=this._scene.camera;if(e){var a=$.subVec3(e,i.eye,Zf);r=$.lenVec3(a)0&&void 0!==arguments[0]?arguments[0]:{};this.destroyPivotSphere(),this._pivotSphereEnabled=!0,e.size&&(this._pivotSphereSize=e.size);var t=e.color||[1,0,0];this._pivotSphereMaterial=new Nn(this._scene,{emissive:t,ambient:t,specular:[0,0,0],diffuse:[0,0,0]})}},{key:"disablePivotSphere",value:function(){this.destroyPivotSphere(),this._pivotSphereEnabled=!1}},{key:"startPivot",value:function(){if(this._cameraLookingDownwards())return this._pivoting=!1,!1;var e=this._scene.camera,t=$.lookAtMat4v(e.eye,e.look,e.worldUp);$.transformPoint3(t,this.getPivotPos(),this._cameraOffset);var n=this.getPivotPos();this._cameraOffset[2]+=$.distVec3(e.eye,n),t=$.inverseMat4(t);var r=$.transformVec3(t,this._cameraOffset),i=$.vec3();if($.subVec3(e.eye,n,i),$.addVec3(i,r),e.zUp){var a=i[1];i[1]=i[2],i[2]=a}this._radius=$.lenVec3(i),this._polar=Math.acos(i[1]/this._radius),this._azimuth=Math.atan2(i[0],i[2]),this._pivoting=!0}},{key:"_cameraLookingDownwards",value:function(){var e=this._scene.camera,t=$.normalizeVec3($.subVec3(e.look,e.eye,ap)),n=$.cross3Vec3(t,e.worldUp,sp);return $.sqLenVec3(n)<=1e-4}},{key:"getPivoting",value:function(){return this._pivoting}},{key:"setPivotPos",value:function(e){this._pivotWorldPos.set(e),this._pivotPosSet=!0}},{key:"setCanvasPivotPos",value:function(e){var t=this._scene.camera,n=Math.abs($.distVec3(this._scene.center,t.eye)),r=t.project.transposedMatrix,i=r.subarray(8,12),a=r.subarray(12),s=[0,0,-1,1],o=$.dotVec4(s,i)/$.dotVec4(s,a),l=lp;t.project.unproject(e,o,up,cp,l);var u=$.normalizeVec3($.subVec3(l,t.eye,ap)),c=$.addVec3(t.eye,$.mulVec3Scalar(u,n,sp),op);this.setPivotPos(c)}},{key:"getPivotPos",value:function(){return this._pivotPosSet?this._pivotWorldPos:this._scene.camera.look}},{key:"continuePivot",value:function(e,t){if(this._pivoting&&(0!==e||0!==t)){var n=this._scene.camera,r=-e,i=-t;1===n.worldUp[2]&&(r=-r),this._azimuth+=.01*-r,this._polar+=.01*i,this._polar=$.clamp(this._polar,.001,Math.PI-.001);var a=[this._radius*Math.sin(this._polar)*Math.sin(this._azimuth),this._radius*Math.cos(this._polar),this._radius*Math.sin(this._polar)*Math.cos(this._azimuth)];if(1===n.worldUp[2]){var s=a[1];a[1]=a[2],a[2]=s}var o=$.lenVec3($.subVec3(n.look,n.eye,$.vec3())),l=this.getPivotPos();$.addVec3(a,l);var u=$.lookAtMat4v(a,l,n.worldUp);u=$.inverseMat4(u);var c=$.transformVec3(u,this._cameraOffset);u[12]-=c[0],u[13]-=c[1],u[14]-=c[2];var f=[u[8],u[9],u[10]];n.eye=[u[12],u[13],u[14]],$.subVec3(n.eye,$.mulVec3Scalar(f,o),n.look),n.up=[u[4],u[5],u[6]],this.showPivot()}}},{key:"showPivot",value:function(){this._shown||(this._pivotElement&&(this.updatePivotElement(),this._pivotElement.style.visibility="visible"),this._pivotSphereEnabled&&(this.destroyPivotSphere(),this.createPivotSphere()),this._shown=!0)}},{key:"hidePivot",value:function(){this._shown&&(this._pivotElement&&(this._pivotElement.style.visibility="hidden"),this._pivotSphereEnabled&&this.destroyPivotSphere(),this._shown=!1)}},{key:"endPivot",value:function(){this._pivoting=!1}},{key:"destroy",value:function(){this.destroyPivotSphere(),this._scene.camera.off(this._onViewMatrix),this._scene.camera.off(this._onProjMatrix),this._scene.off(this._onTick)}}]),e}(),pp=function(){function e(t,n){b(this,e),this._scene=t.scene,this._cameraControl=t,this._scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},this._configs=n,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick=!1,this.pickCursorPos=$.vec2(),this.picked=!1,this.pickedSurface=!1,this.pickResult=null,this._lastPickedEntityId=null,this._lastHash=null,this._needFireEvents=0}return P(e,[{key:"update",value:function(){if(this._configs.pointerEnabled&&(this.schedulePickEntity||this.schedulePickSurface)){var e="".concat(~~this.pickCursorPos[0],"-").concat(~~this.pickCursorPos[1],"-").concat(this.scheduleSnapOrPick,"-").concat(this.schedulePickSurface,"-").concat(this.schedulePickEntity);if(this._lastHash!==e){this.picked=!1,this.pickedSurface=!1,this.snappedOrPicked=!1,this.hoveredSnappedOrSurfaceOff=!1;var t=this._cameraControl.hasSubs("hoverSurface");if(this.scheduleSnapOrPick){var n=this._scene.pick({canvasPos:this.pickCursorPos,snapRadius:this._configs.snapRadius,snapToVertex:this._configs.snapToVertex,snapToEdge:this._configs.snapToEdge});n&&(n.snappedToEdge||n.snappedToVertex)?(this.snapPickResult=n,this.snappedOrPicked=!0,this._needFireEvents++):(this.schedulePickSurface=!0,this.snapPickResult=null)}if(this.schedulePickSurface&&this.pickResult&&this.pickResult.worldPos){var r=this.pickResult.canvasPos;if(r[0]===this.pickCursorPos[0]&&r[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!0,this._needFireEvents+=t?1:0,this.schedulePickEntity=!1,this.schedulePickSurface=!1,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.hoveredSnappedOrSurfaceOff=!0,void(this.scheduleSnapOrPick=!1)}if(this.schedulePickEntity&&this.pickResult&&(this.pickResult.canvasPos||this.pickResult.snappedCanvasPos)){var i=this.pickResult.canvasPos||this.pickResult.snappedCanvasPos;if(i[0]===this.pickCursorPos[0]&&i[1]===this.pickCursorPos[1])return this.picked=!0,this.pickedSurface=!1,this.schedulePickEntity=!1,void(this.schedulePickSurface=!1)}this.schedulePickSurface||this.scheduleSnapOrPick&&!this.snapPickResult?(this.pickResult=this._scene.pick({pickSurface:!0,pickSurfaceNormal:!1,canvasPos:this.pickCursorPos}),this.pickResult?(this.picked=!0,this.scheduleSnapOrPick?this.snappedOrPicked=!0:this.pickedSurface=!0,this._needFireEvents++):this.scheduleSnapOrPick&&(this.hoveredSnappedOrSurfaceOff=!0,this._needFireEvents++)):(this.pickResult=this._scene.pick({canvasPos:this.pickCursorPos}),this.pickResult&&(this.picked=!0,this.pickedSurface=!1,this._needFireEvents++)),this.scheduleSnapOrPick=!1,this.schedulePickEntity=!1,this.schedulePickSurface=!1}}}},{key:"fireEvents",value:function(){if(0!==this._needFireEvents){if(this.hoveredSnappedOrSurfaceOff&&this._cameraControl.fire("hoverSnapOrSurfaceOff",{canvasPos:this.pickCursorPos,pointerPos:this.pickCursorPos},!0),this.snappedOrPicked)if(this.snapPickResult){var e=new It;e.snappedToVertex=this.snapPickResult.snappedToVertex,e.snappedToEdge=this.snapPickResult.snappedToEdge,e.worldPos=this.snapPickResult.worldPos,e.canvasPos=this.pickCursorPos,e.snappedCanvasPos=this.snapPickResult.snappedCanvasPos,this._cameraControl.fire("hoverSnapOrSurface",e,!0),this.snapPickResult=null}else this._cameraControl.fire("hoverSnapOrSurface",this.pickResult,!0);if(this.picked&&this.pickResult&&(this.pickResult.entity||this.pickResult.worldPos)){if(this.pickResult.entity){var t=this.pickResult.entity.id;this._lastPickedEntityId!==t&&(void 0!==this._lastPickedEntityId&&this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._cameraControl.fire("hoverEnter",this.pickResult,!0),this._lastPickedEntityId=t)}this._cameraControl.fire("hover",this.pickResult,!0),this.pickResult.worldPos&&(this.pickedSurface=!0,this._cameraControl.fire("hoverSurface",this.pickResult,!0))}else void 0!==this._lastPickedEntityId&&(this._cameraControl.fire("hoverOut",{entity:this._scene.objects[this._lastPickedEntityId]},!0),this._lastPickedEntityId=void 0),this._cameraControl.fire("hoverOff",{canvasPos:this.pickCursorPos},!0);this.pickResult=null,this._needFireEvents=0}}}]),e}(),Ap=$.vec2(),dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s,o,l,u=n.pickController,c=0,f=0,p=0,A=0,d=!1,v=$.vec3(),h=!0,I=this._scene.canvas.canvas,y=[];function m(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];I.style.cursor="move",w(),e&&g()}function w(){c=i.pointerCanvasPos[0],f=i.pointerCanvasPos[1],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1]}function g(){u.pickCursorPos=i.pointerCanvasPos,u.schedulePickSurface=!0,u.update(),u.picked&&u.pickedSurface&&u.pickResult&&u.pickResult.worldPos?(d=!0,v.set(u.pickResult.worldPos)):d=!1}document.addEventListener("keydown",this._documentKeyDownHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!0}}),document.addEventListener("keyup",this._documentKeyUpHandler=function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled){var n=e.keyCode;y[n]=!1}}),I.addEventListener("mousedown",this._mouseDownHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:y[t.input.KEY_SHIFT]||r.planView?(s=!0,m()):(s=!0,m(!1));break;case 2:o=!0,m();break;case 3:l=!0,r.panRightClick&&m()}}),document.addEventListener("mousemove",this._documentMouseMoveHandler=function(){if(r.active&&r.pointerEnabled&&(s||o||l)){var e=t.canvas.boundary,n=e[2],u=e[3],p=i.pointerCanvasPos[0],A=i.pointerCanvasPos[1];if(y[t.input.KEY_SHIFT]||r.planView||!r.panRightClick&&o||r.panRightClick&&l){var h=p-c,I=A-f,m=t.camera;if("perspective"===m.projection){var w=Math.abs(d?$.lenVec3($.subVec3(v,t.camera.eye,[])):t.camera.eyeLookDist)*Math.tan(m.perspective.fov/2*Math.PI/180);a.panDeltaX+=1.5*h*w/u,a.panDeltaY+=1.5*I*w/u}else a.panDeltaX+=.5*m.ortho.scale*(h/u),a.panDeltaY+=.5*m.ortho.scale*(I/u)}else!s||o||l||r.planView||(r.firstPerson?(a.rotateDeltaY-=(p-c)/n*r.dragRotationRate/2,a.rotateDeltaX+=(A-f)/u*(r.dragRotationRate/4)):(a.rotateDeltaY-=(p-c)/n*(1.5*r.dragRotationRate),a.rotateDeltaX+=(A-f)/u*(1.5*r.dragRotationRate)));c=p,f=A}}),I.addEventListener("mousemove",this._canvasMouseMoveHandler=function(e){r.active&&r.pointerEnabled&&i.mouseover&&(h=!0)}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){if(r.active&&r.pointerEnabled)switch(e.which){case 1:case 2:case 3:s=!1,o=!1,l=!1}}),I.addEventListener("mouseup",this._mouseUpHandler=function(e){if(r.active&&r.pointerEnabled){if(3===e.which){!function(e,t){if(e){for(var n=e.target,r=0,i=0,a=0,s=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,a+=n.scrollLeft,s+=n.scrollTop,n=n.offsetParent;t[0]=e.pageX+a-r,t[1]=e.pageY+s-i}else e=window.event,t[0]=e.x,t[1]=e.y}(e,Ap);var t=Ap[0],i=Ap[1];Math.abs(t-p)<3&&Math.abs(i-A)<3&&n.cameraControl.fire("rightClick",{pagePos:[Math.round(e.pageX),Math.round(e.pageY)],canvasPos:Ap,event:e},!0)}I.style.removeProperty("cursor")}}),I.addEventListener("mouseenter",this._mouseEnterHandler=function(){r.active&&r.pointerEnabled});var E=1/60,T=null;I.addEventListener("wheel",this._mouseWheelHandler=function(e){if(r.active&&r.pointerEnabled){var t=performance.now()/1e3,n=null!==T?t-T:0;T=t,n>.05&&(n=.05),n0?n.cameraFlight.flyTo(wp,(function(){n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot()})):(n.cameraFlight.jumpTo(wp),n.pivotController.getPivoting()&&r.followPointer&&n.pivotController.showPivot())}}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.input.off(this._onSceneKeyDown)}}]),e}(),Ep=function(){function e(t,n,r,i,a){var s=this;b(this,e),this._scene=t;var o=n.pickController,l=n.pivotController,u=n.cameraControl;this._clicks=0,this._timeout=null,this._lastPickedEntityId=null;var c=!1,f=!1,p=this._scene.canvas.canvas,A=function(e){var r;e&&e.worldPos&&(r=e.worldPos);var i=e&&e.entity?e.entity.aabb:t.aabb;if(r){var a=t.camera;$.subVec3(a.eye,a.look,[]),n.cameraFlight.flyTo({aabb:i})}else n.cameraFlight.flyTo({aabb:i})},d=t.tickify(this._canvasMouseMoveHandler=function(e){if(r.active&&r.pointerEnabled&&!c&&!f){var n=u.hasSubs("hover"),a=u.hasSubs("hoverEnter"),l=u.hasSubs("hoverOut"),p=u.hasSubs("hoverOff"),A=u.hasSubs("hoverSurface"),d=u.hasSubs("hoverSnapOrSurface");if(n||a||l||p||A||d)if(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=A,o.scheduleSnapOrPick=d,o.update(),o.pickResult){if(o.pickResult.entity){var v=o.pickResult.entity.id;s._lastPickedEntityId!==v&&(void 0!==s._lastPickedEntityId&&u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),u.fire("hoverEnter",o.pickResult,!0),s._lastPickedEntityId=v)}u.fire("hover",o.pickResult,!0),(o.pickResult.worldPos||o.pickResult.snappedWorldPos)&&u.fire("hoverSurface",o.pickResult,!0)}else void 0!==s._lastPickedEntityId&&(u.fire("hoverOut",{entity:t.objects[s._lastPickedEntityId]},!0),s._lastPickedEntityId=void 0),u.fire("hoverOff",{canvasPos:o.pickCursorPos},!0)}});p.addEventListener("mousemove",d),p.addEventListener("mousedown",this._canvasMouseDownHandler=function(e){if(1===e.which&&(c=!0),3===e.which&&(f=!0),1===e.which&&r.active&&r.pointerEnabled&&(i.mouseDownClientX=e.clientX,i.mouseDownClientY=e.clientY,i.mouseDownCursorX=i.pointerCanvasPos[0],i.mouseDownCursorY=i.pointerCanvasPos[1],!r.firstPerson&&r.followPointer&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),1===e.which))){var n=o.pickResult;n&&n.worldPos?(l.setPivotPos(n.worldPos),l.startPivot()):(r.smartPivot?l.setCanvasPivotPos(i.pointerCanvasPos):l.setPivotPos(t.camera.look),l.startPivot())}}),document.addEventListener("mouseup",this._documentMouseUpHandler=function(e){1===e.which&&(c=!1),3===e.which&&(f=!1),l.getPivoting()&&l.endPivot()}),p.addEventListener("mouseup",this._canvasMouseUpHandler=function(e){if(r.active&&r.pointerEnabled&&(1===e.which&&(l.hidePivot(),!(Math.abs(e.clientX-i.mouseDownClientX)>3||Math.abs(e.clientY-i.mouseDownClientY)>3)))){var a=u.hasSubs("picked"),c=u.hasSubs("pickedNothing"),f=u.hasSubs("pickedSurface"),p=u.hasSubs("doublePicked"),d=u.hasSubs("doublePickedSurface"),v=u.hasSubs("doublePickedNothing");if(!(r.doublePickFlyTo||p||d||v))return(a||c||f)&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=!0,o.schedulePickSurface=f,o.update(),o.pickResult?(u.fire("picked",o.pickResult,!0),o.pickedSurface&&u.fire("pickedSurface",o.pickResult,!0)):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0)),void(s._clicks=0);if(s._clicks++,1===s._clicks){o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo,o.schedulePickSurface=f,o.update();var h=o.pickResult,I=o.pickedSurface;s._timeout=setTimeout((function(){h?(u.fire("picked",h,!0),I&&(u.fire("pickedSurface",h,!0),!r.firstPerson&&r.followPointer&&(n.pivotController.setPivotPos(h.worldPos),n.pivotController.startPivot()&&n.pivotController.showPivot()))):u.fire("pickedNothing",{canvasPos:i.pointerCanvasPos},!0),s._clicks=0}),r.doubleClickTimeFrame)}else{if(null!==s._timeout&&(window.clearTimeout(s._timeout),s._timeout=null),o.pickCursorPos=i.pointerCanvasPos,o.schedulePickEntity=r.doublePickFlyTo||p||d,o.schedulePickSurface=o.schedulePickEntity&&d,o.update(),o.pickResult){if(u.fire("doublePicked",o.pickResult,!0),o.pickedSurface&&u.fire("doublePickedSurface",o.pickResult,!0),r.doublePickFlyTo&&(A(o.pickResult),!r.firstPerson&&r.followPointer)){var y=o.pickResult.entity.aabb,m=$.getAABB3Center(y);n.pivotController.setPivotPos(m),n.pivotController.startPivot()&&n.pivotController.showPivot()}}else if(u.fire("doublePickedNothing",{canvasPos:i.pointerCanvasPos},!0),r.doublePickFlyTo&&(A(),!r.firstPerson&&r.followPointer)){var w=t.aabb,g=$.getAABB3Center(w);n.pivotController.setPivotPos(g),n.pivotController.startPivot()&&n.pivotController.showPivot()}s._clicks=0}}},!1)}return P(e,[{key:"reset",value:function(){this._clicks=0,this._lastPickedEntityId=null,this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}},{key:"destroy",value:function(){var e=this._scene.canvas.canvas;e.removeEventListener("mousemove",this._canvasMouseMoveHandler),e.removeEventListener("mousedown",this._canvasMouseDownHandler),document.removeEventListener("mouseup",this._documentMouseUpHandler),e.removeEventListener("mouseup",this._canvasMouseUpHandler),this._timeout&&(window.clearTimeout(this._timeout),this._timeout=null)}}]),e}(),Tp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.input,o=[],l=t.canvas.canvas,u=!0;this._onSceneMouseMove=s.on("mousemove",(function(){u=!0})),this._onSceneKeyDown=s.on("keydown",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover&&(o[e]=!0,e===s.KEY_SHIFT&&(l.style.cursor="move"))})),this._onSceneKeyUp=s.on("keyup",(function(e){r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&(o[e]=!1,e===s.KEY_SHIFT&&(l.style.cursor=null),n.pivotController.getPivoting()&&n.pivotController.endPivot())})),this._onTick=t.on("tick",(function(e){if(r.active&&r.pointerEnabled&&t.input.keyboardEnabled&&i.mouseover){var l=n.cameraControl,c=e.deltaTime/1e3;if(!r.planView){var f=l._isKeyDownForAction(l.ROTATE_Y_POS,o),p=l._isKeyDownForAction(l.ROTATE_Y_NEG,o),A=l._isKeyDownForAction(l.ROTATE_X_POS,o),d=l._isKeyDownForAction(l.ROTATE_X_NEG,o),v=c*r.keyboardRotationRate;(f||p||A||d)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),f?a.rotateDeltaY+=v:p&&(a.rotateDeltaY-=v),A?a.rotateDeltaX+=v:d&&(a.rotateDeltaX-=v),!r.firstPerson&&r.followPointer&&n.pivotController.startPivot())}if(!o[s.KEY_CTRL]&&!o[s.KEY_ALT]){var h=l._isKeyDownForAction(l.DOLLY_BACKWARDS,o),I=l._isKeyDownForAction(l.DOLLY_FORWARDS,o);if(h||I){var y=c*r.keyboardDollyRate;!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),I?a.dollyDelta-=y:h&&(a.dollyDelta+=y),u&&(i.followPointerDirty=!0,u=!1)}}var m=l._isKeyDownForAction(l.PAN_FORWARDS,o),w=l._isKeyDownForAction(l.PAN_BACKWARDS,o),g=l._isKeyDownForAction(l.PAN_LEFT,o),E=l._isKeyDownForAction(l.PAN_RIGHT,o),T=l._isKeyDownForAction(l.PAN_UP,o),b=l._isKeyDownForAction(l.PAN_DOWN,o),D=(o[s.KEY_ALT]?.3:1)*c*r.keyboardPanRate;(m||w||g||E||T||b)&&(!r.firstPerson&&r.followPointer&&n.pivotController.startPivot(),b?a.panDeltaY+=D:T&&(a.panDeltaY+=-D),E?a.panDeltaX+=-D:g&&(a.panDeltaX+=D),w?a.panDeltaZ+=D:m&&(a.panDeltaZ+=-D))}}))}return P(e,[{key:"reset",value:function(){}},{key:"destroy",value:function(){this._scene.off(this._onTick),this._scene.input.off(this._onSceneMouseMove),this._scene.input.off(this._onSceneKeyDown),this._scene.input.off(this._onSceneKeyUp)}}]),e}(),bp=$.vec3(),Dp=function(){function e(t,n,r,i,a){b(this,e),this._scene=t;var s=t.camera,o=n.pickController,l=n.pivotController,u=n.panController,c=1,f=1,p=null;this._onTick=t.on("tick",(function(){if(r.active&&r.pointerEnabled){var e="default";if(Math.abs(a.dollyDelta)<.001&&(a.dollyDelta=0),Math.abs(a.rotateDeltaX)<.001&&(a.rotateDeltaX=0),Math.abs(a.rotateDeltaY)<.001&&(a.rotateDeltaY=0),0===a.rotateDeltaX&&0===a.rotateDeltaY||(a.dollyDelta=0),r.followPointer&&--c<=0&&(c=1,0!==a.dollyDelta)){if(0===a.rotateDeltaY&&0===a.rotateDeltaX&&r.followPointer&&i.followPointerDirty&&(o.pickCursorPos=i.pointerCanvasPos,o.schedulePickSurface=!0,o.update(),o.pickResult&&o.pickResult.worldPos?p=o.pickResult.worldPos:(f=1,p=null),i.followPointerDirty=!1),p){var n=Math.abs($.lenVec3($.subVec3(p,t.camera.eye,bp)));f=n/r.dollyProximityThreshold}fr.longTapRadius||Math.abs(I)>r.longTapRadius)&&(clearTimeout(i.longTouchTimeout),i.longTouchTimeout=null),r.planView){var y=t.camera;if("perspective"===y.projection){var m=Math.abs(t.camera.eyeLookDist)*Math.tan(y.perspective.fov/2*Math.PI/180);a.panDeltaX+=h*m/l*r.touchPanRate,a.panDeltaY+=I*m/l*r.touchPanRate}else a.panDeltaX+=.5*y.ortho.scale*(h/l)*r.touchPanRate,a.panDeltaY+=.5*y.ortho.scale*(I/l)*r.touchPanRate}else a.rotateDeltaY-=h/o*(1*r.dragRotationRate),a.rotateDeltaX+=I/l*(1.5*r.dragRotationRate)}else if(2===d){var w=A[0],g=A[1];Cp(w,u),Cp(g,c);var E=$.geometricMeanVec2(p[0],p[1]),T=$.geometricMeanVec2(u,c),b=$.vec2();$.subVec2(E,T,b);var D=b[0],P=b[1],R=t.camera,C=$.distVec2([w.pageX,w.pageY],[g.pageX,g.pageY]),_=($.distVec2(p[0],p[1])-C)*r.touchDollyRate;if(a.dollyDelta=_,Math.abs(_)<1)if("perspective"===R.projection){var B=s.pickResult?s.pickResult.worldPos:t.center,O=Math.abs($.lenVec3($.subVec3(B,t.camera.eye,[])))*Math.tan(R.perspective.fov/2*Math.PI/180);a.panDeltaX-=D*O/l*r.touchPanRate,a.panDeltaY-=P*O/l*r.touchPanRate}else a.panDeltaX-=.5*R.ortho.scale*(D/l)*r.touchPanRate,a.panDeltaY-=.5*R.ortho.scale*(P/l)*r.touchPanRate;i.pointerCanvasPos=T}for(var S=0;S-1&&t-f<150&&(p>-1&&f-p<325?(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("doublePicked",o.pickResult),o.pickedSurface&&l.fire("doublePickedSurface",o.pickResult),r.doublePickFlyTo&&d(o.pickResult)):(l.fire("doublePickedNothing"),r.doublePickFlyTo&&d()),p=-1):$.distVec2(u[0],c)<4&&(Bp(a[0],o.pickCursorPos),o.schedulePickEntity=!0,o.schedulePickSurface=s,o.update(),o.pickResult?(o.pickResult.touchInput=!0,l.fire("picked",o.pickResult),o.pickedSurface&&l.fire("pickedSurface",o.pickResult)):l.fire("pickedNothing"),p=t),f=-1),u.length=n.length;for(var A=0,v=n.length;A1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,e,i)).PAN_LEFT=0,r.PAN_RIGHT=1,r.PAN_UP=2,r.PAN_DOWN=3,r.PAN_FORWARDS=4,r.PAN_BACKWARDS=5,r.ROTATE_X_POS=6,r.ROTATE_X_NEG=7,r.ROTATE_Y_POS=8,r.ROTATE_Y_NEG=9,r.DOLLY_FORWARDS=10,r.DOLLY_BACKWARDS=11,r.AXIS_VIEW_RIGHT=12,r.AXIS_VIEW_BACK=13,r.AXIS_VIEW_LEFT=14,r.AXIS_VIEW_FRONT=15,r.AXIS_VIEW_TOP=16,r.AXIS_VIEW_BOTTOM=17,r._keyMap={},r.scene.canvas.canvas.oncontextmenu=function(e){e.preventDefault()},r._configs={longTapTimeout:600,longTapRadius:5,active:!0,keyboardLayout:"qwerty",navMode:"orbit",planView:!1,firstPerson:!1,followPointer:!0,doublePickFlyTo:!0,panRightClick:!0,showPivot:!1,pointerEnabled:!0,constrainVertical:!1,smartPivot:!1,doubleClickTimeFrame:250,snapToVertex:true,snapToEdge:true,snapRadius:30,dragRotationRate:360,keyboardRotationRate:90,rotationInertia:0,keyboardPanRate:1,touchPanRate:1,panInertia:.5,keyboardDollyRate:10,mouseWheelDollyRate:100,touchDollyRate:.2,dollyInertia:0,dollyProximityThreshold:30,dollyMinSpeed:.04},r._states={pointerCanvasPos:$.vec2(),mouseover:!1,followPointerDirty:!0,mouseDownClientX:0,mouseDownClientY:0,mouseDownCursorX:0,mouseDownCursorY:0,touchStartTime:null,activeTouches:[],tapStartPos:$.vec2(),tapStartTime:-1,lastTapTime:-1,longTouchTimeout:null},r._updates={rotateDeltaX:0,rotateDeltaY:0,panDeltaX:0,panDeltaY:0,panDeltaZ:0,dollyDelta:0};var a=r.scene;return r._controllers={cameraControl:g(r),pickController:new pp(g(r),r._configs),pivotController:new fp(a,r._configs),panController:new ip(a),cameraFlight:new ws(g(r),{duration:.5})},r._handlers=[new Pp(r.scene,r._controllers,r._configs,r._states,r._updates),new _p(r.scene,r._controllers,r._configs,r._states,r._updates),new dp(r.scene,r._controllers,r._configs,r._states,r._updates),new gp(r.scene,r._controllers,r._configs,r._states,r._updates),new Ep(r.scene,r._controllers,r._configs,r._states,r._updates),new Op(r.scene,r._controllers,r._configs,r._states,r._updates),new Tp(r.scene,r._controllers,r._configs,r._states,r._updates)],r._cameraUpdater=new Dp(r.scene,r._controllers,r._configs,r._states,r._updates),r.navMode=i.navMode,i.planView&&(r.planView=i.planView),r.constrainVertical=i.constrainVertical,i.keyboardLayout?r.keyboardLayout=i.keyboardLayout:r.keyMap=i.keyMap,r.doublePickFlyTo=i.doublePickFlyTo,r.panRightClick=i.panRightClick,r.active=i.active,r.followPointer=i.followPointer,r.rotationInertia=i.rotationInertia,r.keyboardPanRate=i.keyboardPanRate,r.touchPanRate=i.touchPanRate,r.keyboardRotationRate=i.keyboardRotationRate,r.dragRotationRate=i.dragRotationRate,r.touchDollyRate=i.touchDollyRate,r.dollyInertia=i.dollyInertia,r.dollyProximityThreshold=i.dollyProximityThreshold,r.dollyMinSpeed=i.dollyMinSpeed,r.panInertia=i.panInertia,r.pointerEnabled=!0,r.keyboardDollyRate=i.keyboardDollyRate,r.mouseWheelDollyRate=i.mouseWheelDollyRate,r}return P(n,[{key:"keyMap",get:function(){return this._keyMap},set:function(e){if(e=e||"qwerty",le.isString(e)){var t=this.scene.input,n={};switch(e){default:this.error("Unsupported value for 'keyMap': "+e+" defaulting to 'qwerty'");case"qwerty":n[this.PAN_LEFT]=[t.KEY_A],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_Z],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_W,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_Q,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6];break;case"azerty":n[this.PAN_LEFT]=[t.KEY_Q],n[this.PAN_RIGHT]=[t.KEY_D],n[this.PAN_UP]=[t.KEY_W],n[this.PAN_DOWN]=[t.KEY_X],n[this.PAN_BACKWARDS]=[],n[this.PAN_FORWARDS]=[],n[this.DOLLY_FORWARDS]=[t.KEY_Z,t.KEY_ADD],n[this.DOLLY_BACKWARDS]=[t.KEY_S,t.KEY_SUBTRACT],n[this.ROTATE_X_POS]=[t.KEY_DOWN_ARROW],n[this.ROTATE_X_NEG]=[t.KEY_UP_ARROW],n[this.ROTATE_Y_POS]=[t.KEY_A,t.KEY_LEFT_ARROW],n[this.ROTATE_Y_NEG]=[t.KEY_E,t.KEY_RIGHT_ARROW],n[this.AXIS_VIEW_RIGHT]=[t.KEY_NUM_1],n[this.AXIS_VIEW_BACK]=[t.KEY_NUM_2],n[this.AXIS_VIEW_LEFT]=[t.KEY_NUM_3],n[this.AXIS_VIEW_FRONT]=[t.KEY_NUM_4],n[this.AXIS_VIEW_TOP]=[t.KEY_NUM_5],n[this.AXIS_VIEW_BOTTOM]=[t.KEY_NUM_6]}this._keyMap=n}else{var r=e;this._keyMap=r}}},{key:"_isKeyDownForAction",value:function(e,t){var n=this._keyMap[e];if(!n)return!1;t||(t=this.scene.input.keyDown);for(var r=0,i=n.length;r0&&void 0!==arguments[0]?arguments[0]:{};this._controllers.pivotController.enablePivotSphere(e)}},{key:"disablePivotSphere",value:function(){this._controllers.pivotController.disablePivotSphere()}},{key:"smartPivot",get:function(){return this._configs.smartPivot},set:function(e){this._configs.smartPivot=!1!==e}},{key:"doubleClickTimeFrame",get:function(){return this._configs.doubleClickTimeFrame},set:function(e){this._configs.doubleClickTimeFrame=null!=e?e:250}},{key:"destroy",value:function(){this._destroyHandlers(),this._destroyControllers(),this._cameraUpdater.destroy(),v(E(n.prototype),"destroy",this).call(this)}},{key:"_destroyHandlers",value:function(){for(var e=0,t=this._handlers.length;e1&&void 0!==arguments[1]?arguments[1]:{};if(this.finalized)throw"MetaScene already finalized - can't add more data";this._globalizeIDs(e,t);var n=this.metaScene,r=e.properties;if(e.propertySets)for(var i=0,a=e.propertySets.length;i0?Hp(t):null,s=n&&n.length>0?Hp(n):null;return function e(t){if(t){var n=!0;(s&&s[t.type]||a&&!a[t.type])&&(n=!1),n&&r.push(t.id);var i=t.children;if(i)for(var o=0,l=i.length;o * Copyright (c) 2022 Niklas von Hertzen @@ -33,4 +33,4 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */var Up=function(e,t){return Up=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Up(e,t)};function Gp(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Up(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var kp=function(){return kp=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=55296&&i<=56319&&n>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},Xp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Jp=0;Jp=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),aA=0;aA>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r0;){var s=r[--a];if(Array.isArray(e)?-1!==e.indexOf(s):e===s)for(var o=n;o<=r.length;){var l;if((l=r[++o])===t)return!0;if(l!==sA)break}if(s!==sA)break}return!1},GA=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r!==sA)return r;n--}return 0},kA=function(e,t,n,r,i){if(0===n[r])return"×";var a=r-1;if(Array.isArray(i)&&!0===i[a])return"×";var s=a-1,o=a+1,l=t[a],u=s>=0?t[s]:0,c=t[o];if(2===l&&3===c)return"×";if(-1!==NA.indexOf(l))return"!";if(-1!==NA.indexOf(c))return"×";if(-1!==LA.indexOf(c))return"×";if(8===GA(a,t))return"÷";if(11===OA.get(e[a]))return"×";if((l===gA||l===EA)&&11===OA.get(e[o]))return"×";if(7===l||7===c)return"×";if(9===l)return"×";if(-1===[sA,oA,lA].indexOf(l)&&9===c)return"×";if(-1!==[uA,cA,fA,vA,mA].indexOf(c))return"×";if(GA(a,t)===dA)return"×";if(UA(23,dA,a,t))return"×";if(UA([uA,cA],AA,a,t))return"×";if(UA(12,12,a,t))return"×";if(l===sA)return"÷";if(23===l||23===c)return"×";if(16===c||16===l)return"÷";if(-1!==[oA,lA,AA].indexOf(c)||14===l)return"×";if(36===u&&-1!==HA.indexOf(l))return"×";if(l===mA&&36===c)return"×";if(c===pA)return"×";if(-1!==SA.indexOf(c)&&l===hA||-1!==SA.indexOf(l)&&c===hA)return"×";if(l===yA&&-1!==[DA,gA,EA].indexOf(c)||-1!==[DA,gA,EA].indexOf(l)&&c===IA)return"×";if(-1!==SA.indexOf(l)&&-1!==xA.indexOf(c)||-1!==xA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(-1!==[yA,IA].indexOf(l)&&(c===hA||-1!==[dA,lA].indexOf(c)&&t[o+1]===hA)||-1!==[dA,lA].indexOf(l)&&c===hA||l===hA&&-1!==[hA,mA,vA].indexOf(c))return"×";if(-1!==[hA,mA,vA,uA,cA].indexOf(c))for(var f=a;f>=0;){if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(-1!==[yA,IA].indexOf(c))for(f=-1!==[uA,cA].indexOf(l)?s:a;f>=0;){var p;if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(PA===l&&-1!==[PA,RA,TA,bA].indexOf(c)||-1!==[RA,TA].indexOf(l)&&-1!==[RA,CA].indexOf(c)||-1!==[CA,bA].indexOf(l)&&c===CA)return"×";if(-1!==FA.indexOf(l)&&-1!==[pA,IA].indexOf(c)||-1!==FA.indexOf(c)&&l===yA)return"×";if(-1!==SA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(l===vA&&-1!==SA.indexOf(c))return"×";if(-1!==SA.concat(hA).indexOf(l)&&c===dA&&-1===BA.indexOf(e[o])||-1!==SA.concat(hA).indexOf(c)&&l===cA)return"×";if(41===l&&41===c){for(var A=n[a],d=1;A>0&&41===t[--A];)d++;if(d%2!=0)return"×"}return l===gA&&c===EA?"×":"÷"},jA=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var n=function(e,t){void 0===t&&(t="strict");var n=[],r=[],i=[];return e.forEach((function(e,a){var s=OA.get(e);if(s>50?(i.push(!0),s-=50):i.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return r.push(a),n.push(16);if(4===s||11===s){if(0===a)return r.push(a),n.push(wA);var o=n[a-1];return-1===MA.indexOf(o)?(r.push(r[a-1]),n.push(o)):(r.push(a),n.push(wA))}return r.push(a),31===s?n.push("strict"===t?AA:DA):s===_A||29===s?n.push(wA):43===s?e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(DA):n.push(wA):void n.push(s)})),[r,n,i]}(e,t.lineBreak),r=n[0],i=n[1],a=n[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(i=i.map((function(e){return-1!==[hA,wA,_A].indexOf(e)?DA:e})));var s="keep-all"===t.wordBreak?a.map((function(t,n){return t&&e[n]>=19968&&e[n]<=40959})):void 0;return[r,i,s]},VA=function(){function e(e,t,n,r){this.codePoints=e,this.required="!"===t,this.start=n,this.end=r}return e.prototype.slice=function(){return Yp.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),QA=function(e){return e>=48&&e<=57},WA=function(e){return QA(e)||e>=65&&e<=70||e>=97&&e<=102},zA=function(e){return 10===e||9===e||32===e},KA=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},YA=function(e){return KA(e)||QA(e)||45===e},XA=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},qA=function(e,t){return 92===e&&10!==t},JA=function(e,t,n){return 45===e?KA(t)||qA(t,n):!!KA(e)||!(92!==e||!qA(e,t))},ZA=function(e,t,n){return 43===e||45===e?!!QA(t)||46===t&&QA(n):QA(46===e?t:e)},$A=function(e){var t=0,n=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(n=-1),t++);for(var r=[];QA(e[t]);)r.push(e[t++]);var i=r.length?parseInt(Yp.apply(void 0,r),10):0;46===e[t]&&t++;for(var a=[];QA(e[t]);)a.push(e[t++]);var s=a.length,o=s?parseInt(Yp.apply(void 0,a),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(l=-1),t++);for(var u=[];QA(e[t]);)u.push(e[t++]);var c=u.length?parseInt(Yp.apply(void 0,u),10):0;return n*(i+o*Math.pow(10,-s))*Math.pow(10,l*c)},ed={type:2},td={type:3},nd={type:4},rd={type:13},id={type:8},ad={type:21},sd={type:9},od={type:10},ld={type:11},ud={type:12},cd={type:14},fd={type:23},pd={type:1},Ad={type:25},dd={type:24},vd={type:26},hd={type:27},Id={type:28},yd={type:29},md={type:31},wd={type:32},gd=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(Kp(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==wd;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(YA(t)||qA(n,r)){var i=JA(t,n,r)?2:1;return{type:5,value:this.consumeName(),flags:i}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rd;break;case 39:return this.consumeStringToken(39);case 40:return ed;case 41:return td;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),cd;break;case 43:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return nd;case 45:var a=e,s=this.peekCodePoint(0),o=this.peekCodePoint(1);if(ZA(a,s,o))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(JA(a,s,o))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===s&&62===o)return this.consumeCodePoint(),this.consumeCodePoint(),dd;break;case 46:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(-1===l)return this.consumeToken()}break;case 58:return vd;case 59:return hd;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),Ad;break;case 64:var u=this.peekCodePoint(0),c=this.peekCodePoint(1),f=this.peekCodePoint(2);if(JA(u,c,f))return{type:7,value:this.consumeName()};break;case 91:return Id;case 92:if(qA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return yd;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),id;break;case 123:return ld;case 125:return ud;case 117:case 85:var p=this.peekCodePoint(0),A=this.peekCodePoint(1);return 43!==p||!WA(A)&&63!==A||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),sd;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ad;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),od;break;case-1:return wd}return zA(e)?(this.consumeWhiteSpace(),md):QA(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):KA(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Yp(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();WA(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n)return{type:30,start:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var r=parseInt(Yp.apply(void 0,e),16);if(45===this.peekCodePoint(0)&&WA(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];WA(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();return{type:30,start:r,end:parseInt(Yp.apply(void 0,i),16)}}return{type:30,start:r,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var n=this.consumeStringToken(this.consumeCodePoint());return 0===n.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),fd)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:Yp.apply(void 0,e)};if(zA(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Yp.apply(void 0,e)}):(this.consumeBadUrlRemnants(),fd);if(34===r||39===r||40===r||XA(r))return this.consumeBadUrlRemnants(),fd;if(92===r){if(!qA(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),fd;e.push(this.consumeEscapedCodePoint())}else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;zA(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;qA(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var n=Math.min(5e4,e);t+=Yp.apply(void 0,this._value.splice(0,n)),e-=n}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",n=0;;){var r=this._value[n];if(-1===r||void 0===r||r===e)return{type:0,value:t+=this.consumeStringSlice(n)};if(10===r)return this._value.splice(0,n),pd;if(92===r){var i=this._value[n+1];-1!==i&&void 0!==i&&(10===i?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):qA(r,i)&&(t+=this.consumeStringSlice(n),t+=Yp(this.consumeEscapedCodePoint()),n=-1))}n++}},e.prototype.consumeNumber=function(){var e=[],t=4,n=this.peekCodePoint(0);for(43!==n&&45!==n||e.push(this.consumeCodePoint());QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===n&&QA(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((69===n||101===n)&&((43===r||45===r)&&QA(i)||QA(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[$A(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0),i=this.peekCodePoint(1),a=this.peekCodePoint(2);return JA(r,i,a)?{type:15,number:t,flags:n,unit:this.consumeName()}:37===r?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(WA(e)){for(var t=Yp(e);WA(this.peekCodePoint(0))&&t.length<6;)t+=Yp(this.consumeCodePoint());zA(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return 0===n||function(e){return e>=55296&&e<=57343}(n)||n>1114111?65533:n}return-1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(YA(t))e+=Yp(t);else{if(!qA(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Yp(this.consumeEscapedCodePoint())}}},e}(),Ed=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new gd;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(32===n.type||Od(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(32===n.type||3===n.type)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?wd:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Td=function(e){return 15===e.type},bd=function(e){return 17===e.type},Dd=function(e){return 20===e.type},Pd=function(e){return 0===e.type},Rd=function(e,t){return Dd(e)&&e.value===t},Cd=function(e){return 31!==e.type},_d=function(e){return 31!==e.type&&4!==e.type},Bd=function(e){var t=[],n=[];return e.forEach((function(e){if(4===e.type){if(0===n.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(n),void(n=[])}31!==e.type&&n.push(e)})),n.length&&t.push(n),t},Od=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},Sd=function(e){return 17===e.type||15===e.type},Nd=function(e){return 16===e.type||Sd(e)},Ld=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},xd={type:17,number:0,flags:4},Md={type:16,number:50,flags:4},Fd={type:16,number:100,flags:4},Hd=function(e,t,n){var r=e[0],i=e[1];return[Ud(r,t),Ud(void 0!==i?i:r,n)]},Ud=function(e,t){if(16===e.type)return e.number/100*t;if(Td(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},Gd=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},kd=function(e){return 15===e.type&&("deg"===e.unit||"grad"===e.unit||"rad"===e.unit||"turn"===e.unit)},jd=function(e){switch(e.filter(Dd).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[xd,xd];case"to top":case"bottom":return Vd(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[xd,Fd];case"to right":case"left":return Vd(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Fd,Fd];case"to bottom":case"top":return Vd(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Fd,xd];case"to left":case"right":return Vd(270)}return 0},Vd=function(e){return Math.PI*e/180},Qd=function(e,t){if(18===t.type){var n=Zd[t.name];if(void 0===n)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return n(e,t.values)}if(5===t.type){if(3===t.value.length){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(4===t.value.length){r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);var s=t.value.substring(3,4);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(s+s,16)/255)}if(6===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(8===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),s=t.value.substring(6,8);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(s,16)/255)}}if(20===t.type){var o=ev[t.value.toUpperCase()];if(void 0!==o)return o}return ev.TRANSPARENT},Wd=function(e){return 0==(255&e)},zd=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?"rgba("+i+","+r+","+n+","+t/255+")":"rgb("+i+","+r+","+n+")"},Kd=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(255*r)<<0)>>>0},Yd=function(e,t){if(17===e.type)return e.number;if(16===e.type){var n=3===t?1:255;return 3===t?e.number/100*n:Math.round(e.number/100*n)}return 0},Xd=function(e,t){var n=t.filter(_d);if(3===n.length){var r=n.map(Yd),i=r[0],a=r[1],s=r[2];return Kd(i,a,s,1)}if(4===n.length){var o=n.map(Yd),l=(i=o[0],a=o[1],s=o[2],o[3]);return Kd(i,a,s,l)}return 0};function qd(e,t,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(t-e)*n*6+e:n<.5?t:n<2/3?6*(t-e)*(2/3-n)+e:e}var Jd=function(e,t){var n=t.filter(_d),r=n[0],i=n[1],a=n[2],s=n[3],o=(17===r.type?Vd(r.number):Gd(e,r))/(2*Math.PI),l=Nd(i)?i.number/100:0,u=Nd(a)?a.number/100:0,c=void 0!==s&&Nd(s)?Ud(s,1):1;if(0===l)return Kd(255*u,255*u,255*u,1);var f=u<=.5?u*(l+1):u+l-u*l,p=2*u-f,A=qd(p,f,o+1/3),d=qd(p,f,o),v=qd(p,f,o-1/3);return Kd(255*A,255*d,255*v,c)},Zd={hsl:Jd,hsla:Jd,rgb:Xd,rgba:Xd},$d=function(e,t){return Qd(e,Ed.create(t).parseComponentValue())},ev={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},tv={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},nv={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},rv=function(e,t){var n=Qd(e,t[0]),r=t[1];return r&&Nd(r)?{color:n,stop:r}:{color:n,stop:null}},iv=function(e,t){var n=e[0],r=e[e.length-1];null===n.stop&&(n.stop=xd),null===r.stop&&(r.stop=Fd);for(var i=[],a=0,s=0;sa?i.push(l):i.push(a),a=l}else i.push(null)}var u=null;for(s=0;se.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e}),{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},lv=function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(n=jd(t));if(kd(a))return void(n=(Gd(e,a)+Vd(270))%Vd(360))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},uv=function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s?o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"center":return a.push(Md),!1;case"top":case"left":return a.push(xd),!1;case"right":case"bottom":return a.push(Fd),!1}else if(Nd(t)||Sd(t))return a.push(t),!1;return e}),o):1===s&&(o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"contain":case"closest-side":return r=0,!1;case"farthest-side":return r=1,!1;case"closest-corner":return r=2,!1;case"cover":case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)),o){var l=rv(e,t);i.push(l)}})),{size:r,shape:n,stops:i,position:a,type:2}},cv=function(e,t){if(22===t.type){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(18===t.type){var r=pv[t.name];if(void 0===r)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return r(e,t.values)}throw new Error("Unsupported image type "+t.type)};var fv,pv={"linear-gradient":function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&"to"===a.value)return void(n=jd(t));if(kd(a))return void(n=Gd(e,a))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},"-moz-linear-gradient":lv,"-ms-linear-gradient":lv,"-o-linear-gradient":lv,"-webkit-linear-gradient":lv,"radial-gradient":function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s){var l=!1;o=t.reduce((function(e,t){if(l)if(Dd(t))switch(t.value){case"center":return a.push(Md),e;case"top":case"left":return a.push(xd),e;case"right":case"bottom":return a.push(Fd),e}else(Nd(t)||Sd(t))&&a.push(t);else if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"at":return l=!0,!1;case"closest-side":return r=0,!1;case"cover":case"farthest-side":return r=1,!1;case"contain":case"closest-corner":return r=2,!1;case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)}if(o){var u=rv(e,t);i.push(u)}})),{size:r,shape:n,stops:i,position:a,type:2}},"-moz-radial-gradient":uv,"-ms-radial-gradient":uv,"-o-radial-gradient":uv,"-webkit-radial-gradient":uv,"-webkit-gradient":function(e,t){var n=Vd(180),r=[],i=1;return Bd(t).forEach((function(t,n){var a=t[0];if(0===n){if(Dd(a)&&"linear"===a.value)return void(i=1);if(Dd(a)&&"radial"===a.value)return void(i=2)}if(18===a.type)if("from"===a.name){var s=Qd(e,a.values[0]);r.push({stop:xd,color:s})}else if("to"===a.name){s=Qd(e,a.values[0]);r.push({stop:Fd,color:s})}else if("color-stop"===a.name){var o=a.values.filter(_d);if(2===o.length){s=Qd(e,o[1]);var l=o[0];bd(l)&&r.push({stop:{type:16,number:100*l.number,flags:l.flags},color:s})}}})),1===i?{angle:(n+Vd(180))%Vd(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}}},Av={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var n=t[0];return 20===n.type&&"none"===n.value?[]:t.filter((function(e){return _d(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!pv[e.name])}(e)})).map((function(t){return cv(e,t)}))}},dv={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},vv={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Nd)})).map(Ld)}},hv={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Dd).map((function(e){return e.value})).join(" ")})).map(Iv)}},Iv=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(fv||(fv={}));var yv,mv={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(wv)}))}},wv=function(e){return Dd(e)||Nd(e)},gv=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Ev=gv("top"),Tv=gv("right"),bv=gv("bottom"),Dv=gv("left"),Pv=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return Ld(t.filter(Nd))}}},Rv=Pv("top-left"),Cv=Pv("top-right"),_v=Pv("bottom-right"),Bv=Pv("bottom-left"),Ov=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Sv=Ov("top"),Nv=Ov("right"),Lv=Ov("bottom"),xv=Ov("left"),Mv=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Td(t)?t.number:0}}},Fv=Mv("top"),Hv=Mv("right"),Uv=Mv("bottom"),Gv=Mv("left"),kv={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jv={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},Vv={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).reduce((function(e,t){return e|Qv(t.value)}),0)}},Qv=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Wv={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},zv={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(yv||(yv={}));var Kv,Yv={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?yv.STRICT:yv.NORMAL}},Xv={name:"line-height",initialValue:"normal",prefix:!1,type:4},qv=function(e,t){return Dd(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:Nd(e)?Ud(e,t):t},Jv={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:cv(e,t)}},Zv={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},$v={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},eh=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},th=eh("top"),nh=eh("right"),rh=eh("bottom"),ih=eh("left"),ah={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},sh={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},oh=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},lh=oh("top"),uh=oh("right"),ch=oh("bottom"),fh=oh("left"),ph={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Ah={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},dh={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Rd(t[0],"none")?[]:Bd(t).map((function(t){for(var n={color:ev.TRANSPARENT,offsetX:xd,offsetY:xd,blur:xd},r=0,i=0;i1?1:0],this.overflowWrap=Kh(e,sh,t.overflowWrap),this.paddingTop=Kh(e,lh,t.paddingTop),this.paddingRight=Kh(e,uh,t.paddingRight),this.paddingBottom=Kh(e,ch,t.paddingBottom),this.paddingLeft=Kh(e,fh,t.paddingLeft),this.paintOrder=Kh(e,kh,t.paintOrder),this.position=Kh(e,Ah,t.position),this.textAlign=Kh(e,ph,t.textAlign),this.textDecorationColor=Kh(e,Ph,null!==(n=t.textDecorationColor)&&void 0!==n?n:t.color),this.textDecorationLine=Kh(e,Rh,null!==(r=t.textDecorationLine)&&void 0!==r?r:t.textDecoration),this.textShadow=Kh(e,dh,t.textShadow),this.textTransform=Kh(e,vh,t.textTransform),this.transform=Kh(e,hh,t.transform),this.transformOrigin=Kh(e,wh,t.transformOrigin),this.visibility=Kh(e,gh,t.visibility),this.webkitTextStrokeColor=Kh(e,jh,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Kh(e,Vh,t.webkitTextStrokeWidth),this.wordBreak=Kh(e,Eh,t.wordBreak),this.zIndex=Kh(e,Th,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return Wd(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return Nh(this.display,4)||Nh(this.display,33554432)||Nh(this.display,268435456)||Nh(this.display,536870912)||Nh(this.display,67108864)||Nh(this.display,134217728)},e}(),Wh=function(e,t){this.content=Kh(e,Lh,t.content),this.quotes=Kh(e,Hh,t.quotes)},zh=function(e,t){this.counterIncrement=Kh(e,xh,t.counterIncrement),this.counterReset=Kh(e,Mh,t.counterReset)},Kh=function(e,t,n){var r=new gd,i=null!=n?n.toString():t.initialValue;r.write(i);var a=new Ed(r.read());switch(t.type){case 2:var s=a.parseComponentValue();return t.parse(e,Dd(s)?s.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case"angle":return Gd(e,a.parseComponentValue());case"color":return Qd(e,a.parseComponentValue());case"image":return cv(e,a.parseComponentValue());case"length":var o=a.parseComponentValue();return Sd(o)?o:xd;case"length-percentage":var l=a.parseComponentValue();return Nd(l)?l:xd;case"time":return bh(e,a.parseComponentValue())}}},Yh=function(e,t){var n=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===n||t===n},Xh=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Yh(t,3),this.styles=new Qh(e,window.getComputedStyle(t,null)),XI(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=zp(this.context,t),Yh(t,4)&&(this.flags|=16)},qh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Jh="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zh=0;Zh=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),tI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nI="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rI=0;rI>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},cI=function(e,t){var n,r,i,a=function(e){var t,n,r,i,a,s=.75*e.length,o=e.length,l=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),c=Array.isArray(u)?u:new Uint8Array(u);for(t=0;t>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r=55296&&i<=56319&&n=n)return{done:!0,value:null};for(var e="×";rs.x||i.y>s.y;return s=i,0===t||o}));return e.body.removeChild(t),o}(document);return Object.defineProperty(II,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,n=e.createElement("canvas"),r=n.getContext("2d");if(!r)return!1;t.src="data:image/svg+xml,";try{r.drawImage(t,0,0),n.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(II,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),n=100;t.width=n,t.height=n;var r=t.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var s=vI(n,n,0,0,i);return r.fillStyle="red",r.fillRect(0,0,n,n),hI(s).then((function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle="red",r.fillRect(0,0,n,n);var s=e.createElement("div");return s.style.backgroundImage="url("+a+")",s.style.height="100px",dI(i)?hI(vI(n,n,0,0,s)):Promise.reject(!1)})).then((function(e){return r.drawImage(e,0,0),dI(r.getImageData(0,0,n,n).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(II,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(II,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(II,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(II,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(II,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},yI=function(e,t){this.text=e,this.bounds=t},mI=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement("html2canvaswrapper");r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=zp(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return Wp.EMPTY},wI=function(e,t,n){var r=e.ownerDocument;if(!r)throw new Error("Node has no owner document");var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},gI=function(e){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,n=AI(e),r=[];!(t=n.next()).done;)t.value&&r.push(t.value.slice());return r}(e)},EI=function(e,t){return 0!==t.letterSpacing?gI(e):function(e,t){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(e)).map((function(e){return e.segment}))}return bI(e,t)}(e,t)},TI=[32,160,4961,65792,65793,4153,4241],bI=function(e,t){for(var n,r=function(e,t){var n=Kp(e),r=jA(n,t),i=r[0],a=r[1],s=r[2],o=n.length,l=0,u=0;return{next:function(){if(u>=o)return{done:!0,value:null};for(var e="×";u0)if(II.SUPPORT_RANGE_BOUNDS){var i=wI(r,s,t.length).getClientRects();if(i.length>1){var o=gI(t),l=0;o.forEach((function(t){a.push(new yI(t,Wp.fromDOMRectList(e,wI(r,l+s,t.length).getClientRects()))),l+=t.length}))}else a.push(new yI(t,Wp.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new yI(t,mI(e,r))),r=u}else II.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length})),a}(e,this.text,n,t)},PI=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(RI,CI);case 2:return e.toUpperCase();default:return e}},RI=/(^|\s|:|-|\(|\))([a-z])/g,CI=function(e,t,n){return e.length>0?t+n.toUpperCase():e},_I=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return Gp(t,e),t}(Xh),BI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return Gp(t,e),t}(Xh),OI=function(e){function t(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=zp(t,n);return n.setAttribute("width",a.width+"px"),n.setAttribute("height",a.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return Gp(t,e),t}(Xh),SI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return Gp(t,e),t}(Xh),NI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed="boolean"==typeof n.reversed&&!0===n.reversed,r}return Gp(t,e),t}(Xh),LI=[{type:15,flags:0,unit:"px",number:3}],xI=[{type:16,flags:0,number:50}],MI="password",FI=function(e){function t(t,n){var r,i=e.call(this,t,n)||this;switch(i.type=n.type.toLowerCase(),i.checked=n.checked,i.value=function(e){var t=e.type===MI?new Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t}(n),"checkbox"!==i.type&&"radio"!==i.type||(i.styles.backgroundColor=3739148031,i.styles.borderTopColor=i.styles.borderRightColor=i.styles.borderBottomColor=i.styles.borderLeftColor=2779096575,i.styles.borderTopWidth=i.styles.borderRightWidth=i.styles.borderBottomWidth=i.styles.borderLeftWidth=1,i.styles.borderTopStyle=i.styles.borderRightStyle=i.styles.borderBottomStyle=i.styles.borderLeftStyle=1,i.styles.backgroundClip=[0],i.styles.backgroundOrigin=[0],i.bounds=(r=i.bounds).width>r.height?new Wp(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width0)r.textNodes.push(new DI(t,a,r.styles));else if(YI(a))if(uy(a)&&a.assignedNodes)a.assignedNodes().forEach((function(n){return e(t,n,r,i)}));else{var o=VI(t,a);o.styles.isVisible()&&(WI(a,o,i)?o.flags|=4:zI(o.styles)&&(o.flags|=2),-1!==kI.indexOf(a.tagName)&&(o.flags|=8),r.elements.push(o),a.slot,a.shadowRoot?e(t,a.shadowRoot,o,i):oy(a)||ey(a)||ly(a)||e(t,a,o,i))}},VI=function(e,t){return iy(t)?new _I(e,t):ny(t)?new BI(e,t):ey(t)?new OI(e,t):JI(t)?new SI(e,t):ZI(t)?new NI(e,t):$I(t)?new FI(e,t):ly(t)?new HI(e,t):oy(t)?new UI(e,t):ay(t)?new GI(e,t):new Xh(e,t)},QI=function(e,t){var n=VI(e,t);return n.flags|=4,jI(e,t,n,n),n},WI=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ty(e)&&n.styles.isTransparent()},zI=function(e){return e.isPositioned()||e.isFloating()},KI=function(e){return e.nodeType===Node.TEXT_NODE},YI=function(e){return e.nodeType===Node.ELEMENT_NODE},XI=function(e){return YI(e)&&void 0!==e.style&&!qI(e)},qI=function(e){return"object"===T(e.className)},JI=function(e){return"LI"===e.tagName},ZI=function(e){return"OL"===e.tagName},$I=function(e){return"INPUT"===e.tagName},ey=function(e){return"svg"===e.tagName},ty=function(e){return"BODY"===e.tagName},ny=function(e){return"CANVAS"===e.tagName},ry=function(e){return"VIDEO"===e.tagName},iy=function(e){return"IMG"===e.tagName},ay=function(e){return"IFRAME"===e.tagName},sy=function(e){return"STYLE"===e.tagName},oy=function(e){return"TEXTAREA"===e.tagName},ly=function(e){return"SELECT"===e.tagName},uy=function(e){return"SLOT"===e.tagName},cy=function(e){return e.tagName.indexOf("-")>0},fy=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;null!==n&&n.forEach((function(e){var n=t.counters[e.counter];n&&0!==e.increment&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)}));var a=[];return i&&r.forEach((function(e){var n=t.counters[e.counter];a.push(e.counter),n||(n=t.counters[e.counter]=[]),n.push(e.reset)})),a},e}(),py={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ay={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},dy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},vy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},hy=function(e,t,n,r,i,a){return en?gy(e,i,a.length>0):r.integers.reduce((function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t}),"")+a},Iy=function(e,t,n,r){var i="";do{n||e--,i=r(e)+i,e/=t}while(e*t>=t);return i},yy=function(e,t,n,r,i){var a=n-t+1;return(e<0?"-":"")+(Iy(Math.abs(e),a,r,(function(e){return Yp(Math.floor(e%a)+t)}))+i)},my=function(e,t,n){void 0===n&&(n=". ");var r=t.length;return Iy(Math.abs(e),r,!1,(function(e){return t[Math.floor(e%r)]}))+n},wy=function(e,t,n,r,i,a){if(e<-9999||e>9999)return gy(e,4,i.length>0);var s=Math.abs(e),o=i;if(0===s)return t[0]+o;for(var l=0;s>0&&l<=4;l++){var u=s%10;0===u&&Nh(a,1)&&""!==o?o=t[u]+o:u>1||1===u&&0===l||1===u&&1===l&&Nh(a,2)||1===u&&1===l&&Nh(a,4)&&e>100||1===u&&l>1&&Nh(a,8)?o=t[u]+(l>0?n[l-1]:"")+o:1===u&&l>0&&(o=n[l-1]+o),s=Math.floor(s/10)}return(e<0?r:"")+o},gy=function(e,t,n){var r=n?". ":"",i=n?"、":"",a=n?", ":"",s=n?" ":"";switch(t){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var o=yy(e,48,57,!0,r);return o.length<4?"0"+o:o;case 4:return my(e,"〇一二三四五六七八九",i);case 6:return hy(e,1,3999,py,3,r).toLowerCase();case 7:return hy(e,1,3999,py,3,r);case 8:return yy(e,945,969,!1,r);case 9:return yy(e,97,122,!1,r);case 10:return yy(e,65,90,!1,r);case 11:return yy(e,1632,1641,!0,r);case 12:case 49:return hy(e,1,9999,Ay,3,r);case 35:return hy(e,1,9999,Ay,3,r).toLowerCase();case 13:return yy(e,2534,2543,!0,r);case 14:case 30:return yy(e,6112,6121,!0,r);case 15:return my(e,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return my(e,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return wy(e,"零一二三四五六七八九","十百千萬","負",i,14);case 47:return wy(e,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",i,15);case 42:return wy(e,"零一二三四五六七八九","十百千萬","负",i,14);case 41:return wy(e,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",i,15);case 26:return wy(e,"〇一二三四五六七八九","十百千万","マイナス",i,0);case 25:return wy(e,"零壱弐参四伍六七八九","拾百千万","マイナス",i,7);case 31:return wy(e,"영일이삼사오육칠팔구","십백천만","마이너스",a,7);case 33:return wy(e,"零一二三四五六七八九","十百千萬","마이너스",a,0);case 32:return wy(e,"零壹貳參四五六七八九","拾百千","마이너스",a,7);case 18:return yy(e,2406,2415,!0,r);case 20:return hy(e,1,19999,vy,3,r);case 21:return yy(e,2790,2799,!0,r);case 22:return yy(e,2662,2671,!0,r);case 22:return hy(e,1,10999,dy,3,r);case 23:return my(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return my(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return yy(e,3302,3311,!0,r);case 28:return my(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return my(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return yy(e,3792,3801,!0,r);case 37:return yy(e,6160,6169,!0,r);case 38:return yy(e,4160,4169,!0,r);case 39:return yy(e,2918,2927,!0,r);case 40:return yy(e,1776,1785,!0,r);case 43:return yy(e,3046,3055,!0,r);case 44:return yy(e,3174,3183,!0,r);case 45:return yy(e,3664,3673,!0,r);case 46:return yy(e,3872,3881,!0,r);default:return yy(e,48,57,!0,r)}},Ey=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new fy,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,r=by(e,t);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var i=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,s=r.contentWindow,o=s.document,l=Ry(r).then((function(){return jp(n,void 0,void 0,(function(){var e,n;return Vp(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(Sy),s&&(s.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||s.scrollY===t.top&&s.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(s.scrollX-t.left,s.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(n=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:o.fonts&&o.fonts.ready?[4,o.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Py(o)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(o,n)})).then((function(){return r}))]:[2,r]}}))}))}));return o.open(),o.write(By(document.doctype)+""),Oy(this.referenceElement.ownerDocument,i,a),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),l},e.prototype.createElementClone=function(e){if(Yh(e,2),ny(e))return this.createCanvasClone(e);if(ry(e))return this.createVideoClone(e);if(sy(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return iy(t)&&(iy(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),cy(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return _y(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var n=e.ownerDocument.createElement("img");try{return n.src=e.toDataURL(),n}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var r=e.cloneNode(!1);try{r.width=e.width,r.height=e.height;var i=e.getContext("2d"),a=r.getContext("2d");if(a)if(!this.options.allowTaint&&i)a.putImageData(i.getImageData(0,0,e.width,e.height),0,0);else{var s=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(s){var o=s.getContextAttributes();!1===(null==o?void 0:o.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return r}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return r},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext("2d");try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var r=e.ownerDocument.createElement("canvas");return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){YI(t)&&(function(e){return"SCRIPT"===e.tagName}(t)||t.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&YI(t)&&sy(t)||e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(YI(i)&&uy(i)&&"function"==typeof i.assignedNodes){var a=i.assignedNodes();a.length&&a.forEach((function(e){return r.appendChildNode(t,e,n)}))}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(KI(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&YI(e)&&(XI(e)||qI(e))){var r=this.createElementClone(e);r.style.transitionProperty="none";var i=n.getComputedStyle(e),a=n.getComputedStyle(e,":before"),s=n.getComputedStyle(e,":after");this.referenceElement===e&&XI(r)&&(this.clonedReferenceElement=r),ty(r)&&xy(r);var o=this.counters.parse(new zh(this.context,i)),l=this.resolvePseudoContent(e,r,a,iI.BEFORE);cy(e)&&(t=!0),ry(e)||this.cloneChildNodes(e,r,t),l&&r.insertBefore(l,r.firstChild);var u=this.resolvePseudoContent(e,r,s,iI.AFTER);return u&&r.appendChild(u),this.counters.pop(o),(i&&(this.options.copyStyles||qI(e))&&!ay(e)||t)&&_y(i,r),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(oy(e)||ly(e))&&(oy(r)||ly(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,s=t.ownerDocument;if(s&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==n.display){this.counters.parse(new zh(this.context,n));var o=new Wh(this.context,n),l=s.createElement("html2canvaspseudoelement");_y(n,l),o.content.forEach((function(t){if(0===t.type)l.appendChild(s.createTextNode(t.value));else if(22===t.type){var n=s.createElement("img");n.src=t.value,n.style.opacity="1",l.appendChild(n)}else if(18===t.type){if("attr"===t.name){var r=t.values.filter(Dd);r.length&&l.appendChild(s.createTextNode(e.getAttribute(r[0].value)||""))}else if("counter"===t.name){var a=t.values.filter(_d),u=a[0],c=a[1];if(u&&Dd(u)){var f=i.counters.getCounterValue(u.value),p=c&&Dd(c)?$v.parse(i.context,c.value):3;l.appendChild(s.createTextNode(gy(f,p,!1)))}}else if("counters"===t.name){var A=t.values.filter(_d),d=(u=A[0],A[1]);c=A[2];if(u&&Dd(u)){var v=i.counters.getCounterValues(u.value),h=c&&Dd(c)?$v.parse(i.context,c.value):3,I=d&&0===d.type?d.value:"",y=v.map((function(e){return gy(e,h,!1)})).join(I);l.appendChild(s.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(s.createTextNode(Uh(o.quotes,i.quoteDepth++,!0)));break;case"close-quote":l.appendChild(s.createTextNode(Uh(o.quotes,--i.quoteDepth,!1)));break;default:l.appendChild(s.createTextNode(t.value))}})),l.className=Ny+" "+Ly;var u=r===iI.BEFORE?" "+Ny:" "+Ly;return qI(t)?t.className.baseValue+=u:t.className+=u,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(iI||(iI={}));var Ty,by=function(e,t){var n=e.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling="no",n.setAttribute("data-html2canvas-ignore","true"),e.body.appendChild(n),n},Dy=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},Py=function(e){return Promise.all([].slice.call(e.images,0).map(Dy))},Ry=function(e){return new Promise((function(t,n){var r=e.contentWindow;if(!r)return n("No window assigned for iframe");var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval((function(){i.body.childNodes.length>0&&"complete"===i.readyState&&(clearInterval(n),t(e))}),50)}}))},Cy=["all","d","content"],_y=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);-1===Cy.indexOf(r)&&t.style.setProperty(r,e.getPropertyValue(r))}return t},By=function(e){var t="";return e&&(t+=""),t},Oy=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},Sy=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},Ny="___html2canvas___pseudoelement_before",Ly="___html2canvas___pseudoelement_after",xy=function(e){My(e,"."+Ny+':before{\n content: "" !important;\n display: none !important;\n}\n .'+Ly+':after{\n content: "" !important;\n display: none !important;\n}')},My=function(e,t){var n=e.ownerDocument;if(n){var r=n.createElement("style");r.textContent=t,e.appendChild(r)}},Fy=function(){function e(){}return e.getOrigin=function(t){var n=e._link;return n?(n.href=t,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Hy=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:Wy(e)||jy(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return jp(this,void 0,void 0,(function(){var t,n,r,i,a=this;return Vp(this,(function(s){switch(s.label){case 0:return t=Fy.isSameOrigin(e),n=!Vy(e)&&!0===this._options.useCORS&&II.SUPPORT_CORS_IMAGES&&!t,r=!Vy(e)&&!t&&!Wy(e)&&"string"==typeof this._options.proxy&&II.SUPPORT_CORS_XHR&&!n,t||!1!==this._options.allowTaint||Vy(e)||Wy(e)||r||n?(i=e,r?[4,this.proxy(i)]:[3,2]):[2];case 1:i=s.sent(),s.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,(Qy(i)||n)&&(r.crossOrigin="anonymous"),r.src=i,!0===r.complete&&setTimeout((function(){return e(r)}),500),a._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+a._options.imageTimeout+"ms) loading image")}),a._options.imageTimeout)}))];case 3:return[2,s.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,n=this._options.proxy;if(!n)throw new Error("No proxy defined");var r=e.substring(0,256);return new Promise((function(i,a){var s=II.SUPPORT_RESPONSE_TYPE?"blob":"text",o=new XMLHttpRequest;o.onload=function(){if(200===o.status)if("text"===s)i(o.response);else{var e=new FileReader;e.addEventListener("load",(function(){return i(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(o.response)}else a("Failed to proxy resource "+r+" with status code "+o.status)},o.onerror=a;var l=n.indexOf("?")>-1?"&":"?";if(o.open("GET",""+n+l+"url="+encodeURIComponent(e)+"&responseType="+s),"text"!==s&&o instanceof XMLHttpRequest&&(o.responseType=s),t._options.imageTimeout){var u=t._options.imageTimeout;o.timeout=u,o.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+r)}}o.send()}))},e}(),Uy=/^data:image\/svg\+xml/i,Gy=/^data:image\/.*;base64,/i,ky=/^data:image\/.*/i,jy=function(e){return II.SUPPORT_SVG_DRAWING||!zy(e)},Vy=function(e){return ky.test(e)},Qy=function(e){return Gy.test(e)},Wy=function(e){return"blob"===e.substr(0,4)},zy=function(e){return"svg"===e.substr(-3).toLowerCase()||Uy.test(e)},Ky=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,n){return new e(this.x+t,this.y+n)},e}(),Yy=function(e,t,n){return new Ky(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n)},Xy=function(){function e(e,t,n,r){this.type=1,this.start=e,this.startControl=t,this.endControl=n,this.end=r}return e.prototype.subdivide=function(t,n){var r=Yy(this.start,this.startControl,t),i=Yy(this.startControl,this.endControl,t),a=Yy(this.endControl,this.end,t),s=Yy(r,i,t),o=Yy(i,a,t),l=Yy(s,o,t);return n?new e(this.start,r,s,l):new e(l,o,a,this.end)},e.prototype.add=function(t,n){return new e(this.start.add(t,n),this.startControl.add(t,n),this.endControl.add(t,n),this.end.add(t,n))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),qy=function(e){return 1===e.type},Jy=function(e){var t=e.styles,n=e.bounds,r=Hd(t.borderTopLeftRadius,n.width,n.height),i=r[0],a=r[1],s=Hd(t.borderTopRightRadius,n.width,n.height),o=s[0],l=s[1],u=Hd(t.borderBottomRightRadius,n.width,n.height),c=u[0],f=u[1],p=Hd(t.borderBottomLeftRadius,n.width,n.height),A=p[0],d=p[1],v=[];v.push((i+o)/n.width),v.push((A+c)/n.width),v.push((a+d)/n.height),v.push((l+f)/n.height);var h=Math.max.apply(Math,v);h>1&&(i/=h,a/=h,o/=h,l/=h,c/=h,f/=h,A/=h,d/=h);var I=n.width-o,y=n.height-f,m=n.width-c,w=n.height-d,g=t.borderTopWidth,E=t.borderRightWidth,T=t.borderBottomWidth,b=t.borderLeftWidth,D=Ud(t.paddingTop,e.bounds.width),P=Ud(t.paddingRight,e.bounds.width),R=Ud(t.paddingBottom,e.bounds.width),C=Ud(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=i>0||a>0?Zy(n.left+b/3,n.top+g/3,i-b/3,a-g/3,Ty.TOP_LEFT):new Ky(n.left+b/3,n.top+g/3),this.topRightBorderDoubleOuterBox=i>0||a>0?Zy(n.left+I,n.top+g/3,o-E/3,l-g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/3,n.top+g/3),this.bottomRightBorderDoubleOuterBox=c>0||f>0?Zy(n.left+m,n.top+y,c-E/3,f-T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/3,n.top+n.height-T/3),this.bottomLeftBorderDoubleOuterBox=A>0||d>0?Zy(n.left+b/3,n.top+w,A-b/3,d-T/3,Ty.BOTTOM_LEFT):new Ky(n.left+b/3,n.top+n.height-T/3),this.topLeftBorderDoubleInnerBox=i>0||a>0?Zy(n.left+2*b/3,n.top+2*g/3,i-2*b/3,a-2*g/3,Ty.TOP_LEFT):new Ky(n.left+2*b/3,n.top+2*g/3),this.topRightBorderDoubleInnerBox=i>0||a>0?Zy(n.left+I,n.top+2*g/3,o-2*E/3,l-2*g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+2*g/3),this.bottomRightBorderDoubleInnerBox=c>0||f>0?Zy(n.left+m,n.top+y,c-2*E/3,f-2*T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+n.height-2*T/3),this.bottomLeftBorderDoubleInnerBox=A>0||d>0?Zy(n.left+2*b/3,n.top+w,A-2*b/3,d-2*T/3,Ty.BOTTOM_LEFT):new Ky(n.left+2*b/3,n.top+n.height-2*T/3),this.topLeftBorderStroke=i>0||a>0?Zy(n.left+b/2,n.top+g/2,i-b/2,a-g/2,Ty.TOP_LEFT):new Ky(n.left+b/2,n.top+g/2),this.topRightBorderStroke=i>0||a>0?Zy(n.left+I,n.top+g/2,o-E/2,l-g/2,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/2,n.top+g/2),this.bottomRightBorderStroke=c>0||f>0?Zy(n.left+m,n.top+y,c-E/2,f-T/2,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/2,n.top+n.height-T/2),this.bottomLeftBorderStroke=A>0||d>0?Zy(n.left+b/2,n.top+w,A-b/2,d-T/2,Ty.BOTTOM_LEFT):new Ky(n.left+b/2,n.top+n.height-T/2),this.topLeftBorderBox=i>0||a>0?Zy(n.left,n.top,i,a,Ty.TOP_LEFT):new Ky(n.left,n.top),this.topRightBorderBox=o>0||l>0?Zy(n.left+I,n.top,o,l,Ty.TOP_RIGHT):new Ky(n.left+n.width,n.top),this.bottomRightBorderBox=c>0||f>0?Zy(n.left+m,n.top+y,c,f,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=A>0||d>0?Zy(n.left,n.top+w,A,d,Ty.BOTTOM_LEFT):new Ky(n.left,n.top+n.height),this.topLeftPaddingBox=i>0||a>0?Zy(n.left+b,n.top+g,Math.max(0,i-b),Math.max(0,a-g),Ty.TOP_LEFT):new Ky(n.left+b,n.top+g),this.topRightPaddingBox=o>0||l>0?Zy(n.left+Math.min(I,n.width-E),n.top+g,I>n.width+E?0:Math.max(0,o-E),Math.max(0,l-g),Ty.TOP_RIGHT):new Ky(n.left+n.width-E,n.top+g),this.bottomRightPaddingBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-b),n.top+Math.min(y,n.height-T),Math.max(0,c-E),Math.max(0,f-T),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E,n.top+n.height-T),this.bottomLeftPaddingBox=A>0||d>0?Zy(n.left+b,n.top+Math.min(w,n.height-T),Math.max(0,A-b),Math.max(0,d-T),Ty.BOTTOM_LEFT):new Ky(n.left+b,n.top+n.height-T),this.topLeftContentBox=i>0||a>0?Zy(n.left+b+C,n.top+g+D,Math.max(0,i-(b+C)),Math.max(0,a-(g+D)),Ty.TOP_LEFT):new Ky(n.left+b+C,n.top+g+D),this.topRightContentBox=o>0||l>0?Zy(n.left+Math.min(I,n.width+b+C),n.top+g+D,I>n.width+b+C?0:o-b+C,l-(g+D),Ty.TOP_RIGHT):new Ky(n.left+n.width-(E+P),n.top+g+D),this.bottomRightContentBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-(b+C)),n.top+Math.min(y,n.height+g+D),Math.max(0,c-(E+P)),f-(T+R),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-(E+P),n.top+n.height-(T+R)),this.bottomLeftContentBox=A>0||d>0?Zy(n.left+b+C,n.top+w,Math.max(0,A-(b+C)),d-(T+R),Ty.BOTTOM_LEFT):new Ky(n.left+b+C,n.top+n.height-(T+R))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Ty||(Ty={}));var Zy=function(e,t,n,r,i){var a=(Math.sqrt(2)-1)/3*4,s=n*a,o=r*a,l=e+n,u=t+r;switch(i){case Ty.TOP_LEFT:return new Xy(new Ky(e,u),new Ky(e,u-o),new Ky(l-s,t),new Ky(l,t));case Ty.TOP_RIGHT:return new Xy(new Ky(e,t),new Ky(e+s,t),new Ky(l,u-o),new Ky(l,u));case Ty.BOTTOM_RIGHT:return new Xy(new Ky(l,t),new Ky(l,t+o),new Ky(e+s,u),new Ky(e,u));case Ty.BOTTOM_LEFT:default:return new Xy(new Ky(l,u),new Ky(l-s,u),new Ky(e,t+o),new Ky(e,t))}},$y=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},em=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},tm=function(e,t,n){this.offsetX=e,this.offsetY=t,this.matrix=n,this.type=0,this.target=6},nm=function(e,t){this.path=e,this.target=t,this.type=1},rm=function(e){this.opacity=e,this.type=2,this.target=6},im=function(e){return 1===e.type},am=function(e,t){return e.length===t.length&&e.some((function(e,n){return e===t[n]}))},sm=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},om=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Jy(this.container),this.container.styles.opacity<1&&this.effects.push(new rm(this.container.styles.opacity)),null!==this.container.styles.transform){var n=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,i=this.container.styles.transform;this.effects.push(new tm(n,r,i))}if(0!==this.container.styles.overflowX){var a=$y(this.curves),s=em(this.curves);am(a,s)?this.effects.push(new nm(a,6)):(this.effects.push(new nm(a,2)),this.effects.push(new nm(s,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),n=this.parent,r=this.effects.slice(0);n;){var i=n.effects.filter((function(e){return!im(e)}));if(t||0!==n.container.styles.position||!n.parent){if(r.unshift.apply(r,i),t=-1===[2,3].indexOf(n.container.styles.position),0!==n.container.styles.overflowX){var a=$y(n.curves),s=em(n.curves);am(a,s)||r.unshift(new nm(s,6))}}else r.unshift.apply(r,i);n=n.parent}return r.filter((function(t){return Nh(t.target,e)}))},e}(),lm=function e(t,n,r,i){t.container.elements.forEach((function(a){var s=Nh(a.flags,4),o=Nh(a.flags,2),l=new om(a,t);Nh(a.styles.display,2048)&&i.push(l);var u=Nh(a.flags,8)?[]:i;if(s||o){var c=s||a.styles.isPositioned()?r:n,f=new sm(l);if(a.styles.isPositioned()||a.styles.opacity<1||a.styles.isTransformed()){var p=a.styles.zIndex.order;if(p<0){var A=0;c.negativeZIndex.some((function(e,t){return p>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),c.negativeZIndex.splice(A,0,f)}else if(p>0){var d=0;c.positiveZIndex.some((function(e,t){return p>=e.element.container.styles.zIndex.order?(d=t+1,!1):d>0})),c.positiveZIndex.splice(d,0,f)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(f)}else a.styles.isFloating()?c.nonPositionedFloats.push(f):c.nonPositionedInlineLevel.push(f);e(l,f,s?f:r,u)}else a.styles.isInlineLevel()?n.inlineLevel.push(l):n.nonInlineLevel.push(l),e(l,n,r,u);Nh(a.flags,8)&&um(a,u)}))},um=function(e,t){for(var n=e instanceof NI?e.start:1,r=e instanceof NI&&e.reversed,i=0;i0&&e.intrinsicHeight>0){var r=vm(e),i=em(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return jp(this,void 0,void 0,(function(){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m;return Vp(this,(function(w){switch(w.label){case 0:this.applyEffects(e.getEffects(4)),n=e.container,r=e.curves,i=n.styles,a=0,s=n.textNodes,w.label=1;case 1:return a0&&T>0&&(I=r.ctx.createPattern(d,"repeat"),r.renderRepeat(m,I,D,P))):function(e){return 2===e.type}(n)&&(y=hm(e,t,[null,null,null]),m=y[0],w=y[1],g=y[2],E=y[3],T=y[4],b=0===n.position.length?[Md]:n.position,D=Ud(b[0],E),P=Ud(b[b.length-1],T),R=function(e,t,n,r,i){var a=0,s=0;switch(e.size){case 0:0===e.shape?a=s=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.min(Math.abs(t),Math.abs(t-r)),s=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(0===e.shape)a=s=Math.min(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){var o=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),l=ov(r,i,t,n,!0),u=l[0],c=l[1];s=o*(a=sv(u-t,(c-n)/o))}break;case 1:0===e.shape?a=s=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.max(Math.abs(t),Math.abs(t-r)),s=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(0===e.shape)a=s=Math.max(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){o=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r));var f=ov(r,i,t,n,!1);u=f[0],c=f[1],s=o*(a=sv(u-t,(c-n)/o))}}return Array.isArray(e.size)&&(a=Ud(e.size[0],r),s=2===e.size.length?Ud(e.size[1],i):a),[a,s]}(n,D,P,E,T),C=R[0],_=R[1],C>0&&_>0&&(B=r.ctx.createRadialGradient(w+D,g+P,0,w+D,g+P,C),iv(n.stops,2*C).forEach((function(e){return B.addColorStop(e.stop,zd(e.color))})),r.path(m),r.ctx.fillStyle=B,C!==_?(O=e.bounds.left+.5*e.bounds.width,S=e.bounds.top+.5*e.bounds.height,L=1/(N=_/C),r.ctx.save(),r.ctx.translate(O,S),r.ctx.transform(1,0,0,N,0,0),r.ctx.translate(-O,-S),r.ctx.fillRect(w,L*(g-S)+S,E,T*L),r.ctx.restore()):r.ctx.fill())),x.label=6;case 6:return t--,[2]}}))},r=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return i0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,a,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,a,e.curves)];case 10:c.sent(),c.label=11;case 11:a++,c.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,n,r,i){return jp(this,void 0,void 0,(function(){var a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w;return Vp(this,(function(g){return this.ctx.save(),a=function(e,t){switch(t){case 0:return pm(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return pm(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return pm(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return pm(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(r,n),s=fm(r,n),2===i&&(this.path(s),this.ctx.clip()),qy(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),qy(s[1])?(u=s[1].end.x,c=s[1].end.y):(u=s[1].x,c=s[1].y),f=0===n||2===n?Math.abs(o-u):Math.abs(l-c),this.ctx.beginPath(),3===i?this.formatPath(a):this.formatPath(s.slice(0,2)),p=t<3?3*t:2*t,A=t<3?2*t:t,3===i&&(p=t,A=t),d=!0,f<=2*p?d=!1:f<=2*p+A?(p*=v=f/(2*p+A),A*=v):(h=Math.floor((f+A)/(p+A)),I=(f-h*p)/(h-1),A=(y=(f-(h+1)*p)/h)<=0||Math.abs(A-I)0&&void 0!==arguments[0]?arguments[0]:{},t=!this._snapshotBegun,n=void 0!==e.width&&void 0!==e.height,r=this.scene.canvas.canvas,i=r.clientWidth,a=r.clientHeight,s=e.width?Math.floor(e.width):r.width,o=e.height?Math.floor(e.height):r.height;n&&(r.width=s,r.height=o),this._snapshotBegun||this.beginSnapshot({width:s,height:o}),e.includeGizmos||this.sendToPlugins("snapshotStarting");for(var l={},u=0,c=this._plugins.length;u0&&void 0!==g[0]?g[0]:{},n=!this._snapshotBegun,r=void 0!==t.width&&void 0!==t.height,i=this.scene.canvas.canvas,a=i.clientWidth,s=i.clientHeight,l=t.width?Math.floor(t.width):i.width,u=t.height?Math.floor(t.height):i.height,r&&(i.width=l,i.height=u),this._snapshotBegun||this.beginSnapshot(),t.includeGizmos||this.sendToPlugins("snapshotStarting"),this.scene._renderer.renderSnapshot(),c=this.scene._renderer.readSnapshotAsCanvas(),r&&(i.width=a,i.height=s,this.scene.glRedraw()),f={},p=[],A=0,d=this._plugins.length;A1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=n||new Set;if(e){if(nw(e))r.add(e);else if(nw(e.buffer))r.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"===T(e))for(var i in e)tw(e[i],t,r)}else;return void 0===n?Array.from(r):[]}function nw(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var rw=function(){},iw=function(){function e(t){b(this,e),Xm(this,"name",void 0),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"terminated",!1),Xm(this,"worker",void 0),Xm(this,"onMessage",void 0),Xm(this,"onError",void 0),Xm(this,"_loadableURL","");var n=t.name,r=t.source,i=t.url;jm(r||i),this.name=n,this.source=r,this.url=i,this.onMessage=rw,this.onError=function(e){return console.log(e)},this.worker=Wm?this._createBrowserWorker():this._createNodeWorker()}return P(e,[{key:"destroy",value:function(){this.onMessage=rw,this.onError=rw,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||tw(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=$m({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}},{key:"_createNodeWorker",value:function(){var e,t=this;if(this.url){var n=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Jm(n,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Jm(this.source,{eval:!0})}return e.on("message",(function(e){t.onMessage(e)})),e.on("error",(function(e){t.onError(e)})),e.on("exit",(function(e){})),e}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker&&Wm||void 0!==T(Jm)}}]),e}(),aw=function(){function e(t){b(this,e),Xm(this,"name","unnamed"),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"maxConcurrency",1),Xm(this,"maxMobileConcurrency",1),Xm(this,"onDebug",(function(){})),Xm(this,"reuseWorkers",!0),Xm(this,"props",{}),Xm(this,"jobQueue",[]),Xm(this,"idleQueue",[]),Xm(this,"count",0),Xm(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}var t,n;return P(e,[{key:"destroy",value:function(){this.idleQueue.forEach((function(e){return e.destroy()})),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=a(a({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:(n=u(o().mark((function e(t){var n,r,i,a=this,s=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:function(e,t,n){return e.done(n)},r=s.length>2&&void 0!==s[2]?s[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return a.jobQueue.push({name:t,onMessage:n,onError:r,onStart:e}),a})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_startQueuedJob",value:(t=u(o().mark((function e(){var t,n,r;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(n=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length}),r=new qm(n.name,t),t.onMessage=function(e){return n.onMessage(r,e.type,e.payload)},t.onError=function(e){return n.onError(r,e)},n.onStart(r),e.prev=12,e.next=15,r.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])}))),function(){return t.apply(this,arguments)})},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();Xm(ow,"_workerFarm",void 0);function lw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t[e.id]||{},r="".concat(e.id,"-worker.js"),i=n.workerUrl;if(i||"compression"!==e.id||(i=t.workerUrl),"test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(r)),!i){var a=e.version;"latest"===a&&(a="latest");var s=a?"@".concat(a):"";i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(s,"/dist/").concat(r)}return jm(i),i}function uw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"3.2.6";jm(e,"no worker provided");var n=e.version;return!(!t||!n)}var cw=Object.freeze({__proto__:null,default:{}}),fw={};function pw(e){return Aw.apply(this,arguments)}function Aw(){return Aw=u(o().mark((function e(t){var n,r,i=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:null,r=i.length>2&&void 0!==i[2]?i[2]:{},n&&(t=dw(t,n,r)),fw[t]=fw[t]||vw(t),e.next=6,fw[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),Aw.apply(this,arguments)}function dw(e,t,n){if(e.startsWith("http"))return e;var r=n.modules||{};return r[e]?r[e]:Wm?n.CDN?(jm(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@").concat("3.2.6","/dist/libs/").concat(e)):zm?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function vw(e){return hw.apply(this,arguments)}function hw(){return(hw=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(Wm){e.next=20;break}if(e.prev=8,e.t0=cw&&void 0,!e.t0){e.next=14;break}return e.next=13,(void 0)(t);case 13:e.t0=e.sent;case 14:return e.abrupt("return",e.t0);case 17:return e.prev=17,e.t1=e.catch(8),e.abrupt("return",null);case 20:if(!zm){e.next=22;break}return e.abrupt("return",importScripts(t));case 22:return e.next=24,fetch(t);case 24:return r=e.sent,e.next=27,r.text();case 27:return i=e.sent,e.abrupt("return",Iw(i,t));case 29:case"end":return e.stop()}}),e,null,[[8,17]])})))).apply(this,arguments)}function Iw(e,t){if(Wm){if(zm)return eval.call(Qm,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(t){n.text=e}return document.body.appendChild(n),null}}function yw(e,t){return!!ow.isSupported()&&(!!(Wm||null!=t&&t._nodeWorkers)&&(e.worker&&(null==t?void 0:t.worker)))}function mw(e,t,n,r,i){return ww.apply(this,arguments)}function ww(){return ww=u(o().mark((function e(t,n,r,i,a){var s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.id,l=lw(t,r),u=ow.getWorkerFarm(r),c=u.getWorkerPool({name:s,url:l}),r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{})),e.next=8,c.startJob("process-on-worker",gw.bind(null,a));case 8:return(f=e.sent).postMessage("process",{input:n,options:r,context:i}),e.next=12,f.result;case 12:return p=e.sent,e.next=15,p.result;case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e)}))),ww.apply(this,arguments)}function gw(e,t,n,r){return Ew.apply(this,arguments)}function Ew(){return(Ew=u(o().mark((function e(t,n,r,i){var a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(i),e.abrupt("break",21);case 5:return n.error(new Error(i.error)),e.abrupt("break",21);case 7:return a=i.id,s=i.input,l=i.options,e.prev=8,e.next=11,t(s,l);case 11:u=e.sent,n.postMessage("done",{id:a,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:a,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(r));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}function Tw(e,t,n){if(e.byteLength<=t+n)return"";for(var r=new DataView(e),i="",a=0;a1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return Tw(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){return Tw(e,0,t)}return""}(e),'"'))}}function Dw(e){return e&&"object"===T(e)&&e.isBuffer}function Pw(e){if(Dw(e))return Dw(t=e)?new Uint8Array(t.buffer,t.byteOffset,t.length).slice().buffer:t;var t;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var n=e;return(new TextEncoder).encode(n).buffer}if(e&&"object"===T(e)&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Rw(){for(var e=arguments.length,t=new Array(e),n=0;n=0),Um(t>0),e+(t-1)&~(t-1)}function Bw(e,t,n){var r;if(e instanceof ArrayBuffer)r=new Uint8Array(e);else{var i=e.byteOffset,a=e.byteLength;r=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(r,n),n+_w(r.byteLength,4)}function Ow(e){return Sw.apply(this,arguments)}function Sw(){return(Sw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r=!1,i=!1,e.prev=3,s=O(t);case 5:return e.next=7,s.next();case 7:if(!(r=!(l=e.sent).done)){e.next=13;break}u=l.value,n.push(u);case 10:r=!1,e.next=5;break;case 13:e.next=19;break;case 15:e.prev=15,e.t0=e.catch(3),i=!0,a=e.t0;case 19:if(e.prev=19,e.prev=20,!r||null==s.return){e.next=24;break}return e.next=24,s.return();case 24:if(e.prev=24,!i){e.next=27;break}throw a;case 27:return e.finish(24);case 28:return e.finish(19);case 29:return e.abrupt("return",Rw.apply(void 0,n));case 30:case"end":return e.stop()}}),e,null,[[3,15,19,29],[20,,24,28]])})))).apply(this,arguments)}var Nw={};function Lw(e){for(var t in Nw)if(e.startsWith(t)){var n=Nw[t];e=e.replace(t,n)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat("").concat(e)),e}var xw=function(e){return"function"==typeof e},Mw=function(e){return null!==e&&"object"===T(e)},Fw=function(e){return Mw(e)&&e.constructor==={}.constructor},Hw=function(e){return e&&"function"==typeof e[Symbol.iterator]},Uw=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},Gw=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},kw=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},jw=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||Mw(e)&&xw(e.tee)&&xw(e.cancel)&&xw(e.getReader)}(e)||function(e){return Mw(e)&&xw(e.read)&&xw(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)},Vw=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Qw=/^([-\w.]+\/[-\w.+]+)/;function Ww(e){var t=Qw.exec(e);return t?t[1]:e}function zw(e){var t=Vw.exec(e);return t?t[1]:""}var Kw=/\?.*/;function Yw(e){if(Gw(e)){var t=qw(e.url||"");return{url:t,type:Ww(e.headers.get("content-type")||"")||zw(t)}}return kw(e)?{url:qw(e.name||""),type:e.type||""}:"string"==typeof e?{url:qw(e),type:zw(e)}:{url:"",type:""}}function Xw(e){return Gw(e)?e.headers["content-length"]||-1:kw(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function qw(e){return e.replace(Kw,"")}function Jw(e){return Zw.apply(this,arguments)}function Zw(){return(Zw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Gw(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(r=Xw(t))>=0&&(n["content-length"]=String(r)),i=Yw(t),a=i.url,(s=i.type)&&(n["content-type"]=s),e.next=9,rg(t);case 9:return(l=e.sent)&&(n["x-first-bytes"]=l),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),Object.defineProperty(u,"url",{value:a}),e.abrupt("return",u);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $w(e){return eg.apply(this,arguments)}function eg(){return(eg=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,tg(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tg(e){return ng.apply(this,arguments)}function ng(){return(ng=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,r=t.headers.get("Content-Type"),i=t.statusText,!r.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:n=(n+=i).length>60?"".concat(n.slice(0,60),"..."):n,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function rg(e){return ig.apply(this,arguments)}function ig(){return(ig=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=5,"string"!=typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,n)));case 3:if(!(t instanceof Blob)){e.next=8;break}return r=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(r)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,n),a=ag(i),e.abrupt("return","data:base64,".concat(a));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ag(e){for(var t="",n=new Uint8Array(e),r=0;r=0)}();function Ag(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var dg=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";b(this,e),this.storage=Ag(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function vg(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}var hg={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Ig(e){return"string"==typeof e?hg[e.toUpperCase()]||hg.WHITE:e}function yg(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function mg(e,t){if(!e)throw new Error(t||"Assertion failed")}function wg(){var e;if(pg&&ug.performance)e=ug.performance.now();else if(cg.hrtime){var t=cg.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var gg={debug:pg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Eg={enabled:!0,level:0};function Tg(){}var bg={},Dg={once:!0};function Pg(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var Rg=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;b(this,e),this.id=n,this.VERSION=fg,this._startTs=wg(),this._deltaTs=wg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new dg("__probe-".concat(this.id,"__"),Eg),this.userData={},this.timeStamp("".concat(this.id," started")),yg(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((wg()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((wg()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){mg(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,gg.warn,arguments,Dg)}},{key:"error",value:function(e){return this._getLogFunction(0,e,gg.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,gg.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,gg.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,gg.debug||gg.info,arguments,Dg)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||Tg,n&&[n],{tag:Pg(t)}):Tg}},{key:"image",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.logLevel,n=e.priority,r=e.image,i=e.message,a=void 0===i?"":i,s=e.scale,o=void 0===s?1:s;return this._shouldLog(t||n)?pg?function(e){var t=e.image,n=e.message,r=void 0===n?"":n,i=e.scale,a=void 0===i?1:i;if("string"==typeof t){var s=new Image;return s.onload=function(){var e,t=vg(s,r,a);(e=console).log.apply(e,c(t))},s.src=t,Tg}var o=t.nodeName||"";if("img"===o.toLowerCase()){var l;return(l=console).log.apply(l,c(vg(t,r,a))),Tg}if("canvas"===o.toLowerCase()){var u=new Image;return u.onload=function(){var e;return(e=console).log.apply(e,c(vg(u,r,a)))},u.src=t.toDataURL(),Tg}return Tg}({image:r,message:a,scale:o}):function(e){var t=e.image,n=(e.message,e.scale),r=void 0===n?1:n,i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return function(){return i(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then((function(e){return console.log(e)}))};return Tg}({image:r,message:a,scale:o}):Tg}))},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||Tg)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=n=_g({logLevel:e,message:t,opts:n}),i=r.collapsed;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||Tg)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=Cg(e)}},{key:"_getLogFunction",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var a;i=_g({logLevel:e,message:t,args:r,opts:i}),mg(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=wg();var s=i.tag||i.message;if(i.once){if(bg[s])return Tg;bg[s]=wg()}return t=Bg(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return Tg}}]),e}();function Cg(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return mg(Number.isFinite(t)&&t>=0),t}function _g(e){var t=e.logLevel,n=e.message;e.logLevel=Cg(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(e.args=r,T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return mg("string"===i||"object"===i),Object.assign(e,e.opts)}function Bg(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return pg||"string"!=typeof e||(t&&(t=Ig(t),e="[".concat(t,"m").concat(e,"")),n&&(t=Ig(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}Rg.VERSION=fg;var Og=new Rg({id:"loaders.gl"}),Sg=function(){function e(){b(this,e)}return P(e,[{key:"log",value:function(){return function(){}}},{key:"info",value:function(){return function(){}}},{key:"warn",value:function(){return function(){}}},{key:"error",value:function(){return function(){}}}]),e}(),Ng={fetch:null,mimeType:void 0,nothrow:!1,log:new(function(){function e(){b(this,e),Xm(this,"console",void 0),this.console=console}return P(e,[{key:"log",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r=0)}()}var zg={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":T(process))&&process},Kg=zg.window||zg.self||zg.global,Yg=zg.process||{},Xg="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";function qg(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}Wg();var Jg,Zg=function(){function e(t){b(this,e);var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Xm(this,"storage",void 0),Xm(this,"id",void 0),Xm(this,"config",{}),this.storage=qg(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function $g(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}function eE(e){return"string"==typeof e?Jg[e.toUpperCase()]||Jg.WHITE:e}function tE(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function nE(e,t){if(!e)throw new Error(t||"Assertion failed")}function rE(){var e,t,n;if(Wg&&"performance"in Kg)e=null==Kg||null===(t=Kg.performance)||void 0===t||null===(n=t.now)||void 0===n?void 0:n.call(t);else if("hrtime"in Yg){var r,i=null==Yg||null===(r=Yg.hrtime)||void 0===r?void 0:r.call(Yg);e=1e3*i[0]+i[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(Jg||(Jg={}));var iE={debug:Wg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},aE={enabled:!0,level:0};function sE(){}var oE={},lE={once:!0},uE=function(){function e(){b(this,e);var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;Xm(this,"id",void 0),Xm(this,"VERSION",Xg),Xm(this,"_startTs",rE()),Xm(this,"_deltaTs",rE()),Xm(this,"_storage",void 0),Xm(this,"userData",{}),Xm(this,"LOG_THROTTLE_TIMEOUT",0),this.id=n,this._storage=new Zg("__probe-".concat(this.id,"__"),aE),this.userData={},this.timeStamp("".concat(this.id," started")),tE(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((rE()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((rE()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(e,t){nE(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,iE.warn,arguments,lE)}},{key:"error",value:function(e){return this._getLogFunction(0,e,iE.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,iE.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,iE.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=fE({logLevel:e,message:t,opts:n}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||sE)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=cE(e)}},{key:"_getLogFunction",value:function(e,t,n,r,i){if(this._shouldLog(e)){var a;i=fE({logLevel:e,message:t,args:r,opts:i}),nE(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=rE();var s=i.tag||i.message;if(i.once){if(oE[s])return sE;oE[s]=rE()}return t=function(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return Wg||"string"!=typeof e||(t&&(t=eE(t),e="[".concat(t,"m").concat(e,"")),n&&(t=eE(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return sE}}]),e}();function cE(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return nE(Number.isFinite(t)&&t>=0),t}function fE(e){var t=e.logLevel,n=e.message;e.logLevel=cE(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return nE("string"===i||"object"===i),Object.assign(e,{args:r},e.opts)}function pE(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}Xm(uE,"VERSION",Xg);var AE=new uE({id:"loaders.gl"}),dE=/\.([^.]+)$/;function vE(e){return hE.apply(this,arguments)}function hE(){return hE=u(o().mark((function e(t){var n,r,i,s,l=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:[],r=l.length>2?l[2]:void 0,i=l.length>3?l[3]:void 0,mE(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(s=IE(t,n,a(a({},r),{},{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",s);case 8:if(!kw(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,s=IE(t,n,r,i);case 13:if(s||null!=r&&r.nothrow){e.next=15;break}throw new Error(wE(t));case 15:return e.abrupt("return",s);case 16:case"end":return e.stop()}}),e)}))),hE.apply(this,arguments)}function IE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!mE(e))return null;if(t&&!Array.isArray(t))return Vg(t);var i,a=[];(t&&(a=a.concat(t)),null!=n&&n.ignoreRegisteredLoaders)||(i=a).push.apply(i,c(Qg()));gE(a);var s=yE(e,a,n,r);if(!(s||null!=n&&n.nothrow))throw new Error(wE(e));return s}function yE(e,t,n,r){var i,a=Yw(e),s=a.url,o=a.type,l=s||(null==r?void 0:r.url),u=null,c="";(null!=n&&n.mimeType&&(u=EE(t,null==n?void 0:n.mimeType),c="match forced by supplied MIME type ".concat(null==n?void 0:n.mimeType)),u=u||function(e,t){var n=t&&dE.exec(t),r=n&&n[1];return r?function(e,t){t=t.toLowerCase();var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i,a=n.value,s=f(a.extensions);try{for(s.s();!(i=s.n()).done;){if(i.value.toLowerCase()===t)return a}}catch(e){s.e(e)}finally{s.f()}}}catch(e){r.e(e)}finally{r.f()}return null}(e,r):null}(t,l),c=c||(u?"matched url ".concat(l):""),u=u||EE(t,o),c=c||(u?"matched MIME type ".concat(o):""),u=u||function(e,t){if(!t)return null;var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("string"==typeof t){if(TE(t,i))return i}else if(ArrayBuffer.isView(t)){if(bE(t.buffer,t.byteOffset,i))return i}else if(t instanceof ArrayBuffer){if(bE(t,0,i))return i}}}catch(e){r.e(e)}finally{r.f()}return null}(t,e),c=c||(u?"matched initial data ".concat(DE(e)):""),u=u||EE(t,null==n?void 0:n.fallbackMimeType),c=c||(u?"matched fallback MIME type ".concat(o):""))&&AE.log(1,"selectLoader selected ".concat(null===(i=u)||void 0===i?void 0:i.name,": ").concat(c,"."));return u}function mE(e){return!(e instanceof Response&&204===e.status)}function wE(e){var t=Yw(e),n=t.url,r=t.type,i="No valid loader found (";i+=n?"".concat(function(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(t+1):""}(n),", "):"no url provided, ",i+="MIME type: ".concat(r?'"'.concat(r,'"'):"not provided",", ");var a=e?DE(e):"";return i+=a?' first bytes: "'.concat(a,'"'):"first bytes: not available",i+=")"}function gE(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){Vg(t.value)}}catch(e){n.e(e)}finally{n.f()}}function EE(e,t){var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.mimeTypes&&i.mimeTypes.includes(t))return i;if(t==="application/x.".concat(i.id))return i}}catch(e){r.e(e)}finally{r.f()}return null}function TE(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function bE(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some((function(r){return function(e,t,n,r){if(r instanceof ArrayBuffer)return function(e,t,n){if(n=n||e.byteLength,e.byteLength1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return PE(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var n=0;return PE(e,n,t)}return""}function PE(e,t,n){if(e.byteLength1&&void 0!==c[1]?c[1]:{},r=t.chunkSize,i=void 0===r?262144:r,a=0;case 3:if(!(a2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var r=a({fetch:Hg(t,e)},e);return Array.isArray(r.loaders)||(r.loaders=null),r}function UE(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var r=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(c(n),c(r)):r}return n&&n.length?n:null}function GE(e,t,n,r){return kE.apply(this,arguments)}function kE(){return(kE=u(o().mark((function e(t,n,r,i){var a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return jm(!i||"object"===T(i)),!n||Array.isArray(n)||jg(n)||(i=void 0,r=n,n=void 0),e.next=4,t;case 4:return t=e.sent,r=r||{},a=Yw(t),s=a.url,l=UE(n,i),e.next=11,vE(t,l,r);case 11:if(u=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return r=Fg(r,u,l,s),i=HE({url:s,parse:GE,loaders:l},r,i),e.next=18,jE(u,t,r,i);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jE(e,t,n,r){return VE.apply(this,arguments)}function VE(){return(VE=u(o().mark((function e(t,n,r,i){var a,s,l,u,c,f,p,A;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return uw(t),Gw(n)&&(s=(a=n).ok,l=a.redirected,u=a.status,c=a.statusText,f=a.type,p=a.url,A=Object.fromEntries(a.headers.entries()),i.response={headers:A,ok:s,redirected:l,status:u,statusText:c,type:f,url:p}),e.next=4,ME(n,t,r);case 4:if(n=e.sent,!t.parseTextSync||"string"!=typeof n){e.next=8;break}return r.dataType="text",e.abrupt("return",t.parseTextSync(n,r,i,t));case 8:if(!yw(t,r)){e.next=12;break}return e.next=11,mw(t,n,r,i,GE);case 11:case 15:case 19:return e.abrupt("return",e.sent);case 12:if(!t.parseText||"string"!=typeof n){e.next=16;break}return e.next=15,t.parseText(n,r,i,t);case 16:if(!t.parse){e.next=20;break}return e.next=19,t.parse(n,r,i,t);case 20:throw jm(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var QE,WE,zE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.wasm"),KE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.js");function YE(e){return XE.apply(this,arguments)}function XE(){return(XE=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basis){e.next=3;break}return e.abrupt("return",n.basis);case 3:return QE=QE||qE(t),e.next=6,QE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qE(e){return JE.apply(this,arguments)}function JE(){return(JE=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw("basis_transcoder.js","textures",t);case 5:return e.t1=e.sent,e.next=8,pw("basis_transcoder.wasm","textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,ZE(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ZE(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile;(0,e.initializeBasis)(),t({BasisFile:n})}))}))}function $E(e){return eT.apply(this,arguments)}function eT(){return(eT=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basisEncoder){e.next=3;break}return e.abrupt("return",n.basisEncoder);case 3:return WE=WE||tT(t),e.next=6,WE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tT(e){return nT.apply(this,arguments)}function nT(){return(nT=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw(KE,"textures",t);case 5:return e.t1=e.sent,e.next=8,pw(zE,"textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,rT(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rT(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile,r=e.KTX2File,i=e.initializeBasis,a=e.BasisEncoder;i(),t({BasisFile:n,KTX2File:r,BasisEncoder:a})}))}))}var iT,aT,sT,oT,lT,uT,cT,fT,pT,AT=33776,dT=33779,vT=35840,hT=35842,IT=36196,yT=37808,mT=["","WEBKIT_","MOZ_"],wT={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},gT=null;function ET(e){if(!gT){e=e||function(){try{return document.createElement("canvas").getContext("webgl")}catch(e){return null}}()||void 0,gT=new Set;var t,n=f(mT);try{for(n.s();!(t=n.n()).done;){var r=t.value;for(var i in wT)if(e&&e.getExtension("".concat(r).concat(i))){var a=wT[i];gT.add(a)}}}catch(e){n.e(e)}finally{n.f()}}return gT}(pT=iT||(iT={}))[pT.NONE=0]="NONE",pT[pT.BASISLZ=1]="BASISLZ",pT[pT.ZSTD=2]="ZSTD",pT[pT.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(aT||(aT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(sT||(sT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(oT||(oT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(lT||(lT={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(uT||(uT={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(cT||(cT={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(fT||(fT={}));var TT=[171,75,84,88,32,50,48,187,13,10,26,10];function bT(e){var t=new Uint8Array(e);return!(t.byteLength1&&void 0!==r[1]?r[1]:null)&&JT||(n=null),!n){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,n);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),JT=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])}))),tb.apply(this,arguments)}function nb(e){for(var t in e||qT)return!1;return!0}function rb(e){var t=ib(e);return function(e){var t=ib(e);if(!(t.byteLength>=24&&2303741511===t.getUint32(0,false)))return null;return{mimeType:"image/png",width:t.getUint32(16,false),height:t.getUint32(20,false)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,false)&&255===t.getUint8(2)))return null;var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var n=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:n}}(),r=n.tableMarkers,i=n.sofMarkers,a=2;for(;a+9=10&&1195984440===t.getUint32(0,false)))return null;return{mimeType:"image/gif",width:t.getUint16(6,true),height:t.getUint16(8,true)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,false)&&t.getUint32(2,true)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,true),height:t.getUint32(22,true)}}(t)}function ib(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function ab(e,t){return sb.apply(this,arguments)}function sb(){return sb=u(o().mark((function e(t,n){var r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=rb(t)||{},i=r.mimeType,Um(a=globalThis._parseImageNode),e.next=5,a(t,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)}))),sb.apply(this,arguments)}function ob(){return(ob=u(o().mark((function e(t,n,r){var i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(n=n||{}).image||{},a=i.type||"auto",s=(r||{}).url,l=lb(a),e.t0=l,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,ZT(t,n,s);case 10:return u=e.sent,e.abrupt("break",21);case 12:return e.next=14,zT(t,n,s);case 14:return u=e.sent,e.abrupt("break",21);case 16:return e.next=18,ab(t);case 18:return u=e.sent,e.abrupt("break",21);case 20:Um(!1);case 21:return"data"===a&&(u=GT(u)),e.abrupt("return",u);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lb(e){switch(e){case"auto":case"data":return function(){if(MT)return"imagebitmap";if(xT)return"image";if(HT)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return MT||xT||HT;case"imagebitmap":return MT;case"image":return xT;case"data":return HT;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ub={id:"image",module:"images",name:"Images",version:"3.2.6",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return ob.apply(this,arguments)},tests:[function(e){return Boolean(rb(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},cb=["image/png","image/jpeg","image/gif"],fb={};function pb(e){return void 0===fb[e]&&(fb[e]=function(e){switch(e){case"image/webp":return function(){if(!Gm)return!1;try{return 0===document.createElement("canvas").toDataURL("image/webp").indexOf("data:image/webp")}catch(e){return!1}}();case"image/svg":return Gm;default:if(!Gm){var t=globalThis._parseImageNode;return Boolean(t)&&cb.includes(e)}return!0}}(e)),fb[e]}function Ab(e,t){if(!e)throw new Error(t||"assert failed: gltf")}function db(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;var n=t.baseUri||t.uri;if(!n)throw new Error("'baseUri' must be provided to resolve relative url ".concat(e));return n.substr(0,n.lastIndexOf("/")+1)+e}function vb(e,t,n){var r=e.bufferViews[n];Ab(r);var i=t[r.buffer];Ab(i);var a=(r.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,a,r.byteLength)}var hb=["SCALAR","VEC2","VEC3","VEC4"],Ib=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],yb=new Map(Ib),mb={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},wb={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},gb={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Eb(e){return hb[e-1]||hb[0]}function Tb(e){var t=yb.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function bb(e,t){var n=gb[e.componentType],r=mb[e.type],i=wb[e.componentType],a=e.count*r,s=e.count*r*i;return Ab(s>=0&&s<=t.byteLength),{ArrayType:n,length:a,byteLength:s}}var Db,Pb={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},Rb=function(){function e(t){b(this,e),Xm(this,"gltf",void 0),Xm(this,"sourceBuffers",void 0),Xm(this,"byteLength",void 0),this.gltf=t||{json:a({},Pb),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return P(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){var t=this.getUsedExtensions().find((function(t){return t===e})),n=this.json.extensions||{};return t?n[e]||!0:null}},{key:"getRequiredExtension",value:function(e){var t=this.getRequiredExtensions().find((function(t){return t===e}));return t?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){var t=(e=this.getBufferView(e)).buffer,n=this.gltf.buffers[t];Ab(n);var r=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,r,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=bb(e,t),i=r.ArrayType,a=r.length;return new i(n,t.byteOffset+e.byteOffset,a)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=t.byteOffset||0;return new Uint8Array(n,r,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},r=n[t];return delete n[t],r}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var r={mesh:t};return n&&(r.matrix=n),this.json.nodes.push(r),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,r=e.material,i=e.mode,a=void 0===i?4:i,s={primitives:[{attributes:this._addAttributes(t),mode:a}]};if(n){var o=this._addIndices(n);s.primitives[0].indices=o}return Number.isFinite(r)&&(s.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=rb(e),r=t||(null==n?void 0:n.mimeType),i={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;Ab(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=_w(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:Eb(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),r={min:t.min,max:t.max};r.min&&r.max||(r=this._getAccessorMinMax(e,t.size));var i={size:t.size,componentType:Tb(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(n,Object.assign(i,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,r=this.byteLength,i=new ArrayBuffer(r),a=new Uint8Array(i),s=0,o=f(this.sourceBuffers||[]);try{for(o.s();!(n=o.n()).done;){s=Bw(n.value,a,s)}}catch(e){o.e(e)}finally{o.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=i,this.sourceBuffers=[i]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var r=e.indexOf(t);r>-1?e.splice(r,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var r=e[n],i=this._getGltfAttributeName(n),a=this.addBinaryBuffer(r.value,r);t[i]=a}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length5&&void 0!==u[5]?u[5]:"NONE",e.next=3,Mb();case 3:kb(l=e.sent,l.exports[Nb[a]],t,n,r,i,l.exports[Sb[s||"NONE"]]);case 5:case"end":return e.stop()}}),e)}))),xb.apply(this,arguments)}function Mb(){return Fb.apply(this,arguments)}function Fb(){return(Fb=u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Db||(Db=Hb()),e.abrupt("return",Db);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hb(){return Ub.apply(this,arguments)}function Ub(){return(Ub=u(o().mark((function e(){var t,n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Cb,WebAssembly.validate(Bb)&&(t=_b,console.log("Warning: meshopt_decoder is using experimental SIMD support")),e.next=4,WebAssembly.instantiate(Gb(t),{});case 4:return n=e.sent,e.next=7,n.instance.exports.__wasm_call_ctors();case 7:return e.abrupt("return",n.instance);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gb(e){for(var t=new Uint8Array(e.length),n=0;n96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}for(var i=0,a=0;ai?c:i,a=f>a?f:a,s=p>s?p:s}return[[t,n,r],[i,a,s]]}var qb=function(){function e(t,n){b(this,e),Xm(this,"fields",void 0),Xm(this,"metadata",void 0),function(e,t){if(!e)throw new Error(t||"loader assertion failed.")}(Array.isArray(t)),function(e){var t,n={},r=f(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i.name]&&console.warn("Schema: duplicated field name",i.name,i),n[i.name]=!0}}catch(e){r.e(e)}finally{r.f()}}(t),this.fields=t,this.metadata=n||new Map}return P(e,[{key:"compareTo",value:function(e){if(this.metadata!==e.metadata)return!1;if(this.fields.length!==e.fields.length)return!1;for(var t=0;t2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;b(this,e),Xm(this,"name",void 0),Xm(this,"type",void 0),Xm(this,"nullable",void 0),Xm(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=r,this.metadata=i}return P(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(Zb||(Zb={}));var eD=function(){function e(){b(this,e)}return P(e,[{key:"typeId",get:function(){return Zb.NONE}},{key:"compareTo",value:function(e){return this===e}}],[{key:"isNull",value:function(e){return e&&e.typeId===Zb.Null}},{key:"isInt",value:function(e){return e&&e.typeId===Zb.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===Zb.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===Zb.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===Zb.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===Zb.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===Zb.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===Zb.Date}},{key:"isTime",value:function(e){return e&&e.typeId===Zb.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===Zb.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===Zb.Interval}},{key:"isList",value:function(e){return e&&e.typeId===Zb.List}},{key:"isStruct",value:function(e){return e&&e.typeId===Zb.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===Zb.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===Zb.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===Zb.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===Zb.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===Zb.Dictionary}}]),e}(),tD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"isSigned",void 0),Xm(g(i),"bitWidth",void 0),i.isSigned=e,i.bitWidth=t,i}return P(r,[{key:"typeId",get:function(){return Zb.Int}},{key:t,get:function(){return"Int"}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),r}(0,Symbol.toStringTag),nD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,8)}return P(n)}(),rD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,16)}return P(n)}(),iD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,32)}return P(n)}(),aD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,8)}return P(n)}(),sD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,16)}return P(n)}(),oD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,32)}return P(n)}(),lD=32,uD=64,cD=function(e,t){I(r,eD);var n=m(r);function r(e){var t;return b(this,r),Xm(g(t=n.call(this)),"precision",void 0),t.precision=e,t}return P(r,[{key:"typeId",get:function(){return Zb.Float}},{key:t,get:function(){return"Float"}},{key:"toString",value:function(){return"Float".concat(this.precision)}}]),r}(0,Symbol.toStringTag),fD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,lD)}return P(n)}(),pD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,uD)}return P(n)}(),AD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"listSize",void 0),Xm(g(i),"children",void 0),i.listSize=e,i.children=[t],i}return P(r,[{key:"typeId",get:function(){return Zb.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:t,get:function(){return"FixedSizeList"}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),r}(0,Symbol.toStringTag);function dD(e,t,n){var r=function(e){switch(e.constructor){case Int8Array:return new nD;case Uint8Array:return new aD;case Int16Array:return new rD;case Uint16Array:return new sD;case Int32Array:return new iD;case Uint32Array:return new oD;case Float32Array:return new fD;case Float64Array:return new pD;default:throw new Error("array type not supported")}}(t.value),i=n||function(e){var t=new Map;"byteOffset"in e&&t.set("byteOffset",e.byteOffset.toString(10));"byteStride"in e&&t.set("byteStride",e.byteStride.toString(10));"normalized"in e&&t.set("normalized",e.normalized.toString());return t}(t);return new $b(e,new AD(t.size,new $b("value",r)),!1,i)}function vD(e,t,n){var r=ID(t.metadata),i=[],a=function(e){var t={};for(var n in e){var r=e[n];t[r.name||"undefined"]=r}return t}(t.attributes);for(var s in e){var o=hD(s,e[s],a[s]);i.push(o)}if(n){var l=hD("indices",n);i.push(l)}return new qb(i,r)}function hD(e,t,n){return dD(e,t,n?ID(n.metadata):void 0)}function ID(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var yD={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},mD={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},wD=function(){function e(t){b(this,e),Xm(this,"draco",void 0),Xm(this,"decoder",void 0),Xm(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return P(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var r=this.decoder.GetEncodedGeometryType(n),i=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var s;switch(r){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!i.ptr){var o="DRACO decompression failed: ".concat(s.error_msg());throw new Error(o)}var l=this._getDracoLoaderData(i,r,t),u=this._getMeshData(i,l,t),c=Xb(u.attributes),f=vD(u.attributes,l,u.indices),p=a(a({loader:"draco",loaderData:l,header:{vertexCount:i.num_points(),boundingBox:c}},u),{},{schema:f});return p}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var r=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:i}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},r=0;r2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(n&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),r=t.length/n);return{buffer:t,size:n,count:r}}(e),n=t.buffer,r=t.size;return{value:n,size:r,byteOffset:0,count:t.count,type:Eb(r),componentType:Tb(n)}}function LD(){return(LD=u(o().mark((function e(t,n,r){var i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(i=n.gltf)&&void 0!==i&&i.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:a=new Rb(t),s=[],l=f(UD(a));try{for(l.s();!(u=l.n()).done;)c=u.value,a.getObjectExtension(c,"KHR_draco_mesh_compression")&&s.push(xD(a,c,n,r))}catch(e){l.e(e)}finally{l.f()}return e.next=8,Promise.all(s);case 8:a.removeExtension("KHR_draco_mesh_compression");case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function xD(e,t,n,r){return MD.apply(this,arguments)}function MD(){return MD=u(o().mark((function e(t,n,r,i){var s,l,u,c,f,A,d,v,h,I,y,m,w,g;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=t.getObjectExtension(n,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return l=t.getTypedArrayForBufferView(s.bufferView),u=Cw(l.buffer,l.byteOffset),c=i.parse,delete(f=a({},r))["3d-tiles"],e.next=10,c(u,BD,f,i);case 10:for(A=e.sent,d=SD(A.attributes),v=0,h=Object.entries(d);v2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var o=i.DracoWriter.encodeSync({attributes:e}),l=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),u=i._addFauxAttributes(l.attributes),c=i.addBufferView(o),f={primitives:[{attributes:u,mode:r,extensions:s({},"KHR_draco_mesh_compression",{bufferView:c,attributes:u})}]};return f}function HD(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function UD(e){var t,n,i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=f(e.json.meshes||[]),r.prev=1,t.s();case 3:if((n=t.n()).done){r.next=24;break}i=n.value,a=f(i.primitives),r.prev=6,a.s();case 8:if((s=a.n()).done){r.next=14;break}return l=s.value,r.next=12,l;case 12:r.next=8;break;case 14:r.next=19;break;case 16:r.prev=16,r.t0=r.catch(6),a.e(r.t0);case 19:return r.prev=19,a.f(),r.finish(19);case 22:r.next=3;break;case 24:r.next=29;break;case 26:r.prev=26,r.t1=r.catch(1),t.e(r.t1);case 29:return r.prev=29,t.f(),r.finish(29);case 32:case"end":return r.stop()}}),r,null,[[1,26,29,32],[6,16,19,22]])}function GD(){return(GD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,(i=n.getExtension("KHR_lights_punctual"))&&(n.json.lights=i.lights,n.removeExtension("KHR_lights_punctual")),a=f(r.nodes||[]);try{for(a.s();!(s=a.n()).done;)l=s.value,(u=n.getObjectExtension(l,"KHR_lights_punctual"))&&(l.light=u.light),n.removeObjectExtension(l,"KHR_lights_punctual")}catch(e){a.e(e)}finally{a.f()}case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kD(){return(kD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),(r=n.json).lights&&(Ab(!(i=n.addExtension("KHR_lights_punctual")).lights),i.lights=r.lights,delete r.lights),n.json.lights){a=f(n.json.lights);try{for(a.s();!(s=a.n()).done;)l=s.value,u=l.node,n.addObjectExtension(u,"KHR_lights_punctual",l)}catch(e){a.e(e)}finally{a.f()}delete n.json.lights}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jD(){return(jD=u(o().mark((function e(t){var n,r,i,a,s;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,n.removeExtension("KHR_materials_unlit"),i=f(r.materials||[]);try{for(i.s();!(a=i.n()).done;)s=a.value,s.extensions&&s.extensions.KHR_materials_unlit&&(s.unlit=!0),n.removeObjectExtension(s,"KHR_materials_unlit")}catch(e){i.e(e)}finally{i.f()}case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function VD(){return(VD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),r=n.json,i=n.getExtension("KHR_techniques_webgl")){a=WD(i,n),s=f(r.materials||[]);try{for(s.s();!(l=s.n()).done;)u=l.value,(c=n.getObjectExtension(u,"KHR_techniques_webgl"))&&(u.technique=Object.assign({},c,a[c.technique]),u.technique.values=zD(u.technique,n)),n.removeObjectExtension(u,"KHR_techniques_webgl")}catch(e){s.e(e)}finally{s.f()}n.removeExtension("KHR_techniques_webgl")}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function QD(){return(QD=u(o().mark((function e(t,n){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function WD(e,t){var n=e.programs,r=void 0===n?[]:n,i=e.shaders,a=void 0===i?[]:i,s=e.techniques,o=void 0===s?[]:s,l=new TextDecoder;return a.forEach((function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=l.decode(t.getTypedArrayForBufferView(e.bufferView))})),r.forEach((function(e){e.fragmentShader=a[e.fragmentShader],e.vertexShader=a[e.vertexShader]})),o.forEach((function(e){e.program=r[e.program]})),o}function zD(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach((function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)})),Object.keys(n).forEach((function(e){"object"===T(n[e])&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))})),n}var KD=[Wb,zb,Kb,Object.freeze({__proto__:null,name:"KHR_draco_mesh_compression",preprocess:function(e,t,n){var r,i=new Rb(e),a=f(UD(i));try{for(a.s();!(r=a.n()).done;){var s=r.value;i.getObjectExtension(s,"KHR_draco_mesh_compression")}}catch(e){a.e(e)}finally{a.f()}},decode:function(e,t,n){return LD.apply(this,arguments)},encode:function(e){var t,n=new Rb(e),r=f(n.json.meshes||[]);try{for(r.s();!(t=r.n()).done;){var i=t.value;FD(i),n.addRequiredExtension("KHR_draco_mesh_compression")}}catch(e){r.e(e)}finally{r.f()}}}),Object.freeze({__proto__:null,name:"KHR_lights_punctual",decode:function(e){return GD.apply(this,arguments)},encode:function(e){return kD.apply(this,arguments)}}),Object.freeze({__proto__:null,name:"KHR_materials_unlit",decode:function(e){return jD.apply(this,arguments)},encode:function(e){var t=new Rb(e),n=t.json;if(t.materials){var r,i=f(n.materials||[]);try{for(i.s();!(r=i.n()).done;){var a=r.value;a.unlit&&(delete a.unlit,t.addObjectExtension(a,"KHR_materials_unlit",{}),t.addExtension("KHR_materials_unlit"))}}catch(e){i.e(e)}finally{i.f()}}}}),Object.freeze({__proto__:null,name:"KHR_techniques_webgl",decode:function(e){return VD.apply(this,arguments)},encode:function(e,t){return QD.apply(this,arguments)}})];function YD(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i);try{for(a.s();!(t=a.n()).done;){var s,o=t.value;null===(s=o.preprocess)||void 0===s||s.call(o,e,n,r)}}catch(e){a.e(e)}finally{a.f()}}function XD(e){return qD.apply(this,arguments)}function qD(){return qD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i),e.prev=4,a.s();case 6:if((s=a.n()).done){e.next=12;break}return l=s.value,e.next=10,null===(u=l.decode)||void 0===u?void 0:u.call(l,t,n,r);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),a.e(e.t0);case 17:return e.prev=17,a.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[4,14,17,20]])}))),qD.apply(this,arguments)}function JD(e,t){var n,r=(null==t||null===(n=t.gltf)||void 0===n?void 0:n.excludeExtensions)||{};return!(e in r&&!r[e])}var ZD={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},$D={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},eP=function(){function e(){b(this,e),Xm(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}),Xm(this,"json",void 0)}return P(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new Rb(e),r=n.json,i=f(r.images||[]);try{for(i.s();!(t=i.n()).done;){var a=t.value,s=n.getObjectExtension(a,"KHR_binary_glTF");s&&Object.assign(a,s),n.removeObjectExtension(a,"KHR_binary_glTF")}}catch(e){i.e(e)}finally{i.f()}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,n.removeExtension("KHR_binary_glTF")}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in ZD)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var r in e[t]=[],n){var i=n[r];i.id=i.id||r;var a=e[t].length;e[t].push(i),this.idToIndexMap[t][r]=a}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in ZD)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,r=f(e.textures);try{for(r.s();!(n=r.n()).done;){var i=n.value;this._convertTextureIds(i)}}catch(e){r.e(e)}finally{r.f()}var a,s=f(e.meshes);try{for(s.s();!(a=s.n()).done;){var o=a.value;this._convertMeshIds(o)}}catch(e){s.e(e)}finally{s.f()}var l,u=f(e.nodes);try{for(u.s();!(l=u.n()).done;){var c=l.value;this._convertNodeIds(c)}}catch(e){u.e(e)}finally{u.f()}var p,A=f(e.scenes);try{for(A.s();!(p=A.n()).done;){var d=p.value;this._convertSceneIds(d)}}catch(e){A.e(e)}finally{A.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=f(e.primitives);try{for(n.s();!(t=n.n()).done;){var r=t.value,i=r.attributes,a=r.indices,s=r.material;for(var o in i)i[o]=this._convertIdToIndex(i[o],"accessor");a&&(r.indices=this._convertIdToIndex(a,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}catch(e){n.e(e)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map((function(e){return t._convertIdToIndex(e,"node")}))),e.meshes&&(e.meshes=e.meshes.map((function(e){return t._convertIdToIndex(e,"mesh")})))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map((function(e){return t._convertIdToIndex(e,"node")})))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,r=f(e[t]);try{for(r.s();!(n=r.n()).done;){var i=n.value;for(var a in i){var s=i[a],o=this._convertIdToIndex(s,a);i[a]=o}}}catch(e){r.e(e)}finally{r.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=$D[t];if(n in this.idToIndexMap){var r=this.idToIndexMap[n][e];if(!Number.isFinite(r))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return r}return e}},{key:"_updateObjects",value:function(e){var t,n=f(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(e){n.e(e)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=f(e.materials);try{var r=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var r=(null===(i=n.values)||void 0===i?void 0:i.tex)||(null===(a=n.values)||void 0===a?void 0:a.texture2d_0),s=e.textures.findIndex((function(e){return e.id===r}));-1!==s&&(n.pbrMetallicRoughness.baseColorTexture={index:s})};for(n.s();!(t=n.n()).done;){var i,a;r()}}catch(e){n.e(e)}finally{n.f()}}}]),e}();function tP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new eP).normalize(e,t)}var nP={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},rP={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},iP=10240,aP=10241,sP=10242,oP=10243,lP=10497,uP=9986,cP={magFilter:iP,minFilter:aP,wrapS:sP,wrapT:oP},fP=(s(e={},iP,9729),s(e,aP,uP),s(e,sP,lP),s(e,oP,lP),e);var pP=function(){function e(){b(this,e),Xm(this,"baseUri",""),Xm(this,"json",{}),Xm(this,"buffers",[]),Xm(this,"images",[])}return P(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,r=e.buffers,i=void 0===r?[]:r,a=e.images,s=void 0===a?[]:a,o=e.baseUri,l=void 0===o?"":o;return Ab(n),this.baseUri=l,this.json=n,this.buffers=i,this.images=s,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,n){return t._resolveBufferView(e,n)}))),e.images&&(e.images=e.images.map((function(e,n){return t._resolveImage(e,n)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,n){return t._resolveSampler(e,n)}))),e.textures&&(e.textures=e.textures.map((function(e,n){return t._resolveTexture(e,n)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,n){return t._resolveAccessor(e,n)}))),e.materials&&(e.materials=e.materials.map((function(e,n){return t._resolveMaterial(e,n)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,n){return t._resolveMesh(e,n)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,n){return t._resolveNode(e,n)}))),e.skins&&(e.skins=e.skins.map((function(e,n){return t._resolveSkin(e,n)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,n){return t._resolveScene(e,n)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return n.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return n.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var r=n.getMesh(t);return e.id=r.id,e.primitives=e.primitives.concat(r.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=a({},e)).attributes;for(var r in e.attributes={},t)e.attributes[r]=n.getAccessor(t[r]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=a({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=a({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=a({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=a({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=a({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=a({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var n,r;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(n=e.componentType,rP[n]),e.components=(r=e.type,nP[r]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var i=e.bufferView.buffer,a=bb(e,e.bufferView),s=a.ArrayType,o=a.byteLength,l=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,u=i.arrayBuffer.slice(l,l+o);e.bufferView.byteStride&&(u=this._getValueFromInterleavedBuffer(i,l,e.bufferView.byteStride,e.bytesPerElement,e.count)),e.value=new s(u)}return e}},{key:"_getValueFromInterleavedBuffer",value:function(e,t,n,r,i){for(var a=new Uint8Array(i*r),s=0;s1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function hP(e,t,n){Um(e.header.byteLength>20);var r=t.getUint32(n+0,dP),i=t.getUint32(n+4,dP);return n+=8,Um(0===i),yP(e,t,n,r),n+=r,n+=mP(e,t,n,e.header.byteLength)}function IP(e,t,n,r){return Um(e.header.byteLength>20),function(e,t,n,r){for(;n+8<=e.header.byteLength;){var i=t.getUint32(n+0,dP),a=t.getUint32(n+4,dP);switch(n+=8,a){case 1313821514:yP(e,t,n,i);break;case 5130562:mP(e,t,n,i);break;case 0:r.strict||yP(e,t,n,i);break;case 1:r.strict||mP(e,t,n,i)}n+=_w(i,4)}}(e,t,n,r),n+e.header.byteLength}function yP(e,t,n,r){var i=new Uint8Array(t.buffer,n,r),a=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(a),_w(r,4)}function mP(e,t,n,r){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:r,arrayBuffer:t.buffer}),_w(r,4)}function wP(e,t){return gP.apply(this,arguments)}function gP(){return gP=u(o().mark((function e(t,n){var r,i,a,s,l,u,c,f,p,A,d=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=d.length>2&&void 0!==d[2]?d[2]:0,i=d.length>3?d[3]:void 0,a=d.length>4?d[4]:void 0,EP(t,n,r,i),tP(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize}),YD(t,i,a),f=[],null==i||null===(l=i.gltf)||void 0===l||!l.loadBuffers||!t.json.buffers){e.next=10;break}return e.next=10,TP(t,i,a);case 10:return null!=i&&null!==(u=i.gltf)&&void 0!==u&&u.loadImages&&(p=DP(t,i,a),f.push(p)),A=XD(t,i,a),f.push(A),e.next=15,Promise.all(f);case 15:return e.abrupt("return",null!=i&&null!==(c=i.gltf)&&void 0!==c&&c.postProcess?AP(t,i):t);case 16:case"end":return e.stop()}}),e)}))),gP.apply(this,arguments)}function EP(e,t,n,r){(r.uri&&(e.baseUri=r.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new DataView(e),i=n.magic,a=void 0===i?1735152710:i,s=r.getUint32(t,!1);return s===a||1735152710===s}(t,n,r))&&(t=(new TextDecoder).decode(t));if("string"==typeof t)e.json=bw(t);else if(t instanceof ArrayBuffer){var i={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=new DataView(t),i=vP(r,n+0),a=r.getUint32(n+4,dP),s=r.getUint32(n+8,dP);switch(Object.assign(e,{header:{byteOffset:n,byteLength:s,hasBinChunk:!1},type:i,version:a,json:{},binChunks:[]}),n+=12,e.version){case 1:return hP(e,r,n);case 2:return IP(e,r,n,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(i,t,n,r.glb),Ab("glTF"===i.type,"Invalid GLB magic string ".concat(i.type)),e._glb=i,e.json=i.json}else Ab(!1,"GLTF: must be ArrayBuffer or string");var a=e.json.buffers||[];if(e.buffers=new Array(a.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var s=e._glb.binChunks;e.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}var o=e.json.images||[];e.images=new Array(o.length).fill({})}function TP(e,t,n){return bP.apply(this,arguments)}function bP(){return(bP=u(o().mark((function e(t,n,r){var i,a,s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.json.buffers||[],a=0;case 2:if(!(a1&&void 0!==u[1]?u[1]:{},r=u.length>2?u[2]:void 0,(n=a(a({},BP.options),n)).gltf=a(a({},BP.options.gltf),n.gltf),i=n.byteOffset,s=void 0===i?0:i,l={},e.next=8,wP(l,t,s,n,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),OP.apply(this,arguments)}var SP=function(){function e(t){b(this,e)}return P(e,[{key:"load",value:function(e,t,n,r,i,a,s){!function(e,t,n,r,i,a,s){var o=e.viewer.scene.canvas.spinner;o.processes++,"glb"===t.split(".").pop()?e.dataSource.getGLB(t,(function(s){r.basePath=LP(t),xP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)})):e.dataSource.getGLTF(t,(function(s){r.basePath=LP(t),xP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)}))}(e,t,n,r=r||{},i,(function(){he.scheduleTask((function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1)})),a&&a()}),(function(t){e.error(t),s&&s(t),i.fire("error",t)}))}},{key:"parse",value:function(e,t,n,r,i,a,s){xP(e,"",t,n,r=r||{},i,(function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1),a&&a()}))}}]),e}();function NP(e){for(var t={},n={},r=e.metaObjects||[],i={},a=0,s=r.length;a0)for(var c=0;c0){null==m&&e.log("Warning: 'name' properties not found on glTF scene nodes - will randomly-generate object IDs in XKT");var w=m;if(e.metaModelCorrections){var g=e.metaModelCorrections.eachChildRoot[w];if(g){var E=e.metaModelCorrections.eachRootStats[g.id];E.countChildren++,E.countChildren>=E.numChildren&&(a.createEntity({id:g.id,meshIds:GP}),GP.length=0)}else{e.metaModelCorrections.metaObjectsMap[w]&&(a.createEntity({id:w,meshIds:GP}),GP.length=0)}}else a.createEntity({id:w,meshIds:GP}),GP.length=0}}function jP(e,t){e.plugin.error(t)}var VP={DEFAULT:{}},QP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"GLTFLoader",e,i))._sceneModelLoader=new SP(g(r),i),r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new os}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0,dtxEnabled:t.dtxEnabled})),r=n.id;if(!t.src&&!t.gltf)return this.error("load() param expected: src or gltf"),n;if(t.metaModelSrc||t.metaModelJSON){var i=t.objectDefaults||this._objectDefaults||VP,a=function(a){var s;if(e.viewer.metaScene.createMetaModel(r,a,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes}),e.viewer.scene.canvas.spinner.processes--,t.includeTypes){s={};for(var o=0,l=t.includeTypes.length;o2&&void 0!==arguments[2]?arguments[2]:{},r="lightgrey",i=n.hoverColor||"rgba(0,0,0,0.4)",a=500,s=a+a/3,o=s/24,l=[{boundary:[6,6,6,6],color:n.frontColor||n.color||"#55FF55"},{boundary:[18,6,6,6],color:n.backColor||n.color||"#55FF55"},{boundary:[12,6,6,6],color:n.rightColor||n.color||"#FF5555"},{boundary:[0,6,6,6],color:n.leftColor||n.color||"#FF5555"},{boundary:[6,0,6,6],color:n.topColor||n.color||"#7777FF"},{boundary:[6,12,6,6],color:n.bottomColor||n.color||"#7777FF"}],u=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];n.frontColor||n.color,n.backColor||n.color,n.rightColor||n.color,n.leftColor||n.color,n.topColor||n.color,n.bottomColor||n.color;for(var c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}],f=0,p=u.length;f=f[0]*o&&t<=(f[0]+f[2])*o&&n>=f[1]*o&&n<=(f[1]+f[3])*o)return r}return-1},this.setAreaHighlighted=function(e,t){var n=v[e];if(!n)throw"Area not found: "+e;n.highlighted=!!t,m()},this.getAreaDir=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}var zP=$.vec3(),KP=$.vec3();$.mat4();var YP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,"NavCube",e,i),e.navCube=g(r);var a=!0;try{r._navCubeScene=new zn(e,{canvasId:i.canvasId,canvasElement:i.canvasElement,transparent:!0}),r._navCubeCanvas=r._navCubeScene.canvas.canvas,r._navCubeScene.input.keyboardEnabled=!1}catch(e){return r.error(e),w(r)}var s=r._navCubeScene;s.clearLights(),new vn(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),r._navCubeCamera=s.camera,r._navCubeCamera.ortho.scale=7,r._navCubeCamera.ortho.near=.1,r._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,r._zUp=Boolean(e.camera.zUp);var o=g(r);r.setIsProjectNorth(i.isProjectNorth),r.setProjectNorthOffsetAngle(i.projectNorthOffsetAngle);var l,u=(l=$.mat4(),function(e,t,n){return $.identityMat4(l),$.rotationMat4v(e*o._projectNorthOffsetAngle*$.DEGTORAD,[0,1,0],l),$.transformVec3(l,t,n)});r._synchCamera=function(){var t=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),n=$.vec3(),r=$.vec3(),i=$.vec3();return function(){var a=e.camera.eye,s=e.camera.look,l=e.camera.up;n=$.mulVec3Scalar($.normalizeVec3($.subVec3(a,s,n)),5),o._isProjectNorth&&o._projectNorthOffsetAngle&&(n=u(-1,n,zP),l=u(-1,l,KP)),o._zUp?($.transformVec3(t,n,r),$.transformVec3(t,l,i),o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=$.transformVec3(t,n,r),o._navCubeCamera.up=$.transformPoint3(t,l,i)):(o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=n,o._navCubeCamera.up=l)}}(),r._cubeTextureCanvas=new WP(e,s,i),r._cubeSampler=new Ba(s,{image:r._cubeTextureCanvas.getImage(),flipY:!0,wrapS:1001,wrapT:1001}),r._cubeMesh=new Ji(s,{geometry:new Cn(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new Nn(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:r._cubeSampler,emissiveMap:r._cubeSampler}),visible:!!a,edges:!0}),r._shadow=!1===i.shadowVisible?null:new Ji(s,{geometry:new Cn(s,$i({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new Nn(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!!a,pickable:!1,backfaces:!1}),r._onCameraMatrix=e.camera.on("matrix",r._synchCamera),r._onCameraWorldAxis=e.camera.on("worldAxis",(function(){e.camera.zUp?(r._zUp=!0,r._cubeTextureCanvas.setZUp(),r._repaint(),r._synchCamera()):e.camera.yUp&&(r._zUp=!1,r._cubeTextureCanvas.setYUp(),r._repaint(),r._synchCamera())})),r._onCameraFOV=e.camera.perspective.on("fov",(function(e){r._synchProjection&&(r._navCubeCamera.perspective.fov=e)})),r._onCameraProjection=e.camera.on("projection",(function(e){r._synchProjection&&(r._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var c=-1;function f(t,n){var r=(t-A)*-m,i=(n-d)*-m;e.camera.orbitYaw(r),e.camera.orbitPitch(-i),A=t,d=n}function p(e){var t=[0,0];if(e){for(var n=e.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;t[0]=e.pageX-r,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var A,d,v=null,h=null,I=!1,y=!1,m=.5;o._navCubeCanvas.addEventListener("mouseenter",o._onMouseEnter=function(e){y=!0}),o._navCubeCanvas.addEventListener("mouseleave",o._onMouseLeave=function(e){y=!1}),o._navCubeCanvas.addEventListener("mousedown",o._onMouseDown=function(e){if(1===e.which){v=e.x,h=e.y,A=e.clientX,d=e.clientY;var t=p(e),n=s.pick({canvasPos:t});I=!!n}}),document.addEventListener("mouseup",o._onMouseUp=function(e){if(1===e.which&&(I=!1,null!==v)){var t=p(e),n=s.pick({canvasPos:t,pickSurface:!0});if(n&&n.uv){var r=o._cubeTextureCanvas.getArea(n.uv);if(r>=0&&(document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0)){if(o._cubeTextureCanvas.setAreaHighlighted(r,!0),c=r,o._repaint(),e.xv+3||e.yh+3)return;var i=o._cubeTextureCanvas.getAreaDir(r);if(i){var a=o._cubeTextureCanvas.getAreaUp(r);o._isProjectNorth&&o._projectNorthOffsetAngle&&(i=u(1,i,zP),a=u(1,a,KP)),E(i,a,(function(){c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0&&(o._cubeTextureCanvas.setAreaHighlighted(r,!1),c=-1,o._repaint())}))}}}}}),document.addEventListener("mousemove",o._onMouseMove=function(e){if(c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),1!==e.buttons||I){if(I){var t=e.clientX,n=e.clientY;return document.body.style.cursor="move",void f(t,n)}if(y){var r=p(e),i=s.pick({canvasPos:r,pickSurface:!0});if(i){if(i.uv){document.body.style.cursor="pointer";var a=o._cubeTextureCanvas.getArea(i.uv);if(a===c)return;c>=0&&o._cubeTextureCanvas.setAreaHighlighted(c,!1),a>=0&&(o._cubeTextureCanvas.setAreaHighlighted(a,!0),o._repaint(),c=a)}}else document.body.style.cursor="default",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1)}}});var E=function(){var t=$.vec3();return function(n,r,i){var a=o._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,s=$.getAABB3Diag(a);$.getAABB3Center(a,t);var l=Math.abs(s/Math.tan(o._cameraFitFOV*$.DEGTORAD));e.cameraControl.pivotPos=t,o._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV,duration:o._cameraFlyDuration},i):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV},i)}}();return r._onUpdated=e.localeService.on("updated",(function(){r._cubeTextureCanvas.clear(),r._repaint()})),r.setVisible(i.visible),r.setCameraFitFOV(i.cameraFitFOV),r.setCameraFly(i.cameraFly),r.setCameraFlyDuration(i.cameraFlyDuration),r.setFitVisible(i.fitVisible),r.setSynchProjection(i.synchProjection),r}return P(n,[{key:"send",value:function(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}},{key:"_repaint",value:function(){var e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}},{key:"getVisible",value:function(){return!!this._navCubeCanvas&&this._cubeMesh.visible}},{key:"setFitVisible",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._fitVisible=e}},{key:"getFitVisible",value:function(){return this._fitVisible}},{key:"setCameraFly",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._cameraFly=e}},{key:"getCameraFly",value:function(){return this._cameraFly}},{key:"setCameraFitFOV",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:45;this._cameraFitFOV=e}},{key:"getCameraFitFOV",value:function(){return this._cameraFitFOV}},{key:"setCameraFlyDuration",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;this._cameraFlyDuration=e}},{key:"getCameraFlyDuration",value:function(){return this._cameraFlyDuration}},{key:"setSynchProjection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._synchProjection=e}},{key:"getSynchProjection",value:function(){return this._synchProjection}},{key:"setIsProjectNorth",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._isProjectNorth=e}},{key:"getIsProjectNorth",value:function(){return this._isProjectNorth}},{key:"setProjectNorthOffsetAngle",value:function(e){this._projectNorthOffsetAngle=e}},{key:"getProjectNorthOffsetAngle",value:function(){return this._projectNorthOffsetAngle}},{key:"destroy",value:function(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,v(E(n.prototype),"destroy",this).call(this)}}]),n}(),XP=$.vec3(),qP=function(){function e(){b(this,e)}return P(e,[{key:"load",value:function(e,t){var n=e.scene.canvas.spinner;n.processes++,JP(e,t,(function(t){$P(e,t,(function(){nR(e,t),n.processes--,he.scheduleTask((function(){e.fire("loaded",!0,!1)}))}))}))}},{key:"parse",value:function(e,t,n,r){if(t){var i=ZP(e,t,null);n&&tR(e,n,r),nR(e,i),e.src=null,e.fire("loaded",!0,!1)}else this.warn("load() param expected: objText")}}]),e}(),JP=function(e,t,n){rR(t,(function(r){var i=ZP(e,r,t);n(i)}),(function(t){e.error(t)}))},ZP=function(){var e={vertex_pattern:/^v\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,normal_pattern:/^vn\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,uv_pattern:/^vt\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,face_vertex:/^f\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)(?:\s+(-?\d+))?/,face_vertex_uv:/^f\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+))?/,face_vertex_uv_normal:/^f\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+)\/(-?\d+))?/,face_vertex_normal:/^f\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)(?:\s+(-?\d+)\/\/(-?\d+))?/,object_pattern:/^[og]\s*(.+)?/,smoothing_pattern:/^s\s+(\d+|on|off)/,material_library_pattern:/^mtllib /,material_use_pattern:/^usemtl /};return function(r,i,a){var s={src:a=a||"",basePath:t(a),objects:[],object:{},positions:[],normals:[],uv:[],materialLibraries:{}};n(s,"",!1),-1!==i.indexOf("\r\n")&&(i=i.replace("\r\n","\n"));for(var o=i.split("\n"),l="",u="",c="",A=[],d="function"==typeof"".trimLeft,v=0,h=o.length;v=0?n-1:n+t/3)}function i(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)}function a(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)}function s(e,t,n,r){var i=e.positions,a=e.object.geometry.positions;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function o(e,t){var n=e.positions,r=e.object.geometry.positions;r.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2])}function l(e,t,n,r){var i=e.normals,a=e.object.geometry.normals;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function u(e,t,n,r){var i=e.uv,a=e.object.geometry.uv;a.push(i[t+0]),a.push(i[t+1]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[r+0]),a.push(i[r+1])}function c(e,t){var n=e.uv,r=e.object.geometry.uv;r.push(n[t+0]),r.push(n[t+1])}function f(e,t,n,o,c,f,p,A,d,v,h,I,y){var m,w=e.positions.length,g=r(t,w),E=r(n,w),T=r(o,w);if(void 0===c?s(e,g,E,T):(s(e,g,E,m=r(c,w)),s(e,E,T,m)),void 0!==f){var b=e.uv.length;g=a(f,b),E=a(p,b),T=a(A,b),void 0===c?u(e,g,E,T):(u(e,g,E,m=a(d,b)),u(e,E,T,m))}if(void 0!==v){var D=e.normals.length;g=i(v,D),E=v===h?g:i(h,D),T=v===I?g:i(I,D),void 0===c?l(e,g,E,T):(l(e,g,E,m=i(y,D)),l(e,E,T,m))}}function p(e,t,n){e.object.geometry.type="Line";for(var i=e.positions.length,s=e.uv.length,l=0,u=t.length;l=0?s.substring(0,o):s).toLowerCase(),u=(u=o>=0?s.substring(o+1):"").trim(),l.toLowerCase()){case"newmtl":n(e,p),p={id:u},A=!0;break;case"ka":p.ambient=r(u);break;case"kd":p.diffuse=r(u);break;case"ks":p.specular=r(u);break;case"map_kd":p.diffuseMap||(p.diffuseMap=t(e,a,u,"sRGB"));break;case"map_ks":p.specularMap||(p.specularMap=t(e,a,u,"linear"));break;case"map_bump":case"bump":p.normalMap||(p.normalMap=t(e,a,u));break;case"ns":p.shininess=parseFloat(u);break;case"d":(c=parseFloat(u))<1&&(p.alpha=c,p.alphaMode="blend");break;case"tr":(c=parseFloat(u))>0&&(p.alpha=1-c,p.alphaMode="blend")}A&&n(e,p)};function t(e,t,n,r){var i={},a=n.split(/\s+/),s=a.indexOf("-bm");return s>=0&&a.splice(s,2),(s=a.indexOf("-s"))>=0&&(i.scale=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),(s=a.indexOf("-o"))>=0&&(i.translate=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),i.src=t+a.join(" ").trim(),i.flipY=!0,i.encoding=r||"linear",new Ba(e,i).id}function n(e,t){new Nn(e,t)}function r(t){var n=t.split(e,3);return[parseFloat(n[0]),parseFloat(n[1]),parseFloat(n[2])]}}();function nR(e,t){for(var n=0,r=t.objects.length;n0&&(s.normals=a.normals),a.uv.length>0&&(s.uv=a.uv);for(var o=new Array(s.positions.length/3),l=0;l0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new da(this.viewer.scene,le.apply(t,{isModel:!0})),r=n.id,i=t.src;if(!i)return this.error("load() param expected: src"),n;if(t.metaModelSrc){var a=t.metaModelSrc;le.loadJSON(a,(function(a){e.viewer.metaScene.createMetaModel(r,a),e._sceneGraphLoader.load(n,i,t)}),(function(t){e.error("load(): Failed to load model modelMetadata for model '".concat(r," from '").concat(a,"' - ").concat(t))}))}else this._sceneGraphLoader.load(n,i,t);return n.once("destroyed",(function(){e.viewer.metaScene.destroyMetaModel(r)})),n}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aR=new Float64Array([0,0,1]),sR=new Float64Array(4),oR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(aR,e,sR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r,i,a=this._rootNode,s={arrowHead:new Cn(a,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(a,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new Cn(a,$i({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new Cn(a,ka({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new Cn(a,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new Cn(a,$i({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new Nn(a,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new Nn(a,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new xn(a,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new Nn(a,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new xn(a,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new Nn(a,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new xn(a,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new Nn(a,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new xn(a,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new xn(a,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:a.addChild(new Ji(a,{geometry:new Cn(a,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new xn(a,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new xn(a,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.red,matrix:(r=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),i=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4()),$.mulMat4(i,r,$.identityMat4())),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.07,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(0*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.8,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.07,0,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.8,0,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.blue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.8,-.07,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4());return $.mulMat4(e,t,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.05,-.8,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:a.addChild(new Ji(a,{geometry:new Cn(a,ea({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:a.addChild(new Ji(a,{geometry:s.axis,material:o.red,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new xn(a,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this,n=!1,r=-1,i=0,a=1,s=2,o=3,l=4,u=5,c=this._rootNode,f=null,p=null,A=$.vec2(),d=$.vec3([1,0,0]),v=$.vec3([0,1,0]),h=$.vec3([0,0,1]),I=this._viewer.scene.canvas.canvas,y=this._viewer.camera,m=this._viewer.scene,w=$.vec3([0,0,0]),g=-1;this._onCameraViewMatrix=m.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=m.camera.on("projMatrix",(function(){})),this._onSceneTick=m.on("tick",(function(){var t=Math.abs($.lenVec3($.subVec3(m.camera.eye,e._pos,w)));if(t!==g&&"perspective"===y.projection){var n=.07*(Math.tan(y.perspective.fov*$.DEGTORAD)*t);c.scale=[n,n,n],g=t}if("ortho"===y.projection){var r=y.ortho.scale/10;c.scale=[r,r,r],g=t}}));var E,T,b,D,P,R=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),C=function(){var e=$.mat4();return function(n,r){return $.quaternionToMat4(t._rootNode.quaternion,e),$.transformVec3(e,n,r),$.normalizeVec3(r),r}}(),_=(E=$.vec3(),function(e){var t=Math.abs(e[0]);return t>Math.abs(e[1])&&t>Math.abs(e[2])?$.cross3Vec3(e,[0,1,0],E):$.cross3Vec3(e,[1,0,0],E),$.cross3Vec3(E,e,E),$.normalizeVec3(E),E}),B=(T=$.vec3(),b=$.vec3(),D=$.vec4(),function(e,n,r){C(e,D);var i=_(D,n,r);S(n,i,T),S(r,i,b),$.subVec3(b,T);var a=$.dotVec3(b,D);t._pos[0]+=D[0]*a,t._pos[1]+=D[1]*a,t._pos[2]+=D[2]*a,t._rootNode.position=t._pos,t._sectionPlane&&(t._sectionPlane.pos=t._pos)}),O=function(){var e=$.vec4(),n=$.vec4(),r=$.vec4(),i=$.vec4();return function(a,s,o){if(C(a,i),!(S(s,i,e)&&S(o,i,n))){var l=_(i,s,o);S(s,l,e,1),S(o,l,n,1);var u=$.dotVec3(e,i);e[0]-=u*i[0],e[1]-=u*i[1],e[2]-=u*i[2],u=$.dotVec3(n,i),n[0]-=u*i[0],n[1]-=u*i[1],n[2]-=u*i[2]}$.normalizeVec3(e),$.normalizeVec3(n),u=$.dotVec3(e,n),u=$.clamp(u,-1,1);var c=Math.acos(u)*$.RADTODEG;$.cross3Vec3(e,n,r),$.dotVec3(r,i)<0&&(c=-c),t._rootNode.rotate(a,c),N()}}(),S=function(){var e=$.vec4([0,0,0,1]),n=$.mat4();return function(r,i,a,s){s=s||0,e[0]=r[0]/I.width*2-1,e[1]=-(r[1]/I.height*2-1),e[2]=0,e[3]=1,$.mulMat4(y.projMatrix,y.viewMatrix,n),$.inverseMat4(n),$.transformVec4(n,e,e),$.mulVec4Scalar(e,1/e[3]);var o=y.eye;$.subVec4(e,o,e);var l=t._sectionPlane.pos,u=-$.dotVec3(l,i)-s,c=$.dotVec3(i,e);if(Math.abs(c)>.005){var f=-($.dotVec3(i,o)+u)/c;return $.mulVec3Scalar(e,f,a),$.addVec3(a,o),$.subVec3(a,l,a),!0}return!1}}(),N=function(){var e=$.vec3(),n=$.mat4();return function(){t.sectionPlane&&($.quaternionToMat4(c.quaternion,n),$.transformVec3(n,[0,0,1],e),t._setSectionPlaneDir(e))}}(),L=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(function(t){if(e._visible&&!L){var c;switch(n=!1,P&&(P.visible=!1),t.entity.id){case e._displayMeshes.xAxisArrowHandle.id:case e._displayMeshes.xAxisHandle.id:c=e._affordanceMeshes.xAxisArrow,f=i;break;case e._displayMeshes.yAxisArrowHandle.id:case e._displayMeshes.yShaftHandle.id:c=e._affordanceMeshes.yAxisArrow,f=a;break;case e._displayMeshes.zAxisArrowHandle.id:case e._displayMeshes.zAxisHandle.id:c=e._affordanceMeshes.zAxisArrow,f=s;break;case e._displayMeshes.xCurveHandle.id:c=e._affordanceMeshes.xHoop,f=o;break;case e._displayMeshes.yCurveHandle.id:c=e._affordanceMeshes.yHoop,f=l;break;case e._displayMeshes.zCurveHandle.id:c=e._affordanceMeshes.zHoop,f=u;break;default:return void(f=r)}c&&(c.visible=!0),P=c,n=!0}})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(function(t){e._visible&&(P&&(P.visible=!1),P=null,f=r)})),I.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&n&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){L=!0;var r=R(t);p=f,A[0]=r[0],A[1]=r[1]}}),I.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&L){var n=R(t),r=n[0],c=n[1];switch(p){case i:B(d,A,n);break;case a:B(v,A,n);break;case s:B(h,A,n);break;case o:O(d,A,n);break;case l:O(v,A,n);break;case u:O(h,A,n)}A[0]=r,A[1]=c}}),I.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,L&&(t.which,L=!1,n=!1))}),I.addEventListener("wheel",this._canvasWheelListener=function(t){if(e._visible)Math.max(-1,Math.min(1,40*-t.deltaY))})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=e.cameraControl;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix),i.off(this._onCameraControlHover),i.off(this._onCameraControlHoverLeave)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),lR=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new xn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new xn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),uR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new lR(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),cR=$.AABB3(),fR=$.vec3(),pR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"SectionPlanes",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new uR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;cR.set(r.viewer.scene.aabb),$.getAABB3Center(cR,fR),cR[0]+=t[0]-fR[0],cR[1]+=t[1]-fR[1],cR[2]+=t[2]-fR[2],cR[3]+=t[0]-fR[0],cR[4]+=t[1]-fR[1],cR[5]+=t[2]-fR[2],r.viewer.cameraFlight.flyTo({aabb:cR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new oR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"StoreyViews",e))._objectsMemento=new Hs,r._cameraMemento=new Ls,r.storeys={},r.modelStoreys={},r._fitStoreyMaps=!!i.fitStoreyMaps,r._onModelLoaded=r.viewer.scene.on("modelLoaded",(function(e){r._registerModelStoreys(e),r.fire("storeys",r.storeys)})),r}return P(n,[{key:"_registerModelStoreys",value:function(e){var t=this,n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaModels[e],s=r.models[e];if(a&&a.rootMetaObjects)for(var o=a.rootMetaObjects,l=0,u=o.length;l.5?d.length:0,I=new AR(this,s.aabb,v,e,A,h);I._onModelDestroyed=s.once("destroyed",(function(){t._deregisterModelStoreys(e),t.fire("storeys",t.storeys)})),this.storeys[A]=I,this.modelStoreys[e]||(this.modelStoreys[e]={}),this.modelStoreys[e][A]=I}}},{key:"_deregisterModelStoreys",value:function(e){var t=this.modelStoreys[e];if(t){var n=this.viewer.scene;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],a=n.models[i.modelId];a&&a.off(i._onModelDestroyed),delete this.storeys[r]}delete this.modelStoreys[e]}}},{key:"fitStoreyMaps",get:function(){return this._fitStoreyMaps}},{key:"gotoStoreyCamera",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),void(t.done&&t.done());var r=this.viewer,i=r.scene,a=i.camera,s=n.storeyAABB;if(s[3]1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(n){var r=this.viewer,i=r.scene,a=r.metaScene,s=a.metaObjects[e];s&&(t.hideOthers&&i.setObjectsVisible(r.scene.visibleObjectIds,!1),this.withStoreyObjects(e,(function(e,t){e&&(e.visible=!0)})))}else this.error("IfcBuildingStorey not found with this ID: "+e)}},{key:"withStoreyObjects",value:function(e,t){var n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaObjects[e];if(a)for(var s=a.getObjectIDsInSubtree(),o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),IR;var r,i,a=this.viewer,s=a.scene,o=t.format||"png",l=this._fitStoreyMaps?n.storeyAABB:n.modelAABB,u=Math.abs((l[5]-l[2])/(l[3]-l[0])),c=t.padding||0;t.width&&t.height?(r=t.width,i=t.height):t.height?(i=t.height,r=Math.round(i/u)):t.width?(r=t.width,i=Math.round(r*u)):(r=300,i=Math.round(r*u)),this._objectsMemento.saveObjects(s),this._cameraMemento.saveCamera(s),this.showStoreyObjects(e,le.apply(t,{hideOthers:!0})),this._arrangeStoreyMapCamera(n);var f=a.getSnapshot({width:r,height:i,format:o});return this._objectsMemento.restoreObjects(s),this._cameraMemento.restoreCamera(s),new dR(e,f,o,r,i,c)}},{key:"_arrangeStoreyMapCamera",value:function(e){var t=this.viewer,n=t.scene.camera,r=this._fitStoreyMaps?e.storeyAABB:e.modelAABB,i=$.getAABB3Center(r),a=vR;a[0]=i[0]+.5*n.worldUp[0],a[1]=i[1]+.5*n.worldUp[1],a[2]=i[2]+.5*n.worldUp[2];var s=n.worldForward;t.cameraFlight.jumpTo({eye:a,look:i,up:s});var o=(r[3]-r[0])/2,l=(r[4]-r[1])/2,u=(r[5]-r[2])/2,c=-o,f=+o,p=-l,A=+l,d=-u,v=+u;t.camera.customProjection.matrix=$.orthoMat4c(c,f,d,v,p,A,hR),t.camera.projection="customProjection"}},{key:"pickStoreyMap",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),null;var a=1-t[0]/e.width,s=1-t[1]/e.height,o=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,l=o[0],u=o[1],c=o[2],f=o[3],p=o[4],A=o[5],d=f-l,v=p-u,h=A-c,I=$.vec3([l+d*a,u+.5*v,c+h*s]),y=$.vec3([0,-1,0]),m=$.addVec3(I,y,vR),w=this.viewer.camera.worldForward,g=$.lookAtMat4v(I,m,w,hR),E=this.viewer.scene.pick({pickSurface:n.pickSurface,pickInvisible:!0,matrix:g});return E}},{key:"storeyMapToWorldPos",value:function(e,t){var n=e.storeyId,r=this.storeys[n];if(!r)return this.error("IfcBuildingStorey not found with this ID: "+n),null;var i=1-t[0]/e.width,a=1-t[1]/e.height,s=this._fitStoreyMaps?r.storeyAABB:r.modelAABB,o=s[0],l=s[1],u=s[2],c=s[3],f=s[4],p=s[5],A=c-o,d=f-l,v=p-u,h=$.vec3([o+A*i,l+.5*d,u+v*a]);return h}},{key:"getStoreyContainingWorldPos",value:function(e){for(var t in this.storeys){var n=this.storeys[t];if($.point3AABB3Intersect(n.storeyAABB,e))return t}return null}},{key:"worldPosToStoreyMap",value:function(e,t,n){var r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),!1;var a=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,s=a[0],o=a[1],l=a[2],u=a[3]-s,c=a[4]-o,f=a[5]-l,p=this.viewer.camera.worldUp,A=p[0]>p[1]&&p[0]>p[2],d=!A&&p[1]>p[0]&&p[1]>p[2];!A&&!d&&p[2]>p[0]&&(p[2],p[1]);var v=e.width/u,h=d?e.height/f:e.height/c;return n[0]=Math.floor(e.width-(t[0]-s)*v),n[1]=Math.floor(e.height-(t[2]-l)*h),n[0]>=0&&n[0]=0&&n[1]<=e.height}},{key:"worldDirToStoreyMap",value:function(e,t,n){var r=this.viewer.camera,i=r.eye,a=r.look,s=$.subVec3(a,i,vR),o=r.worldUp,l=o[0]>o[1]&&o[0]>o[2],u=!l&&o[1]>o[0]&&o[1]>o[2];!l&&!u&&o[2]>o[0]&&(o[2],o[1]),l?(n[0]=s[1],n[1]=s[2]):u?(n[0]=s[0],n[1]=s[2]):(n[0]=s[0],n[1]=s[1]),$.normalizeVec2(n)}},{key:"destroy",value:function(){this.viewer.scene.off(this._onModelLoaded),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),mR=new Float64Array([0,0,1]),wR=new Float64Array(4),gR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._plugin=t,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(mR,e,wR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r=this._rootNode,i={arrowHead:new Cn(r,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(r,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),axis:new Cn(r,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},a={red:new Nn(r,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),green:new Nn(r,{diffuse:[0,1,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),blue:new Nn(r,{diffuse:[0,0,1],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new xn(r,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6})};this._displayMeshes={plane:r.addChild(new Ji(r,{geometry:new Cn(r,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),center:r.addChild(new Ji(r,{geometry:new Cn(r,ea({radius:.05})),material:a.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHead,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zShaft:r.addChild(new Ji(r,{geometry:i.axis,material:a.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new xn(r,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHeadBig,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this._rootNode,n=$.vec2(),r=this._viewer.camera,i=this._viewer.scene,a=0,s=!1,o=$.vec3([0,0,0]),l=-1;this._onCameraViewMatrix=i.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=i.camera.on("projMatrix",(function(){})),this._onSceneTick=i.on("tick",(function(){s=!1;var n=Math.abs($.lenVec3($.subVec3(i.camera.eye,e._pos,o)));if(n!==l&&"perspective"===r.projection){var u=.07*(Math.tan(r.perspective.fov*$.DEGTORAD)*n);t.scale=[u,u,u],l=n}if("ortho"===r.projection){var f=r.ortho.scale/10;t.scale=[f,f,f],l=n}0!==a&&(c(a),a=0)}));var u=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),c=function(t){var n=e._sectionPlane.pos,r=e._sectionPlane.dir;$.addVec3(n,$.mulVec3Scalar(r,.1*t*e._plugin.getDragSensitivity(),$.vec3())),e._sectionPlane.pos=n},f=!1;this._plugin._controlElement.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){f=!0;var r=u(t);n[0]=r[0],n[1]=r[1]}}),this._plugin._controlElement.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&f&&!s){var r=u(t),i=r[0],a=r[1];c(a-n[1]),n[0]=i,n[1]=a}}),this._plugin._controlElement.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,f&&(t.which,f=!1))}),this._plugin._controlElement.addEventListener("wheel",this._canvasWheelListener=function(t){e._visible&&(a+=Math.max(-1,Math.min(1,40*-t.deltaY)))});var p,A,d=null;this._plugin._controlElement.addEventListener("touchstart",this._handleTouchStart=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=t.touches[0].clientY,d=p,a=0)}),this._plugin._controlElement.addEventListener("touchmove",this._handleTouchMove=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(s||(s=!0,A=t.touches[0].clientY,null!==d&&(a+=A-d),d=A))}),this._plugin._controlElement.addEventListener("touchend",this._handleTouchEnd=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=null,A=null,a=0)})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=this._plugin._controlElement;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),i.removeEventListener("touchstart",this._handleTouchStart),i.removeEventListener("touchmove",this._handleTouchMove),i.removeEventListener("touchend",this._handleTouchEnd),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),ER=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new xn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new xn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),TR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new ER(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),bR=$.AABB3(),DR=$.vec3(),PR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"FaceAlignedSectionPlanesPlugin",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,r._dragSensitivity=i.dragSensitivity||1,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new TR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;bR.set(r.viewer.scene.aabb),$.getAABB3Center(bR,DR),bR[0]+=t[0]-DR[0],bR[1]+=t[1]-DR[1],bR[2]+=t[2]-DR[2],bR[3]+=t[0]-DR[0],bR[4]+=t[1]-DR[1],bR[5]+=t[2]-DR[2],r.viewer.cameraFlight.flyTo({aabb:bR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return null===i.controlElementId||void 0===i.controlElementId?r.error("Parameter expected: controlElementId"):(r._controlElement=document.getElementById(i.controlElementId),r._controlElement||r.warn("Can't find control element: '"+i.controlElementId+"' - will create plugin without control element")),r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setDragSensitivity",value:function(e){this._dragSensitivity=e||1}},{key:"getDragSensitivity",value:function(){return this._dragSensitivity}},{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new gR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t>5&31)/31,s=(C>>10&31)/31):(i=l,a=u,s=c),(E&&i!==d||a!==v||s!==h)&&(null!==d&&(I=!0),d=i,v=a,h=s)}for(var _=1;_<=3;_++){var B=b+12*_;w.push(f.getFloat32(B,!0)),w.push(f.getFloat32(B+4,!0)),w.push(f.getFloat32(B+8,!0)),g.push(D,P,R),A&&o.push(i,a,s,1)}E&&I&&(LR(n,w,g,o,m,r),w=[],g=[],o=o?[]:null,I=!1)}w.length>0&&LR(n,w,g,o,m,r)}function NR(e,t,n,r){for(var i,a,s,o,l,u,c,f=/facet([\s\S]*?)endfacet/g,p=0,A=/[\s]+([+-]?(?:\d+.\d+|\d+.|\d+|.\d+)(?:[eE][+-]?\d+)?)/.source,d=new RegExp("vertex"+A+A+A,"g"),v=new RegExp("normal"+A+A+A,"g"),h=[],I=[];null!==(o=f.exec(t));){for(l=0,u=0,c=o[0];null!==(o=v.exec(c));)i=parseFloat(o[1]),a=parseFloat(o[2]),s=parseFloat(o[3]),u++;for(;null!==(o=d.exec(c));)h.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3])),I.push(i,a,s),l++;1!==u&&e.error("Error in normal of face "+p),3!==l&&e.error("Error in positions of face "+p),p++}LR(n,h,I,null,new ya(n,{roughness:.5}),r)}function LR(e,t,n,r,i,a){for(var s=new Int32Array(t.length/3),o=0,l=s.length;o0?n:null,r=r&&r.length>0?r:null,a.smoothNormals&&$.faceToVertexNormals(t,n,a);var u=_R;Se(t,t,u);var c=new Cn(e,{primitive:"triangles",positions:t,normals:n,colors:r,indices:s}),f=new Ji(e,{origin:0!==u[0]||0!==u[1]||0!==u[2]?u:null,geometry:c,material:i,edges:a.edges});e.addChild(f)}function xR(e){return"string"!=typeof e?function(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var t="",n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"STLLoader",e,i))._sceneGraphLoader=new BR,r.dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new CR}},{key:"load",value:function(e){e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src,r=e.stl;return n||r?(n?this._sceneGraphLoader.load(this,t,n,e):this._sceneGraphLoader.parse(this,t,r,e),t):(this.error("load() param expected: either 'src' or 'stl'"),t)}}]),n}(),HR=[],UR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"TreeViewPlugin",e)).errors=[],r.valid=!0;var a=i.containerElement||document.getElementById(i.containerElementId);if(!(a instanceof HTMLElement))return r.error("Mandatory config expected: valid containerElementId or containerElement"),w(r);for(var s=0;;s++)if(!HR[s]){HR[s]=g(r),r._index=s,r._id="tree-".concat(s);break}if(r._containerElement=a,r._metaModels={},r._autoAddModels=!1!==i.autoAddModels,r._autoExpandDepth=i.autoExpandDepth||0,r._sortNodes=!1!==i.sortNodes,r._pruneEmptyNodes=!1!==i.pruneEmptyNodes,r._viewer=e,r._rootElement=null,r._muteSceneEvents=!1,r._muteTreeEvents=!1,r._rootNodes=[],r._objectNodes={},r._nodeNodes={},r._rootName=i.rootName,r._sortNodes=i.sortNodes,r._pruneEmptyNodes=i.pruneEmptyNodes,r._showListItemElementId=null,r._containerElement.oncontextmenu=function(e){e.preventDefault()},r._onObjectVisibility=r._viewer.scene.on("objectVisibility",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){var i=e.visible;if(i!==n.checked){r._muteTreeEvents=!0,n.checked=i,i?n.numVisibleEntities++:n.numVisibleEntities--;var a=document.getElementById("checkbox-".concat(n.nodeId));a&&(a.checked=i);for(var s=n.parent;s;){s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;var o=document.getElementById("checkbox-".concat(s.nodeId));if(o){var l=s.numVisibleEntities>0;l!==o.checked&&(o.checked=l)}s=s.parent}r._muteTreeEvents=!1}}}})),r._onObjectXrayed=r._viewer.scene.on("objectXRayed",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){r._muteTreeEvents=!0;var i=e.xrayed;if(i!==n.xrayed){n.xrayed=i;var a=n.nodeId,s=document.getElementById(a);null!==s&&(i?s.classList.add("xrayed-node"):s.classList.remove("xrayed-node")),r._muteTreeEvents=!1}}}})),r._switchExpandHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._expandSwitchElement(t)},r._switchCollapseHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._collapseSwitchElement(t)},r._checkboxChangeHandler=function(e){if(!r._muteTreeEvents){r._muteSceneEvents=!0;var t=e.target,n=t.checked,i=t.id.replace("checkbox-",""),a=r._nodeNodes[i],s=r._viewer.scene.objects,o=0;r._withNodeTree(a,(function(e){var t=e.objectId,r="checkbox-".concat(e.nodeId),i=s[t],a=0===e.children.length;e.numVisibleEntities=n?e.numEntities:0,a&&n!==e.checked&&o++,e.checked=n;var l=document.getElementById(r);l&&(l.checked=n),i&&(i.visible=n)}));for(var l=a.parent;l;){l.checked=n;var u=document.getElementById("checkbox-".concat(l.nodeId));n?l.numVisibleEntities+=o:l.numVisibleEntities-=o;var c=l.numVisibleEntities>0;c!==u.checked&&(u.checked=c),l=l.parent}r._muteSceneEvents=!1}},r._hierarchy=i.hierarchy||"containment",r._autoExpandDepth=i.autoExpandDepth||0,r._autoAddModels){for(var o=Object.keys(r.viewer.metaScene.metaModels),l=0,u=o.length;l0;return this.valid}},{key:"_validateMetaModelForStoreysHierarchy",value:function(){return!0}},{key:"_createEnabledNodes",value:function(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}},{key:"_createDisabledNodes",value:function(){var e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);var t=this._viewer.metaScene.rootMetaObjects;for(var n in t){var r=t[n],i=r.type,a=r.name,s=a&&""!==a&&"Undefined"!==a&&"Default"!==a?a:i,o=document.createElement("li");e.appendChild(o);var l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),o.appendChild(l);var u=document.createElement("span");u.textContent=s,o.appendChild(u)}}},{key:"_findEmptyNodes",value:function(){var e=this._viewer.metaScene.rootMetaObjects;for(var t in e)this._findEmptyNodes2(e[t])}},{key:"_findEmptyNodes2",value:function(e){var t=this.viewer,n=t.scene,r=e.children,i=e.id,a=n.objects[i];if(e._countEntities=0,a&&e._countEntities++,r)for(var s=0,o=r.length;si.aabb[a]?-1:e.aabb[a]r?1:0}},{key:"_synchNodesToEntities",value:function(){for(var e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,n=this._viewer.scene.objects,r=0,i=e.length;r0){var i="switch-"+r,a=document.createElement("a");a.href="#",a.id=i,a.textContent="+",a.classList.add("plus"),a.addEventListener("click",this._switchExpandHandler),n.appendChild(a)}var s=document.createElement("input");s.id="checkbox-".concat(r),s.type="checkbox",s.checked=e.checked,s.style["pointer-events"]="all",s.addEventListener("change",this._checkboxChangeHandler),n.appendChild(s);var o=document.createElement("span");return o.textContent=e.title,n.appendChild(o),o.oncontextmenu=function(n){t.fire("contextmenu",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},o.onclick=function(n){t.fire("nodeTitleClicked",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},n}},{key:"_expandSwitchElement",value:function(e){var t=this,n=e.parentElement;if(!n.getElementsByTagName("li")[0]){var r=n.id,i=this._nodeNodes[r].children.map((function(e){return t._createNodeElement(e)})),a=document.createElement("ul");i.forEach((function(e){a.appendChild(e)})),n.appendChild(a),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}}},{key:"_collapseNode",value:function(e){var t="switch-"+e,n=document.getElementById(t);this._collapseSwitchElement(n)}},{key:"_collapseSwitchElement",value:function(e){if(e){var t=e.parentElement;if(t){var n=t.querySelector("ul");n&&(t.removeChild(n),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}}}]),n}(),GR=function(){function e(t){var n=this;b(this,e),this._scene=t,this._objects=[],this._objectsViewCulled=[],this._objectsDetailCulled=[],this._objectsChanged=[],this._objectsChangedList=[],this._modelInfos={},this._numObjects=0,this._lenObjectsChangedList=0,this._dirty=!0,this._onModelLoaded=t.on("modelLoaded",(function(e){var r=t.models[e];r&&n._addModel(r)})),this._onTick=t.on("tick",(function(){n._dirty&&n._build(),n._applyChanges()}))}return P(e,[{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._dirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._dirty=!0)}},{key:"_build",value:function(){if(this._dirty){this._applyChanges();for(var e=this._scene.objects,t=0;t0){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ViewCull",e))._objectCullStates=jR(e.scene),r._maxTreeDepth=i.maxTreeDepth||8,r._modelInfos={},r._frustum=new Te,r._kdRoot=null,r._frustumDirty=!1,r._kdTreeDirty=!1,r._onViewMatrix=e.scene.camera.on("viewMatrix",(function(){r._frustumDirty=!0})),r._onProjMatrix=e.scene.camera.on("projMatMatrix",(function(){r._frustumDirty=!0})),r._onModelLoaded=e.scene.on("modelLoaded",(function(e){var t=r.viewer.scene.models[e];t&&r._addModel(t)})),r._onSceneTick=e.scene.on("tick",(function(){r._doCull()})),r}return P(n,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e}},{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._kdTreeDirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._kdTreeDirty=!0)}},{key:"_doCull",value:function(){var e=this._frustumDirty||this._kdTreeDirty;if(this._frustumDirty&&this._buildFrustum(),this._kdTreeDirty&&this._buildKDTree(),e){var t=this._kdRoot;t&&this._visitKDNode(t)}}},{key:"_buildFrustum",value:function(){var e=this.viewer.scene.camera;be(this._frustum,e.viewMatrix,e.projMatrix),this._frustumDirty=!1}},{key:"_buildKDTree",value:function(){var e=this.viewer.scene;this._kdRoot,this._kdRoot={aabb:e.getAABB(),intersection:Te.INTERSECT};for(var t=0,n=this._objectCullStates.numObjects;t=this._maxTreeDepth)return e.objects=e.objects||[],e.objects.push(n),void $.expandAABB3(e.aabb,i);if(e.left&&$.containsAABB3(e.left.aabb,i))this._insertEntityIntoKDTree(e.left,t,n,r+1);else if(e.right&&$.containsAABB3(e.right.aabb,i))this._insertEntityIntoKDTree(e.right,t,n,r+1);else{var a=e.aabb;VR[0]=a[3]-a[0],VR[1]=a[4]-a[1],VR[2]=a[5]-a[2];var s=0;if(VR[1]>VR[s]&&(s=1),VR[2]>VR[s]&&(s=2),!e.left){var o=a.slice();if(o[s+3]=(a[s]+a[s+3])/2,e.left={aabb:o,intersection:Te.INTERSECT},$.containsAABB3(o,i))return void this._insertEntityIntoKDTree(e.left,t,n,r+1)}if(!e.right){var l=a.slice();if(l[s]=(a[s]+a[s+3])/2,e.right={aabb:l,intersection:Te.INTERSECT},$.containsAABB3(l,i))return void this._insertEntityIntoKDTree(e.right,t,n,r+1)}e.objects=e.objects||[],e.objects.push(n),$.expandAABB3(e.aabb,i)}}},{key:"_visitKDNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(t===Te.INTERSECT||e.intersects!==t){t===Te.INTERSECT&&(t=De(this._frustum,e.aabb),e.intersects=t);var n=t===Te.OUTSIDE,r=e.objects;if(r&&r.length>0)for(var i=0,a=r.length;i=0;)e[t]=0}var n=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),r=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);var o=new Array(60);t(o);var l=new Array(512);t(l);var u=new Array(256);t(u);var c=new Array(29);t(c);var f,p,A,d=new Array(30);function v(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function h(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(d);var I=function(e){return e<256?l[e]:l[256+(e>>>7)]},y=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},m=function(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1},E=function(e,t,n){var r,i,a=new Array(16),s=0;for(r=1;r<=15;r++)s=s+n[r-1]<<1,a[r]=s;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=g(a[o]++,o))}},b=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},D=function(e){e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=function(e,t,n,r){var i=2*t,a=2*n;return e[i]>1;n>=1;n--)R(e,a,n);i=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],R(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,R(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,s,o,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,f=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,A=t.stat_desc.extra_base,d=t.stat_desc.max_length,v=0;for(a=0;a<=15;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=l[2*l[2*(r=e.heap[n])+1]+1]+1)>d&&(a=d,v++),l[2*r+1]=a,r>u||(e.bl_count[a]++,s=0,r>=A&&(s=p[r-A]),o=l[2*r],e.opt_len+=o*(a+s),f&&(e.static_len+=o*(c[2*r+1]+s)));if(0!==v){do{for(a=d-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[d]--,v-=2}while(v>0);for(a=d;0!==a;a--)for(r=e.bl_count[a];0!==r;)(i=e.heap[--n])>u||(l[2*i+1]!==a&&(e.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),r--)}}(e,t),E(a,u,e.bl_count)},B=function(e,t,n){var r,i,a=-1,s=t[1],o=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++o>=7;h<30;h++)for(d[h]=I<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),_(e,e.l_desc),_(e,e.d_desc),u=function(e){var t;for(B(e,e.dyn_ltree,e.l_desc.max_code),B(e,e.dyn_dtree,e.d_desc.max_code),_(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*a[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(l=e.static_len+3+7>>>3)<=i&&(i=l)):i=l=n+5,n+4<=i&&-1!==t?N(e,t,n,r):4===e.strategy||l===i?(m(e,2+(r?1:0),3),C(e,s,o)):(m(e,4+(r?1:0),3),function(e,t,n,r){var i;for(m(e,t-257,5),m(e,n-1,5),m(e,r-4,4),i=0;i>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(u[n]+256+1)]++,e.dyn_dtree[2*I(t)]++),e.sym_next===e.sym_end},H=function(e){m(e,2,3),w(e,256,s),function(e){16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)},U=function(e,t,n,r){for(var i=65535&e|0,a=e>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{a=a+(i=i+t[r++]|0)|0}while(--s);i%=65521,a%=65521}return i|a<<16|0},G=new Uint32Array(function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}()),k=function(e,t,n,r){var i=G,a=r+n;e^=-1;for(var s=r;s>>8^i[255&(e^t[s])];return-1^e},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},V={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Q=L,W=x,z=M,K=F,Y=H,X=V.Z_NO_FLUSH,q=V.Z_PARTIAL_FLUSH,J=V.Z_FULL_FLUSH,Z=V.Z_FINISH,$=V.Z_BLOCK,ee=V.Z_OK,te=V.Z_STREAM_END,ne=V.Z_STREAM_ERROR,re=V.Z_DATA_ERROR,ie=V.Z_BUF_ERROR,ae=V.Z_DEFAULT_COMPRESSION,se=V.Z_FILTERED,oe=V.Z_HUFFMAN_ONLY,le=V.Z_RLE,ue=V.Z_FIXED,ce=V.Z_UNKNOWN,fe=V.Z_DEFLATED,pe=258,Ae=262,de=42,ve=113,he=666,Ie=function(e,t){return e.msg=j[t],t},ye=function(e){return 2*e-(e>4?9:0)},me=function(e){for(var t=e.length;--t>=0;)e[t]=0},we=function(e){var t,n,r,i=e.w_size;r=t=e.hash_size;do{n=e.head[--r],e.head[r]=n>=i?n-i:0}while(--t);r=t=i;do{n=e.prev[--r],e.prev[r]=n>=i?n-i:0}while(--t)},ge=function(e,t,n){return(t<e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},Te=function(e,t){z(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ee(e.strm)},be=function(e,t){e.pending_buf[e.pending++]=t},De=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Pe=function(e,t,n,r){var i=e.avail_in;return i>r&&(i=r),0===i?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),1===e.state.wrap?e.adler=U(e.adler,t,i,n):2===e.state.wrap&&(e.adler=k(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},Re=function(e,t){var n,r,i=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-Ae?e.strstart-(e.w_size-Ae):0,u=e.window,c=e.w_mask,f=e.prev,p=e.strstart+pe,A=u[a+s-1],d=u[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(n=t)+s]===d&&u[n+s-1]===A&&u[n]===u[a]&&u[++n]===u[a+1]){a+=2,n++;do{}while(u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&as){if(e.match_start=t,s=r,r>=o)break;A=u[a+s-1],d=u[a+s]}}}while((t=f[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead},Ce=function(e){var t,n,r,i=e.w_size;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=i+(i-Ae)&&(e.window.set(e.window.subarray(i,i+i-n),0),e.match_start-=i,e.strstart-=i,e.block_start-=i,e.insert>e.strstart&&(e.insert=e.strstart),we(e),n+=i),0===e.strm.avail_in)break;if(t=Pe(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=t,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=ge(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=ge(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookaheade.w_size?e.w_size:e.pending_buf_size-5,s=0,o=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_out(r=e.strstart-e.block_start)+e.strm.avail_in&&(n=r+e.strm.avail_in),n>i&&(n=i),n>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,Ee(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(Pe(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===s);return(o-=e.strm.avail_in)&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_wateri&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(Pe(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water>3,a=(i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i)>e.w_size?e.w_size:i,((r=e.strstart-e.block_start)>=a||(r||t===Z)&&t!==X&&0===e.strm.avail_in&&r<=i)&&(n=r>i?i:r,s=t===Z&&0===e.strm.avail_in&&n===r?1:0,W(e,e.block_start,n,s),e.block_start+=n,Ee(e.strm)),s?3:1)},Be=function(e,t){for(var n,r;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-Ae&&(e.match_length=Re(e,n)),e.match_length>=3)if(r=K(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=ge(e,e.ins_h,e.window[e.strstart+1]);else r=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2},Oe=function(e,t){for(var n,r,i;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=K(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(Te(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=K(e,0,e.window[e.strstart-1]))&&Te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=K(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2};function Se(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var Ne=[new Se(0,0,0,0,_e),new Se(4,4,8,4,Be),new Se(4,5,16,8,Be),new Se(4,6,32,32,Be),new Se(4,4,16,16,Oe),new Se(8,16,32,32,Oe),new Se(8,16,128,128,Oe),new Se(8,32,128,256,Oe),new Se(32,128,258,1024,Oe),new Se(32,258,258,4096,Oe)];function Le(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=fe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),me(this.dyn_ltree),me(this.dyn_dtree),me(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),me(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),me(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var xe=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.status!==de&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==ve&&t.status!==he?1:0},Me=function(e){if(xe(e))return Ie(e,ne);e.total_in=e.total_out=0,e.data_type=ce;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?de:ve,e.adler=2===t.wrap?0:1,t.last_flush=-2,Q(t),ee},Fe=function(e){var t,n=Me(e);return n===ee&&((t=e.state).window_size=2*t.w_size,me(t.head),t.max_lazy_match=Ne[t.level].max_lazy,t.good_match=Ne[t.level].good_length,t.nice_match=Ne[t.level].nice_length,t.max_chain_length=Ne[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n},He=function(e,t,n,r,i,a){if(!e)return ne;var s=1;if(t===ae&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==fe||r<8||r>15||t<0||t>9||a<0||a>ue||8===r&&1!==s)return Ie(e,ne);8===r&&(r=9);var o=new Le;return e.state=o,o.strm=e,o.status=de,o.wrap=s,o.gzhead=null,o.w_bits=r,o.w_size=1<$||t<0)return e?Ie(e,ne):ne;var n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===he&&t!==Z)return Ie(e,0===e.avail_out?ie:ne);var r=n.last_flush;if(n.last_flush=t,0!==n.pending){if(Ee(e),0===e.avail_out)return n.last_flush=-1,ee}else if(0===e.avail_in&&ye(t)<=ye(r)&&t!==Z)return Ie(e,ie);if(n.status===he&&0!==e.avail_in)return Ie(e,ie);if(n.status===de&&0===n.wrap&&(n.status=ve),n.status===de){var i=fe+(n.w_bits-8<<4)<<8;if(i|=(n.strategy>=oe||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(i|=32),De(n,i+=31-i%31),0!==n.strstart&&(De(n,e.adler>>>16),De(n,65535&e.adler)),e.adler=1,n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(57===n.status)if(e.adler=0,be(n,31),be(n,139),be(n,8),n.gzhead)be(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),be(n,255&n.gzhead.time),be(n,n.gzhead.time>>8&255),be(n,n.gzhead.time>>16&255),be(n,n.gzhead.time>>24&255),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(be(n,255&n.gzhead.extra.length),be(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=k(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(be(n,0),be(n,0),be(n,0),be(n,0),be(n,0),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,3),n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee;if(69===n.status){if(n.gzhead.extra){for(var a=n.pending,s=(65535&n.gzhead.extra.length)-n.gzindex;n.pending+s>n.pending_buf_size;){var o=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex+=o,Ee(e),0!==n.pending)return n.last_flush=-1,ee;a=0,s-=o}var l=new Uint8Array(n.gzhead.extra);n.pending_buf.set(l.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending+=s,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){var u,c=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>c&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;c=0}u=n.gzindexc&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){var f,p=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>p&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;p=0}f=n.gzindexp&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ee(e),0!==n.pending))return n.last_flush=-1,ee;be(n,255&e.adler),be(n,e.adler>>8&255),e.adler=0}if(n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(0!==e.avail_in||0!==n.lookahead||t!==X&&n.status!==he){var A=0===n.level?_e(n,t):n.strategy===oe?function(e,t){for(var n;;){if(0===e.lookahead&&(Ce(e),0===e.lookahead)){if(t===X)return 1;break}if(e.match_length=0,n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):n.strategy===le?function(e,t){for(var n,r,i,a,s=e.window;;){if(e.lookahead<=pe){if(Ce(e),e.lookahead<=pe&&t===X)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&((r=s[i=e.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i])){a=e.strstart+pe;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=K(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):Ne[n.level].func(n,t);if(3!==A&&4!==A||(n.status=he),1===A||3===A)return 0===e.avail_out&&(n.last_flush=-1),ee;if(2===A&&(t===q?Y(n):t!==$&&(W(n,0,0,!1),t===J&&(me(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Ee(e),0===e.avail_out))return n.last_flush=-1,ee}return t!==Z?ee:n.wrap<=0?te:(2===n.wrap?(be(n,255&e.adler),be(n,e.adler>>8&255),be(n,e.adler>>16&255),be(n,e.adler>>24&255),be(n,255&e.total_in),be(n,e.total_in>>8&255),be(n,e.total_in>>16&255),be(n,e.total_in>>24&255)):(De(n,e.adler>>>16),De(n,65535&e.adler)),Ee(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?ee:te)},je=function(e){if(xe(e))return ne;var t=e.state.status;return e.state=null,t===ve?Ie(e,re):ee},Ve=function(e,t){var n=t.length;if(xe(e))return ne;var r=e.state,i=r.wrap;if(2===i||1===i&&r.status!==de||r.lookahead)return ne;if(1===i&&(e.adler=U(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){0===i&&(me(r.head),r.strstart=0,r.block_start=0,r.insert=0);var a=new Uint8Array(r.w_size);a.set(t.subarray(n-r.w_size,n),0),t=a,n=r.w_size}var s=e.avail_in,o=e.next_in,l=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Ce(r);r.lookahead>=3;){var u=r.strstart,c=r.lookahead-2;do{r.ins_h=ge(r,r.ins_h,r.window[u+3-1]),r.prev[u&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=u,u++}while(--c);r.strstart=u,r.lookahead=2,Ce(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=o,e.input=l,e.avail_in=s,r.wrap=i,ee},Qe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},We=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=T(n))throw new TypeError(n+"must be non-object");for(var r in n)Qe(n,r)&&(e[r]=n[r])}}return e},ze=function(e){for(var t=0,n=0,r=e.length;n=252?6:Xe>=248?5:Xe>=240?4:Xe>=224?3:Xe>=192?2:1;Ye[254]=Ye[254]=1;var qe=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,n,r,i,a,s=e.length,o=0;for(i=0;i>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Je=function(e,t){var n,r,i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var a=new Array(2*i);for(r=0,n=0;n4)a[r++]=65533,n+=o-1;else{for(s&=2===o?31:3===o?15:7;o>1&&n1?a[r++]=65533:s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|1023&s)}}}return function(e,t){if(t<65534&&e.subarray&&Ke)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var n="",r=0;re.length&&(t=e.length);for(var n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Ye[e[n]]>t?n:t},$e=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},et=Object.prototype.toString,tt=V.Z_NO_FLUSH,nt=V.Z_SYNC_FLUSH,rt=V.Z_FULL_FLUSH,it=V.Z_FINISH,at=V.Z_OK,st=V.Z_STREAM_END,ot=V.Z_DEFAULT_COMPRESSION,lt=V.Z_DEFAULT_STRATEGY,ut=V.Z_DEFLATED;function ct(e){this.options=We({level:ot,method:ut,chunkSize:16384,windowBits:15,memLevel:8,strategy:lt},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=Ue(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==at)throw new Error(j[n]);if(t.header&&Ge(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?qe(t.dictionary):"[object ArrayBuffer]"===et.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Ve(this.strm,r))!==at)throw new Error(j[n]);this._dict_set=!0}}function ft(e,t){var n=new ct(t);if(n.push(e,!0),n.err)throw n.msg||j[n.err];return n.result}ct.prototype.push=function(e,t){var n,r,i=this.strm,a=this.options.chunkSize;if(this.ended)return!1;for(r=t===~~t?t:!0===t?it:tt,"string"==typeof e?i.input=qe(e):"[object ArrayBuffer]"===et.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(a),i.next_out=0,i.avail_out=a),(r===nt||r===rt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if((n=ke(i,r))===st)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),n=je(this.strm),this.onEnd(n),this.ended=!0,n===at;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},ct.prototype.onData=function(e){this.chunks.push(e)},ct.prototype.onEnd=function(e){e===at&&(this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var pt=ct,At=ft,dt=function(e,t){return(t=t||{}).raw=!0,ft(e,t)},vt=function(e,t){return(t=t||{}).gzip=!0,ft(e,t)},ht=16209,It=function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,b,D,P=e.state;n=e.next_in,b=e.input,r=n+(e.avail_in-5),i=e.next_out,D=e.output,a=i-(t-e.avail_out),s=i+(e.avail_out-257),o=P.dmax,l=P.wsize,u=P.whave,c=P.wnext,f=P.window,p=P.hold,A=P.bits,d=P.lencode,v=P.distcode,h=(1<>>=m=y>>>24,A-=m,0===(m=y>>>16&255))D[i++]=65535&y;else{if(!(16&m)){if(0==(64&m)){y=d[(65535&y)+(p&(1<>>=m,A-=m),A<15&&(p+=b[n++]<>>=m=y>>>24,A-=m,!(16&(m=y>>>16&255))){if(0==(64&m)){y=v[(65535&y)+(p&(1<o){e.msg="invalid distance too far back",P.mode=ht;break e}if(p>>>=m,A-=m,g>(m=i-a)){if((m=g-m)>u&&P.sane){e.msg="invalid distance too far back",P.mode=ht;break e}if(E=0,T=f,0===c){if(E+=l-m,m2;)D[i++]=T[E++],D[i++]=T[E++],D[i++]=T[E++],w-=3;w&&(D[i++]=T[E++],w>1&&(D[i++]=T[E++]))}else{E=i-g;do{D[i++]=D[E++],D[i++]=D[E++],D[i++]=D[E++],w-=3}while(w>2);w&&(D[i++]=D[E++],w>1&&(D[i++]=D[E++]))}break}}break}}while(n>3,p&=(1<<(A-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n=1&&0===_[g];g--);if(E>g&&(E=g),0===g)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(w=1;w0&&(0===e||1!==g))return-1;for(B[1]=0,y=1;y<15;y++)B[y+1]=B[y]+_[y];for(m=0;m852||2===e&&P>592)return 1;for(;;){d=y-b,s[m]+1=A?(v=O[s[m]-A],h=C[s[m]-A]):(v=96,h=0),l=1<>b)+(u-=l)]=d<<24|v<<16|h|0}while(0!==u);for(l=1<>=1;if(0!==l?(R&=l-1,R+=l):R=0,m++,0==--_[y]){if(y===g)break;y=t[n+s[m]]}if(y>E&&(R&f)!==c){for(0===b&&(b=E),p+=w,D=1<<(T=y-b);T+b852||2===e&&P>592)return 1;i[c=R&f]=E<<24|T<<16|p-a|0}}return 0!==R&&(i[p+R]=y-b<<24|64<<16|0),o.bits=E,0},Tt=V.Z_FINISH,bt=V.Z_BLOCK,Dt=V.Z_TREES,Pt=V.Z_OK,Rt=V.Z_STREAM_END,Ct=V.Z_NEED_DICT,_t=V.Z_STREAM_ERROR,Bt=V.Z_DATA_ERROR,Ot=V.Z_MEM_ERROR,St=V.Z_BUF_ERROR,Nt=V.Z_DEFLATED,Lt=16180,xt=16190,Mt=16191,Ft=16192,Ht=16194,Ut=16199,Gt=16200,kt=16206,jt=16209,Vt=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function Qt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Wt,zt,Kt=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.mode16211?1:0},Yt=function(e){if(Kt(e))return _t;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Lt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,Pt},Xt=function(e){if(Kt(e))return _t;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Yt(e)},qt=function(e,t){var n;if(Kt(e))return _t;var r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_t:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Xt(e))},Jt=function(e,t){if(!e)return _t;var n=new Qt;e.state=n,n.strm=e,n.window=null,n.mode=Lt;var r=qt(e,t);return r!==Pt&&(e.state=null),r},Zt=!0,$t=function(e){if(Zt){Wt=new Int32Array(512),zt=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Et(1,e.lens,0,288,Wt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Et(2,e.lens,0,32,zt,0,e.work,{bits:5}),Zt=!1}e.lencode=Wt,e.lenbits=9,e.distcode=zt,e.distbits=5},en=function(e,t,n,r){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),(r-=i)?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,n.check=k(n.check,R,2,0),u=0,c=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=jt;break}if((15&u)!==Nt){e.msg="unknown compression method",n.mode=jt;break}if(c-=4,E=8+(15&(u>>>=4)),0===n.wbits&&(n.wbits=E),E>15||E>n.wbits){e.msg="invalid window size",n.mode=jt;break}n.dmax=1<>8&1),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16182;case 16182:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>8&255,R[2]=u>>>16&255,R[3]=u>>>24&255,n.check=k(n.check,R,4,0)),u=0,c=0,n.mode=16183;case 16183:for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>8),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16184;case 16184:if(1024&n.flags){for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&((A=n.length)>o&&(A=o),A&&(n.head&&(E=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+A),E)),512&n.flags&&4&n.wrap&&(n.check=k(n.check,r,A,a)),o-=A,a+=A,n.length-=A),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;A=0;do{E=r[a+A++],n.head&&E&&n.length<65536&&(n.head.name+=String.fromCharCode(E))}while(E&&A>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=Mt;break;case 16189:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>=7&c,c-=7&c,n.mode=kt;break}for(;c<3;){if(0===o)break e;o--,u+=r[a++]<>>=1)){case 0:n.mode=16193;break;case 1:if($t(n),n.mode=Ut,t===Dt){u>>>=2,c-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=jt}u>>>=2,c-=2;break;case 16193:for(u>>>=7&c,c-=7&c;c<32;){if(0===o)break e;o--,u+=r[a++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=jt;break}if(n.length=65535&u,u=0,c=0,n.mode=Ht,t===Dt)break e;case Ht:n.mode=16195;case 16195:if(A=n.length){if(A>o&&(A=o),A>l&&(A=l),0===A)break e;i.set(r.subarray(a,a+A),s),o-=A,a+=A,l-=A,s+=A,n.length-=A;break}n.mode=Mt;break;case 16196:for(;c<14;){if(0===o)break e;o--,u+=r[a++]<>>=5,c-=5,n.ndist=1+(31&u),u>>>=5,c-=5,n.ncode=4+(15&u),u>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=jt;break}n.have=0,n.mode=16197;case 16197:for(;n.have>>=3,c-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,b={bits:n.lenbits},T=Et(0,n.lens,0,19,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid code lengths set",n.mode=jt;break}n.have=0,n.mode=16198;case 16198:for(;n.have>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=h,c-=h,n.lens[n.have++]=y;else{if(16===y){for(D=h+2;c>>=h,c-=h,0===n.have){e.msg="invalid bit length repeat",n.mode=jt;break}E=n.lens[n.have-1],A=3+(3&u),u>>>=2,c-=2}else if(17===y){for(D=h+3;c>>=h)),u>>>=3,c-=3}else{for(D=h+7;c>>=h)),u>>>=7,c-=7}if(n.have+A>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=jt;break}for(;A--;)n.lens[n.have++]=E}}if(n.mode===jt)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=jt;break}if(n.lenbits=9,b={bits:n.lenbits},T=Et(1,n.lens,0,n.nlen,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid literal/lengths set",n.mode=jt;break}if(n.distbits=6,n.distcode=n.distdyn,b={bits:n.distbits},T=Et(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,b),n.distbits=b.bits,T){e.msg="invalid distances set",n.mode=jt;break}if(n.mode=Ut,t===Dt)break e;case Ut:n.mode=Gt;case Gt:if(o>=6&&l>=258){e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=u,n.bits=c,It(e,p),s=e.next_out,i=e.output,l=e.avail_out,a=e.next_in,r=e.input,o=e.avail_in,u=n.hold,c=n.bits,n.mode===Mt&&(n.back=-1);break}for(n.back=0;I=(P=n.lencode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,n.length=y,0===I){n.mode=16205;break}if(32&I){n.back=-1,n.mode=Mt;break}if(64&I){e.msg="invalid literal/length code",n.mode=jt;break}n.extra=15&I,n.mode=16201;case 16201:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;I=(P=n.distcode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,64&I){e.msg="invalid distance code",n.mode=jt;break}n.offset=y,n.extra=15&I,n.mode=16203;case 16203:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=jt;break}n.mode=16204;case 16204:if(0===l)break e;if(A=p-l,n.offset>A){if((A=n.offset-A)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=jt;break}A>n.wnext?(A-=n.wnext,d=n.wsize-A):d=n.wnext-A,A>n.length&&(A=n.length),v=n.window}else v=i,d=s-n.offset,A=n.length;A>l&&(A=l),l-=A,n.length-=A;do{i[s++]=v[d++]}while(--A);0===n.length&&(n.mode=Gt);break;case 16205:if(0===l)break e;i[s++]=n.length,l--,n.mode=Gt;break;case kt:if(n.wrap){for(;c<32;){if(0===o)break e;o--,u|=r[a++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=nn(this.strm,t.windowBits);if(n!==pn)throw new Error(j[n]);if(this.header=new ln,sn(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=qe(t.dictionary):"[object ArrayBuffer]"===un.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=on(this.strm,t.dictionary))!==pn))throw new Error(j[n])}function mn(e,t){var n=new yn(t);if(n.push(e),n.err)throw n.msg||j[n.err];return n.result}yn.prototype.push=function(e,t){var n,r,i,a=this.strm,s=this.options.chunkSize,o=this.options.dictionary;if(this.ended)return!1;for(r=t===~~t?t:!0===t?fn:cn,"[object ArrayBuffer]"===un.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(n=rn(a,r))===dn&&o&&((n=on(a,o))===pn?n=rn(a,r):n===hn&&(n=dn));a.avail_in>0&&n===An&&a.state.wrap>0&&0!==e[a.next_in];)tn(a),n=rn(a,r);switch(n){case vn:case hn:case dn:case In:return this.onEnd(n),this.ended=!0,!1}if(i=a.avail_out,a.next_out&&(0===a.avail_out||n===An))if("string"===this.options.to){var l=Ze(a.output,a.next_out),u=a.next_out-l,c=Je(a.output,l);a.next_out=u,a.avail_out=s-u,u&&a.output.set(a.output.subarray(l,l+u),0),this.onData(c)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(n!==pn||0!==i){if(n===An)return n=an(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},yn.prototype.onData=function(e){this.chunks.push(e)},yn.prototype.onEnd=function(e){e===pn&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var wn=function(e,t){return(t=t||{}).raw=!0,mn(e,t)},gn=pt,En=At,Tn=dt,bn=vt,Dn=yn,Pn=mn,Rn=wn,Cn=mn,_n=V,Bn={Deflate:gn,deflate:En,deflateRaw:Tn,gzip:bn,Inflate:Dn,inflate:Pn,inflateRaw:Rn,ungzip:Cn,constants:_n};e.Deflate=gn,e.Inflate=Dn,e.constants=_n,e.default=Bn,e.deflate=En,e.deflateRaw=Tn,e.gzip=bn,e.inflate=Pn,e.inflateRaw=Rn,e.ungzip=Cn,Object.defineProperty(e,"__esModule",{value:!0})}));var zR=Object.freeze({__proto__:null}),KR=window.pako||zR;KR.inflate||(KR=KR.default);var YR,XR=(YR=new Float32Array(3),function(e){return YR[0]=e[0]/255,YR[1]=e[1]/255,YR[2]=e[2]/255,YR});var qR={version:1,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],meshPositions:e[4],meshIndices:e[5],meshEdgesIndices:e[6],meshColors:e[7],entityIDs:e[8],entityMeshes:e[9],entityIsObjects:e[10],positionsDecodeMatrix:e[11]}}(n),o=function(e){return{positions:new Uint16Array(KR.inflate(e.positions).buffer),normals:new Int8Array(KR.inflate(e.normals).buffer),indices:new Uint32Array(KR.inflate(e.indices).buffer),edgeIndices:new Uint32Array(KR.inflate(e.edgeIndices).buffer),meshPositions:new Uint32Array(KR.inflate(e.meshPositions).buffer),meshIndices:new Uint32Array(KR.inflate(e.meshIndices).buffer),meshEdgesIndices:new Uint32Array(KR.inflate(e.meshEdgesIndices).buffer),meshColors:new Uint8Array(KR.inflate(e.meshColors).buffer),entityIDs:KR.inflate(e.entityIDs,{to:"string"}),entityMeshes:new Uint32Array(KR.inflate(e.entityMeshes).buffer),entityIsObjects:new Uint8Array(KR.inflate(e.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(KR.inflate(e.positionsDecodeMatrix).buffer)}}(s);!function(e,t,n,r,i,a){a.getNextId(),r.positionsCompression="precompressed",r.normalsCompression="precompressed";for(var s=n.positions,o=n.normals,l=n.indices,u=n.edgeIndices,c=n.meshPositions,f=n.meshIndices,p=n.meshEdgesIndices,A=n.meshColors,d=JSON.parse(n.entityIDs),v=n.entityMeshes,h=n.entityIsObjects,I=c.length,y=v.length,m=0;mh[t]?1:0}));for(var C=0;C1||(_[M]=B)}for(var F=0;F1,k=iC(I.subarray(4*H,4*H+3)),j=I[4*H+3]/255,V=o.subarray(A[H],U?o.length:A[H+1]),Q=l.subarray(A[H],U?l.length:A[H+1]),W=u.subarray(d[H],U?u.length:d[H+1]),z=c.subarray(v[H],U?c.length:v[H+1]),K=f.subarray(h[H],h[H]+16);if(G){var Y="".concat(s,"-geometry.").concat(H);r.createGeometry({id:Y,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K})}else{var X="".concat(s,"-").concat(H);m[_[H]],r.createMesh(le.apply({},{id:X,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K,color:k,opacity:j}))}}for(var q=0,J=0;J1){var se="".concat(s,"-instance.").concat(q++),oe="".concat(s,"-geometry.").concat(ae),ue=16*g[J],ce=p.subarray(ue,ue+16);r.createMesh(le.apply({},{id:se,geometryId:oe,matrix:ce})),re.push(se)}else re.push(ae)}re.length>0&&r.createEntity(le.apply({},{id:ee,isObject:!0,meshIds:re}))}}(0,0,o,r,0,a)}},sC=window.pako||zR;sC.inflate||(sC=sC.default);var oC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var lC={version:5,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],eachPrimitivePositionsAndNormalsPortion:e[5],eachPrimitiveIndicesPortion:e[6],eachPrimitiveEdgeIndicesPortion:e[7],eachPrimitiveColor:e[8],primitiveInstances:e[9],eachEntityId:e[10],eachEntityPrimitiveInstancesPortion:e[11],eachEntityMatricesPortion:e[12]}}(n),o=function(e){return{positions:new Float32Array(sC.inflate(e.positions).buffer),normals:new Int8Array(sC.inflate(e.normals).buffer),indices:new Uint32Array(sC.inflate(e.indices).buffer),edgeIndices:new Uint32Array(sC.inflate(e.edgeIndices).buffer),matrices:new Float32Array(sC.inflate(e.matrices).buffer),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(sC.inflate(e.eachPrimitivePositionsAndNormalsPortion).buffer),eachPrimitiveIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveIndicesPortion).buffer),eachPrimitiveEdgeIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveEdgeIndicesPortion).buffer),eachPrimitiveColor:new Uint8Array(sC.inflate(e.eachPrimitiveColor).buffer),primitiveInstances:new Uint32Array(sC.inflate(e.primitiveInstances).buffer),eachEntityId:sC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(sC.inflate(e.eachEntityPrimitiveInstancesPortion).buffer),eachEntityMatricesPortion:new Uint32Array(sC.inflate(e.eachEntityMatricesPortion).buffer)}}(s);!function(e,t,n,r,i,a){var s=a.getNextId();r.positionsCompression="disabled",r.normalsCompression="precompressed";for(var o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.eachPrimitivePositionsAndNormalsPortion,A=n.eachPrimitiveIndicesPortion,d=n.eachPrimitiveEdgeIndicesPortion,v=n.eachPrimitiveColor,h=n.primitiveInstances,I=JSON.parse(n.eachEntityId),y=n.eachEntityPrimitiveInstancesPortion,m=n.eachEntityMatricesPortion,w=p.length,g=h.length,E=new Uint8Array(w),T=I.length,b=0;b1||(D[S]=P)}for(var N=0;N1,M=oC(v.subarray(4*N,4*N+3)),F=v[4*N+3]/255,H=o.subarray(p[N],L?o.length:p[N+1]),U=l.subarray(p[N],L?l.length:p[N+1]),G=u.subarray(A[N],L?u.length:A[N+1]),k=c.subarray(d[N],L?c.length:d[N+1]);if(x){var j="".concat(s,"-geometry.").concat(N);r.createGeometry({id:j,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k})}else{var V=N;I[D[N]],r.createMesh(le.apply({},{id:V,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k,color:M,opacity:F}))}}for(var Q=0,W=0;W1){var ee="instance."+Q++,te="geometry"+$,ne=16*m[W],re=f.subarray(ne,ne+16);r.createMesh(le.apply({},{id:ee,geometryId:te,matrix:re})),J.push(ee)}else J.push($)}J.length>0&&r.createEntity(le.apply({},{id:Y,isObject:!0,meshIds:J}))}}(0,0,o,r,0,a)}},uC=window.pako||zR;uC.inflate||(uC=uC.default);var cC,fC=(cC=new Float32Array(3),function(e){return cC[0]=e[0]/255,cC[1]=e[1]/255,cC[2]=e[2]/255,cC});var pC={version:6,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],reusedPrimitivesDecodeMatrix:e[5],eachPrimitivePositionsAndNormalsPortion:e[6],eachPrimitiveIndicesPortion:e[7],eachPrimitiveEdgeIndicesPortion:e[8],eachPrimitiveColorAndOpacity:e[9],primitiveInstances:e[10],eachEntityId:e[11],eachEntityPrimitiveInstancesPortion:e[12],eachEntityMatricesPortion:e[13],eachTileAABB:e[14],eachTileEntitiesPortion:e[15]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:uC.inflate(e,t).buffer}return{positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedPrimitivesDecodeMatrix:new Float32Array(t(e.reusedPrimitivesDecodeMatrix)),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(t(e.eachPrimitivePositionsAndNormalsPortion)),eachPrimitiveIndicesPortion:new Uint32Array(t(e.eachPrimitiveIndicesPortion)),eachPrimitiveEdgeIndicesPortion:new Uint32Array(t(e.eachPrimitiveEdgeIndicesPortion)),eachPrimitiveColorAndOpacity:new Uint8Array(t(e.eachPrimitiveColorAndOpacity)),primitiveInstances:new Uint32Array(t(e.primitiveInstances)),eachEntityId:uC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(t(e.eachEntityPrimitiveInstancesPortion)),eachEntityMatricesPortion:new Uint32Array(t(e.eachEntityMatricesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){for(var s=a.getNextId(),o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.reusedPrimitivesDecodeMatrix,A=n.eachPrimitivePositionsAndNormalsPortion,d=n.eachPrimitiveIndicesPortion,v=n.eachPrimitiveEdgeIndicesPortion,h=n.eachPrimitiveColorAndOpacity,I=n.primitiveInstances,y=JSON.parse(n.eachEntityId),m=n.eachEntityPrimitiveInstancesPortion,w=n.eachEntityMatricesPortion,g=n.eachTileAABB,E=n.eachTileEntitiesPortion,T=A.length,b=I.length,D=y.length,P=E.length,R=new Uint32Array(T),C=0;C1,re=te===T-1,ie=o.subarray(A[te],re?o.length:A[te+1]),ae=l.subarray(A[te],re?l.length:A[te+1]),se=u.subarray(d[te],re?u.length:d[te+1]),oe=c.subarray(v[te],re?c.length:v[te+1]),ue=fC(h.subarray(4*te,4*te+3)),ce=h[4*te+3]/255,fe=a.getNextId();if(ne){var pe="".concat(s,"-geometry.").concat(S,".").concat(te);U[pe]||(r.createGeometry({id:pe,primitive:"triangles",positionsCompressed:ie,indices:se,edgeIndices:oe,positionsDecodeMatrix:p}),U[pe]=!0),r.createMesh(le.apply(J,{id:fe,geometryId:pe,origin:B,matrix:Q,color:ue,opacity:ce})),Y.push(fe)}else r.createMesh(le.apply(J,{id:fe,origin:B,primitive:"triangles",positionsCompressed:ie,normalsCompressed:ae,indices:se,edgeIndices:oe,positionsDecodeMatrix:H,color:ue,opacity:ce})),Y.push(fe)}Y.length>0&&r.createEntity(le.apply(q,{id:j,isObject:!0,meshIds:Y}))}}}(e,t,o,r,0,a)}},AC=window.pako||zR;AC.inflate||(AC=AC.default);var dC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function vC(e){for(var t=[],n=0,r=e.length;n1,ae=re===R-1,se=dC(E.subarray(6*ne,6*ne+3)),oe=E[6*ne+3]/255,ue=E[6*ne+4]/255,ce=E[6*ne+5]/255,fe=a.getNextId();if(ie){var pe=g[ne],Ae=p.slice(pe,pe+16),de="".concat(s,"-geometry.").concat(M,".").concat(re);if(!V[de]){var ve=void 0,he=void 0,Ie=void 0,ye=void 0,me=void 0,we=void 0;switch(d[re]){case 0:ve="solid",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ve="surface",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ve="points",he=o.subarray(v[re],ae?o.length:v[re+1]),ye=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ve="lines",he=o.subarray(v[re],ae?o.length:v[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createGeometry({id:de,primitive:ve,positionsCompressed:he,normalsCompressed:Ie,colors:ye,indices:me,edgeIndices:we,positionsDecodeMatrix:A}),V[de]=!0}r.createMesh(le.apply(ee,{id:fe,geometryId:de,origin:L,matrix:Ae,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}else{var ge=void 0,Ee=void 0,Te=void 0,be=void 0,De=void 0,Pe=void 0;switch(d[re]){case 0:ge="solid",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ge="surface",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ge="points",Ee=o.subarray(v[re],ae?o.length:v[re+1]),be=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ge="lines",Ee=o.subarray(v[re],ae?o.length:v[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createMesh(le.apply(ee,{id:fe,origin:L,primitive:ge,positionsCompressed:Ee,normalsCompressed:Te,colors:be,indices:De,edgeIndices:Pe,positionsDecodeMatrix:j,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}}q.length>0&&r.createEntity(le.apply(Z,{id:z,isObject:!0,meshIds:q}))}}}(e,t,o,r,0,a)}},IC=window.pako||zR;IC.inflate||(IC=IC.default);var yC=$.vec4(),mC=$.vec4();var wC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function gC(e){for(var t=[],n=0,r=e.length;n1,we=ye===N-1,ge=wC(R.subarray(6*Ie,6*Ie+3)),Ee=R[6*Ie+3]/255,Te=R[6*Ie+4]/255,be=R[6*Ie+5]/255,De=a.getNextId();if(me){var Pe=P[Ie],Re=I.slice(Pe,Pe+16),Ce="".concat(s,"-geometry.").concat(q,".").concat(ye),_e=X[Ce];if(!_e){_e={batchThisMesh:!t.reuseGeometries};var Be=!1;switch(m[ye]){case 0:_e.primitiveName="solid",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 1:_e.primitiveName="surface",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 2:_e.primitiveName="points",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryColors=gC(d.subarray(E[ye],we?d.length:E[ye+1])),Be=_e.geometryPositions.length>0;break;case 3:_e.primitiveName="lines",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;default:continue}if(Be||(_e=null),_e&&(_e.geometryPositions.length,_e.batchThisMesh)){_e.decompressedPositions=new Float32Array(_e.geometryPositions.length);for(var Oe=_e.geometryPositions,Se=_e.decompressedPositions,Ne=0,Le=Oe.length;Ne0&&Ve.length>0;break;case 1:Ue="surface",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),ke=A.subarray(g[ye],we?A.length:g[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),Qe=h.subarray(b[ye],we?h.length:b[ye+1]),We=Ge.length>0&&Ve.length>0;break;case 2:Ue="points",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),je=gC(d.subarray(E[ye],we?d.length:E[ye+1])),We=Ge.length>0;break;case 3:Ue="lines",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),We=Ge.length>0&&Ve.length>0;break;default:continue}We&&(r.createMesh(le.apply(ve,{id:De,origin:K,primitive:Ue,positionsCompressed:Ge,normalsCompressed:ke,colorsCompressed:je,indices:Ve,edgeIndices:Qe,positionsDecodeMatrix:re,color:ge,metallic:Te,roughness:be,opacity:Ee})),pe.push(De))}}pe.length>0&&r.createEntity(le.apply(de,{id:oe,isObject:!0,meshIds:pe}))}}}(e,t,o,r,i,a)}},TC=window.pako||zR;TC.inflate||(TC=TC.default);var bC=$.vec4(),DC=$.vec4();var PC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var RC={version:9,parse:function(e,t,n,r,i,a){var s=function(e){return{metadata:e[0],positions:e[1],normals:e[2],colors:e[3],indices:e[4],edgeIndices:e[5],matrices:e[6],reusedGeometriesDecodeMatrix:e[7],eachGeometryPrimitiveType:e[8],eachGeometryPositionsPortion:e[9],eachGeometryNormalsPortion:e[10],eachGeometryColorsPortion:e[11],eachGeometryIndicesPortion:e[12],eachGeometryEdgeIndicesPortion:e[13],eachMeshGeometriesPortion:e[14],eachMeshMatricesPortion:e[15],eachMeshMaterial:e[16],eachEntityId:e[17],eachEntityMeshesPortion:e[18],eachTileAABB:e[19],eachTileEntitiesPortion:e[20]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:TC.inflate(e,t).buffer}return{metadata:JSON.parse(TC.inflate(e.metadata,{to:"string"})),positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),colors:new Uint8Array(t(e.colors)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedGeometriesDecodeMatrix:new Float32Array(t(e.reusedGeometriesDecodeMatrix)),eachGeometryPrimitiveType:new Uint8Array(t(e.eachGeometryPrimitiveType)),eachGeometryPositionsPortion:new Uint32Array(t(e.eachGeometryPositionsPortion)),eachGeometryNormalsPortion:new Uint32Array(t(e.eachGeometryNormalsPortion)),eachGeometryColorsPortion:new Uint32Array(t(e.eachGeometryColorsPortion)),eachGeometryIndicesPortion:new Uint32Array(t(e.eachGeometryIndicesPortion)),eachGeometryEdgeIndicesPortion:new Uint32Array(t(e.eachGeometryEdgeIndicesPortion)),eachMeshGeometriesPortion:new Uint32Array(t(e.eachMeshGeometriesPortion)),eachMeshMatricesPortion:new Uint32Array(t(e.eachMeshMatricesPortion)),eachMeshMaterial:new Uint8Array(t(e.eachMeshMaterial)),eachEntityId:JSON.parse(TC.inflate(e.eachEntityId,{to:"string"})),eachEntityMeshesPortion:new Uint32Array(t(e.eachEntityMeshesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){var s=a.getNextId(),o=n.metadata,l=n.positions,u=n.normals,c=n.colors,f=n.indices,p=n.edgeIndices,A=n.matrices,d=n.reusedGeometriesDecodeMatrix,v=n.eachGeometryPrimitiveType,h=n.eachGeometryPositionsPortion,I=n.eachGeometryNormalsPortion,y=n.eachGeometryColorsPortion,m=n.eachGeometryIndicesPortion,w=n.eachGeometryEdgeIndicesPortion,g=n.eachMeshGeometriesPortion,E=n.eachMeshMatricesPortion,T=n.eachMeshMaterial,b=n.eachEntityId,D=n.eachEntityMeshesPortion,P=n.eachTileAABB,R=n.eachTileEntitiesPortion,C=h.length,_=g.length,B=D.length,O=R.length;i&&i.loadData(o,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes,globalizeObjectIds:t.globalizeObjectIds});for(var S=new Uint32Array(C),N=0;N<_;N++){var L=g[N];void 0!==S[L]?S[L]++:S[L]=1}for(var x=$.vec3(),M=$.AABB3(),F={},H=0;H1,oe=ae===C-1,ue=PC(T.subarray(6*ie,6*ie+3)),ce=T[6*ie+3]/255,fe=T[6*ie+4]/255,pe=T[6*ie+5]/255,Ae=a.getNextId();if(se){var de=E[ie],ve=A.slice(de,de+16),he="".concat(s,"-geometry.").concat(H,".").concat(ae),Ie=F[he];if(!Ie){Ie={batchThisMesh:!t.reuseGeometries};var ye=!1;switch(v[ae]){case 0:Ie.primitiveName="solid",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 1:Ie.primitiveName="surface",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 2:Ie.primitiveName="points",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryColors=c.subarray(y[ae],oe?c.length:y[ae+1]),ye=Ie.geometryPositions.length>0;break;case 3:Ie.primitiveName="lines",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;default:continue}if(ye||(Ie=null),Ie&&(Ie.geometryPositions.length,Ie.batchThisMesh)){Ie.decompressedPositions=new Float32Array(Ie.geometryPositions.length),Ie.transformedAndRecompressedPositions=new Uint16Array(Ie.geometryPositions.length);for(var me=Ie.geometryPositions,we=Ie.decompressedPositions,ge=0,Ee=me.length;ge0&&Oe.length>0;break;case 1:Re="surface",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),_e=u.subarray(I[ae],oe?u.length:I[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Se=p.subarray(w[ae],oe?p.length:w[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;case 2:Re="points",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Be=c.subarray(y[ae],oe?c.length:y[ae+1]),Ne=Ce.length>0;break;case 3:Re="lines",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;default:continue}Ne&&(r.createMesh(le.apply(ne,{id:Ae,origin:x,primitive:Re,positionsCompressed:Ce,normalsCompressed:_e,colorsCompressed:Be,indices:Oe,edgeIndices:Se,positionsDecodeMatrix:Q,color:ue,metallic:fe,roughness:pe,opacity:ce})),Z.push(Ae))}}Z.length>0&&r.createEntity(le.apply(te,{id:Y,isObject:!0,meshIds:Z}))}}}(e,t,o,r,i,a)}},CC=window.pako||zR;CC.inflate||(CC=CC.default);var _C=$.vec4(),BC=$.vec4();var OC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function SC(e,t){var n=[];if(t.length>1)for(var r=0,i=t.length-1;r1)for(var a=0,s=e.length/3-1;a0,z=9*k,K=1===c[z+0],Y=c[z+1];c[z+2],c[z+3];var X=c[z+4],q=c[z+5],J=c[z+6],Z=c[z+7],ee=c[z+8];if(W){var te=new Uint8Array(l.subarray(V,Q)).buffer,ne="".concat(s,"-texture-").concat(k);if(K)r.createTexture({id:ne,buffers:[te],minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee});else{var re=new Blob([te],{type:10001===Y?"image/jpeg":10002===Y?"image/png":"image/gif"}),ie=(window.URL||window.webkitURL).createObjectURL(re),ae=document.createElement("img");ae.src=ie,r.createTexture({id:ne,image:ae,minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee})}}}for(var se=0;se=0?"".concat(s,"-texture-").concat(ce):null,normalsTextureId:pe>=0?"".concat(s,"-texture-").concat(pe):null,metallicRoughnessTextureId:fe>=0?"".concat(s,"-texture-").concat(fe):null,emissiveTextureId:Ae>=0?"".concat(s,"-texture-").concat(Ae):null,occlusionTextureId:de>=0?"".concat(s,"-texture-").concat(de):null})}for(var ve=new Uint32Array(F),he=0;he1,Ve=ke===F-1,Qe=_[Ge],We=Qe>=0?"".concat(s,"-textureSet-").concat(Qe):null,ze=OC(B.subarray(6*Ge,6*Ge+3)),Ke=B[6*Ge+3]/255,Ye=B[6*Ge+4]/255,Xe=B[6*Ge+5]/255,qe=a.getNextId();if(je){var Je=C[Ge],Ze=y.slice(Je,Je+16),$e="".concat(s,"-geometry.").concat(ge,".").concat(ke),et=we[$e];if(!et){et={batchThisMesh:!t.reuseGeometries};var tt=!1;switch(w[ke]){case 0:et.primitiveName="solid",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 1:et.primitiveName="surface",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 2:et.primitiveName="points",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryColors=A.subarray(T[ke],Ve?A.length:T[ke+1]),tt=et.geometryPositions.length>0;break;case 3:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 4:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=SC(et.geometryPositions,v.subarray(D[ke],Ve?v.length:D[ke+1])),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;default:continue}if(tt||(et=null),et&&(et.geometryPositions.length,et.batchThisMesh)){et.decompressedPositions=new Float32Array(et.geometryPositions.length),et.transformedAndRecompressedPositions=new Uint16Array(et.geometryPositions.length);for(var nt=et.geometryPositions,rt=et.decompressedPositions,it=0,at=nt.length;it0&&vt.length>0;break;case 1:ct="surface",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),pt=p.subarray(E[ke],Ve?p.length:E[ke+1]),At=d.subarray(b[ke],Ve?d.length:b[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),ht=h.subarray(P[ke],Ve?h.length:P[ke+1]),It=ft.length>0&&vt.length>0;break;case 2:ct="points",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),dt=A.subarray(T[ke],Ve?A.length:T[ke+1]),It=ft.length>0;break;case 3:ct="lines",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),It=ft.length>0&&vt.length>0;break;case 4:ct="lines",vt=SC(ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),v.subarray(D[ke],Ve?v.length:D[ke+1])),It=ft.length>0&&vt.length>0;break;default:continue}It&&(r.createMesh(le.apply(He,{id:qe,textureSetId:We,origin:ye,primitive:ct,positionsCompressed:ft,normalsCompressed:pt,uv:At&&At.length>0?At:null,colorsCompressed:dt,indices:vt,edgeIndices:ht,positionsDecodeMatrix:Re,color:ze,metallic:Ye,roughness:Xe,opacity:Ke})),xe.push(qe))}}xe.length>0&&r.createEntity(le.apply(Fe,{id:Oe,isObject:!0,meshIds:xe}))}}}(e,t,o,r,i,a)}},LC={};LC[qR.version]=qR,LC[$R.version]=$R,LC[nC.version]=nC,LC[aC.version]=aC,LC[lC.version]=lC,LC[pC.version]=pC,LC[hC.version]=hC,LC[EC.version]=EC,LC[RC.version]=RC,LC[NC.version]=NC;var xC=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"XKTLoader",e,i))._maxGeometryBatchSize=i.maxGeometryBatchSize,r.textureTranscoder=i.textureTranscoder,r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r.reuseGeometries=i.reuseGeometries,r}return P(n,[{key:"supportedVersions",get:function(){return Object.keys(LC)}},{key:"textureTranscoder",get:function(){return this._textureTranscoder},set:function(e){this._textureTranscoder=e}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new WR}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"reuseGeometries",get:function(){return this._reuseGeometries},set:function(e){this._reuseGeometries=!1!==e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id),!(t.src||t.xkt||t.manifestSrc||t.manifest))return this.error("load() param expected: src, xkt, manifestSrc or manifestData"),c;var n={},r=t.includeTypes||this._includeTypes,i=t.excludeTypes||this._excludeTypes,a=t.objectDefaults||this._objectDefaults;if(n.reuseGeometries=null!==t.reuseGeometries&&void 0!==t.reuseGeometries?t.reuseGeometries:!1!==this._reuseGeometries,r){n.includeTypesMap={};for(var s=0,o=r.length;s=t.length?a():e._dataSource.getMetaModel("".concat(y).concat(t[o]),(function(e){p.loadData(e,{includeTypes:r,excludeTypes:i,globalizeObjectIds:n.globalizeObjectIds}),o++,l()}),s)}()},w=function(r,i,a){var s=0;!function o(){s>=r.length?i():e._dataSource.getXKT("".concat(y).concat(r[s]),(function(r){e._parseModel(r,t,n,c,p,h),s++,o()}),a)}()};if(t.manifest){var g=t.manifest,E=g.xktFiles;if(!E||0===E.length)return void d("load(): Failed to load model manifest - manifest not valid");var T=g.metaModelFiles;T?m(T,(function(){w(E,A,d)}),d):w(E,A,d)}else this._dataSource.getManifest(t.manifestSrc,(function(e){if(!c.destroyed){var t=e.xktFiles;if(t&&0!==t.length){var n=e.metaModelFiles;n?m(n,(function(){w(t,A,d)}),d):w(t,A,d)}else d("load(): Failed to load model manifest - manifest not valid")}}),d)}return c}},{key:"_loadModel",value:function(e,t,n,r,i,a,s,o){var l=this;this._dataSource.getXKT(t.src,(function(e){l._parseModel(e,t,n,r,i,a),s()}),o)}},{key:"_parseModel",value:function(e,t,n,r,i,a){if(!r.destroyed){var s=new DataView(e),o=new Uint8Array(e),l=s.getUint32(0,!0),u=LC[l];if(u){this.log("Loading .xkt V"+l);for(var c=s.getUint32(4,!0),f=[],p=4*(c+2),A=0;Ae.size)throw new RangeError("offset:"+t+", length:"+n+", size:"+e.size);return e.slice?e.slice(t,t+n):e.webkitSlice?e.webkitSlice(t,t+n):e.mozSlice?e.mozSlice(t,t+n):e.msSlice?e.msSlice(t,t+n):void 0}(e,t,n))}catch(e){i(e)}}}function d(){}function v(e){var n,r=this;r.init=function(e){n=new Blob([],{type:s}),e()},r.writeUint8Array=function(e,r){n=new Blob([n,t?e:e.buffer],{type:s}),r()},r.getData=function(t,r){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=r,i.readAsText(n,e)}}function h(t){var n=this,r="",i="";n.init=function(e){r+="data:"+(t||"")+";base64,",e()},n.writeUint8Array=function(t,n){var a,s=i.length,o=i;for(i="",a=0;a<3*Math.floor((s+t.length)/3)-s;a++)o+=String.fromCharCode(t[a]);for(;a2?r+=e.btoa(o):i=o,n()},n.getData=function(t){t(r+e.btoa(i))}}function I(e){var n,r=this;r.init=function(t){n=new Blob([],{type:e}),t()},r.writeUint8Array=function(r,i){n=new Blob([n,t?r:r.buffer],{type:e}),i()},r.getData=function(e){e(n)}}function y(e,t,n,r,i,s,o,l,u,c){var f,p,A,d=0,v=t.sn;function h(){e.removeEventListener("message",I,!1),l(p,A)}function I(t){var n=t.data,i=n.data,a=n.error;if(a)return a.toString=function(){return"Error: "+this.message},void u(a);if(n.sn===v)switch("number"==typeof n.codecTime&&(e.codecTime+=n.codecTime),"number"==typeof n.crcTime&&(e.crcTime+=n.crcTime),n.type){case"append":i?(p+=i.length,r.writeUint8Array(i,(function(){y()}),c)):y();break;case"flush":A=n.crc,i?(p+=i.length,r.writeUint8Array(i,(function(){h()}),c)):h();break;case"progress":o&&o(f+n.loaded,s);break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",n)}}function y(){(f=d*a)<=s?n.readUint8Array(i+f,Math.min(a,s-f),(function(n){o&&o(f,s);var r=0===f?t:{sn:v};r.type="append",r.data=n;try{e.postMessage(r,[n.buffer])}catch(t){e.postMessage(r)}d++}),u):e.postMessage({sn:v,type:"flush"})}p=0,e.addEventListener("message",I,!1),y()}function m(e,t,n,r,i,s,l,u,c,f){var p,A=0,d=0,v="input"===s,h="output"===s,I=new o;!function s(){var o;if((p=A*a)127?i[n-128]:String.fromCharCode(n);return r}function E(e){return decodeURIComponent(escape(e))}function T(e){var t,n="";for(t=0;t>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?((r||8!=(8&e.bitFlag))&&(e.crc32=t.view.getUint32(n+10,!0),e.compressedSize=t.view.getUint32(n+14,!0),e.uncompressedSize=t.view.getUint32(n+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(n+22,!0),e.extraFieldLength=t.view.getUint16(n+24,!0)):i("File is using Zip64 (4gb+ file size).")):i("File contains encrypted entry.")}function D(t,a,s){var o=0;function l(){}l.prototype.getData=function(r,a,l,c){var f=this;function p(e,t){c&&!function(e){var t=u(4);return t.view.setUint32(0,e),f.crc32==t.view.getUint32(0)}(t)?s("CRC failed."):r.getData((function(e){a(e)}))}function A(e){s(e||i)}function d(e){s(e||"Error while writing file data.")}t.readUint8Array(f.offset,30,(function(i){var a,v=u(i.length,i);1347093252==v.view.getUint32(0)?(b(f,v,4,!1,s),a=f.offset+30+f.filenameLength+f.extraFieldLength,r.init((function(){0===f.compressionMethod?w(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d):function(t,n,r,i,a,s,o,l,u,c,f){var p=o?"output":"none";e.zip.useWebWorkers?y(t,{sn:n,codecClass:"Inflater",crcType:p},r,i,a,s,u,l,c,f):m(new e.zip.Inflater,r,i,a,s,p,u,l,c,f)}(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d)}),d)):s(n)}),A)};var c={getEntries:function(e){var i=this._worker;!function(e){t.size<22?s(n):i(22,(function(){i(Math.min(65558,t.size),(function(){s(n)}))}));function i(n,i){t.readUint8Array(t.size-n,n,(function(t){for(var n=t.length-22;n>=0;n--)if(80===t[n]&&75===t[n+1]&&5===t[n+2]&&6===t[n+3])return void e(new DataView(t.buffer,n,22));i()}),(function(){s(r)}))}}((function(a){var o,c;o=a.getUint32(16,!0),c=a.getUint16(8,!0),o<0||o>=t.size?s(n):t.readUint8Array(o,t.size-o,(function(t){var r,a,o,f,p=0,A=[],d=u(t.length,t);for(r=0;r>>8^n[255&(t^e[r])];this.crc=t},o.prototype.get=function(){return~this.crc},o.prototype.table=function(){var e,t,n,r=[];for(e=0;e<256;e++){for(n=e,t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;r[e]=n}return r}(),l.prototype.append=function(e,t){return e},l.prototype.flush=function(){},f.prototype=new c,f.prototype.constructor=f,p.prototype=new c,p.prototype.constructor=p,A.prototype=new c,A.prototype.constructor=A,d.prototype.getData=function(e){e(this.data)},v.prototype=new d,v.prototype.constructor=v,h.prototype=new d,h.prototype.constructor=h,I.prototype=new d,I.prototype.constructor=I;var _={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function B(t,n,r){if(null===e.zip.workerScripts||null===e.zip.workerScriptsPath){var i;if(e.zip.workerScripts){if(i=e.zip.workerScripts[t],!Array.isArray(i))return void r(new Error("zip.workerScripts."+t+" is not an array!"));i=function(e){var t=document.createElement("a");return e.map((function(e){return t.href=e,t.href}))}(i)}else(i=_[t].slice(0))[0]=(e.zip.workerScriptsPath||"")+i[0];var a=new Worker(i[0]);a.codecTime=a.crcTime=0,a.postMessage({type:"importScripts",scripts:i.slice(1)}),a.addEventListener("message",(function e(t){var i=t.data;if(i.error)return a.terminate(),void r(i.error);"importScripts"===i.type&&(a.removeEventListener("message",e),a.removeEventListener("error",s),n(a))})),a.addEventListener("error",s)}else r(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));function s(e){a.terminate(),r(e)}}function O(e){console.error(e)}e.zip={Reader:c,Writer:d,BlobReader:A,Data64URIReader:p,TextReader:f,BlobWriter:I,Data64URIWriter:h,TextWriter:v,createReader:function(e,t,n){n=n||O,e.init((function(){D(e,t,n)}),n)},createWriter:function(e,t,n,r){n=n||O,r=!!r,e.init((function(){C(e,t,n,r)}),n)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}}(FC);var HC=FC.zip;!function(e){var t,n,r=e.Reader,i=e.Writer;try{n=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function a(e){var t=this;function n(n,r){var i;t.data?n():((i=new XMLHttpRequest).addEventListener("load",(function(){t.size||(t.size=Number(i.getResponseHeader("Content-Length"))||Number(i.response.byteLength)),t.data=new Uint8Array(i.response),n()}),!1),i.addEventListener("error",r,!1),i.open("GET",e),i.responseType="arraybuffer",i.send())}t.size=0,t.init=function(r,i){if(function(e){var t=document.createElement("a");return t.href=e,"http:"===t.protocol||"https:"===t.protocol}(e)){var a=new XMLHttpRequest;a.addEventListener("load",(function(){t.size=Number(a.getResponseHeader("Content-Length")),t.size?r():n(r,i)}),!1),a.addEventListener("error",i,!1),a.open("HEAD",e),a.send()}else n(r,i)},t.readUint8Array=function(e,r,i,a){n((function(){i(new Uint8Array(t.data.subarray(e,e+r)))}),a)}}function s(e){var t=this;t.size=0,t.init=function(n,r){var i=new XMLHttpRequest;i.addEventListener("load",(function(){t.size=Number(i.getResponseHeader("Content-Length")),"bytes"==i.getResponseHeader("Accept-Ranges")?n():r("HTTP Range not supported.")}),!1),i.addEventListener("error",r,!1),i.open("HEAD",e),i.send()},t.readUint8Array=function(t,n,r,i){!function(t,n,r,i){var a=new XMLHttpRequest;a.open("GET",e),a.responseType="arraybuffer",a.setRequestHeader("Range","bytes="+t+"-"+(t+n-1)),a.addEventListener("load",(function(){r(a.response)}),!1),a.addEventListener("error",i,!1),a.send()}(t,n,(function(e){r(new Uint8Array(e))}),i)}}function o(e){var t=this;t.size=0,t.init=function(n,r){t.size=e.byteLength,n()},t.readUint8Array=function(t,n,r,i){r(new Uint8Array(e.slice(t,t+n)))}}function l(){var e,t=this;t.init=function(t,n){e=new Uint8Array,t()},t.writeUint8Array=function(t,n,r){var i=new Uint8Array(e.length+t.length);i.set(e),i.set(t,e.length),e=i,n()},t.getData=function(t){t(e.buffer)}}function u(e,t){var r,i=this;i.init=function(t,n){e.createWriter((function(e){r=e,t()}),n)},i.writeUint8Array=function(e,i,a){var s=new Blob([n?e:e.buffer],{type:t});r.onwrite=function(){r.onwrite=null,i()},r.onerror=a,r.write(s)},i.getData=function(t){e.file(t)}}a.prototype=new r,a.prototype.constructor=a,s.prototype=new r,s.prototype.constructor=s,o.prototype=new r,o.prototype.constructor=o,l.prototype=new i,l.prototype.constructor=l,u.prototype=new i,u.prototype.constructor=u,e.FileWriter=u,e.HttpReader=a,e.HttpRangeReader=s,e.ArrayBufferReader=o,e.ArrayBufferWriter=l,e.fs&&((t=e.fs.ZipDirectoryEntry).prototype.addHttpContent=function(n,r,i){return function(n,r,i,a){if(n.directory)return a?new t(n.fs,r,i,n):new e.fs.ZipFileEntry(n.fs,r,i,n);throw"Parent entry is not a directory."}(this,n,{data:r,Reader:i?s:a})},t.prototype.importHttpContent=function(e,t,n,r){this.importZip(t?new s(e):new a(e),n,r)},e.fs.FS.prototype.importHttpContent=function(e,n,r,i){this.entries=[],this.root=new t(this),this.root.importHttpContent(e,n,r,i)})}(HC);var UC=["4.2"],GC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.supportedSchemas=UC,this._xrayOpacity=.7,this._src=null,this._options=n,this.viewpoint=null,n.workerScriptsPath?(HC.workerScriptsPath=n.workerScriptsPath,this.src=n.src,this.xrayOpacity=.7,this.displayEffect=n.displayEffect,this.createMetaModel=n.createMetaModel):t.error("Config expected: workerScriptsPath")}return P(e,[{key:"load",value:function(e,t,n,r,i,a){switch(r.materialType){case"MetallicMaterial":t._defaultMaterial=new ya(t,{baseColor:[1,1,1],metallic:.6,roughness:.6});break;case"SpecularMaterial":t._defaultMaterial=new ga(t,{diffuse:[1,1,1],specular:$.vec3([1,1,1]),glossiness:.5});break;default:t._defaultMaterial=new Nn(t,{reflectivity:.75,shiness:100,diffuse:[1,1,1]})}t._wireframeMaterial=new va(t,{color:[0,0,0],lineWidth:2});var s=t.scene.canvas.spinner;s.processes++,kC(e,t,n,r,(function(){s.processes--,i&&i(),t.fire("loaded",!0,!1)}),(function(e){s.processes--,t.error(e),a&&a(e),t.fire("error",e)}),(function(e){console.log("Error, Will Robinson: "+e)}))}}]),e}(),kC=function(e,t,n,r,i,a){!function(e,t,n){var r=new XC;r.load(e,(function(){t(r)}),(function(e){n("Error loading ZIP archive: "+e)}))}(n,(function(n){jC(e,n,r,t,i,a)}),a)},jC=function(){return function(t,n,r,i,a){var s={plugin:t,zip:n,edgeThreshold:30,materialType:r.materialType,scene:i.scene,modelNode:i,info:{references:{}},materials:{}};r.createMetaModel&&(s.metaModelData={modelId:i.id,metaObjects:[{name:i.id,type:"Default",id:i.id}]}),i.scene.loading++,function(t,n){t.zip.getFile("Manifest.xml",(function(r,i){for(var a=i.children,s=0,o=a.length;s0){for(var s=a.trim().split(" "),o=new Int16Array(s.length),l=0,u=0,c=s.length;u0){n.primitive="triangles";for(var a=[],s=0,o=i.length;s=t.length)n();else{var o=t[a].id,l=o.lastIndexOf(":");l>0&&(o=o.substring(l+1));var u=o.lastIndexOf("#");u>0&&(o=o.substring(0,u)),r[o]?i(a+1):function(e,t,n){e.zip.getFile(t,(function(t,r){!function(e,t,n){for(var r,i=t.children,a=0,s=i.length;a0)for(var r=0,i=t.length;r1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,"XML3DLoader",e,i),i.workerScriptsPath?(r._workerScriptsPath=i.workerScriptsPath,r._loader=new GC(g(r),i),r.supportedSchemas=r._loader.supportedSchemas,r):(r.error("Config expected: workerScriptsPath"),w(r))}return P(n,[{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.workerScriptsPath=this._workerScriptsPath,e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src;return n?(this._loader.load(this,t,n,e),t):(this.error("load() param expected: src"),t)}}]),n}(),r_=Object.defineProperty,i_=Object.defineProperties,a_=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,o_=Object.prototype.hasOwnProperty,l_=Object.prototype.propertyIsEnumerable,u_=function(e,t,n){return t in e?r_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n},c_=function(e,t){for(var n in t||(t={}))o_.call(t,n)&&u_(e,n,t[n]);if(s_){var r,i=f(s_(t));try{for(i.s();!(r=i.n()).done;){n=r.value;l_.call(t,n)&&u_(e,n,t[n])}}catch(e){i.e(e)}finally{i.f()}}return e},f_=function(e,t){return i_(e,a_(t))},p_=function(e,t){return function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports}},A_=function(e,t,n){return new Promise((function(r,i){var a=function(e){try{o(n.next(e))}catch(e){i(e)}},s=function(e){try{o(n.throw(e))}catch(e){i(e)}},o=function(e){return e.done?r(e.value):Promise.resolve(e.value).then(a,s)};o((n=n.apply(e,t)).next())}))},d_=p_({"dist/web-ifc-mt.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function t(){return O.buffer!=F.buffer&&J(),F}function r(){return O.buffer!=F.buffer&&J(),H}function i(){return O.buffer!=F.buffer&&J(),U}function a(){return O.buffer!=F.buffer&&J(),G}function s(){return O.buffer!=F.buffer&&J(),k}function o(){return O.buffer!=F.buffer&&J(),j}function l(){return O.buffer!=F.buffer&&J(),V}function u(){return O.buffer!=F.buffer&&J(),Q}var p,A,d=void 0!==e?e:{};d.ready=new Promise((function(e,t){p=e,A=t}));var v,h,I,y=Object.assign({},d),m="./this.program",w=function(e,t){throw t},g="object"==("undefined"==typeof window?"undefined":T(window)),E="function"==typeof importScripts,b="object"==("undefined"==typeof process?"undefined":T(process))&&"object"==T(process.versions)&&"string"==typeof process.versions.node,D=d.ENVIRONMENT_IS_PTHREAD||!1,P="";function R(e){return d.locateFile?d.locateFile(e,P):P+e}(g||E)&&(E?P=self.location.href:"undefined"!=typeof document&&document.currentScript&&(P=document.currentScript.src),n&&(P=n),P=0!==P.indexOf("blob:")?P.substr(0,P.replace(/[?#].*/,"").lastIndexOf("/")+1):"",v=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},E&&(I=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),h=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)});var C,_=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);Object.assign(d,y),y=null,d.arguments,d.thisProgram&&(m=d.thisProgram),d.quit&&(w=d.quit),d.wasmBinary&&(C=d.wasmBinary);var O,S,N=d.noExitRuntime||!0;"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&de("no native wasm support detected");var L,x=!1;function M(e,t){e||de(t)}var F,H,U,G,k,j,V,Q,W="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&W)return W.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function K(e,t){return(e>>>=0)?z(r(),e,t):""}function Y(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function X(e,t,n){return Y(e,r(),t,n)}function q(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function J(){var e=O.buffer;d.HEAP8=F=new Int8Array(e),d.HEAP16=U=new Int16Array(e),d.HEAP32=k=new Int32Array(e),d.HEAPU8=H=new Uint8Array(e),d.HEAPU16=G=new Uint16Array(e),d.HEAPU32=j=new Uint32Array(e),d.HEAPF32=V=new Float32Array(e),d.HEAPF64=Q=new Float64Array(e)}var Z,$=d.INITIAL_MEMORY||16777216;if(M($>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+$+"! (STACK_SIZE=5242880)"),D)O=d.wasmMemory;else if(d.wasmMemory)O=d.wasmMemory;else if(!((O=new WebAssembly.Memory({initial:$/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw B("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),b&&B("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");J(),$=O.buffer.byteLength;var ee=[],te=[],ne=[];function re(){return N}function ie(){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)oe(d.preRun.shift());Ve(ee)}function ae(){D||(d.noFSInit||Me.init.initialized||Me.init(),Me.ignorePermissions=!1,Ve(te))}function se(){if(!D){if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)ue(d.postRun.shift());Ve(ne)}}function oe(e){ee.unshift(e)}function le(e){te.unshift(e)}function ue(e){ne.unshift(e)}var ce=0,fe=null;function pe(e){ce++,d.monitorRunDependencies&&d.monitorRunDependencies(ce)}function Ae(e){if(ce--,d.monitorRunDependencies&&d.monitorRunDependencies(ce),0==ce&&fe){var t=fe;fe=null,t()}}function de(e){d.onAbort&&d.onAbort(e),B(e="Aborted("+e+")"),x=!0,L=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw A(t),t}var ve,he,Ie,ye="data:application/octet-stream;base64,";function me(e){return e.startsWith(ye)}function we(e){try{if(e==ve&&C)return new Uint8Array(C);if(I)return I(e);throw"both async and sync fetching of the wasm failed"}catch(e){de(e)}}function ge(){return C||!g&&!E||"function"!=typeof fetch?Promise.resolve().then((function(){return we(ve)})):fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return we(ve)}))}function Ee(){var e={a:vi};function t(e,t){var n=e.exports;d.asm=n,Xe(d.asm.ka),Z=d.asm.ia,le(d.asm.ha),S=t,je.loadWasmModuleToAllWorkers((function(){return Ae()}))}function n(e){t(e.instance,e.module)}function r(t){return ge().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){B("failed to asynchronously prepare wasm: "+e),de(e)}))}if(pe(),d.instantiateWasm)try{return d.instantiateWasm(e,t)}catch(e){B("Module.instantiateWasm callback failed with error: "+e),A(e)}return(C||"function"!=typeof WebAssembly.instantiateStreaming||me(ve)||"function"!=typeof fetch?r(n):fetch(ve,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return B("wasm streaming compile failed: "+e),B("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(A),{}}function Te(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function be(e){var t=je.pthreads[e];delete je.pthreads[e],t.terminate(),Ti(e),je.runningWorkers.splice(je.runningWorkers.indexOf(t),1),t.pthread_ptr=0}function De(e){je.pthreads[e].postMessage({cmd:"cancel"})}function Pe(e){var t=je.pthreads[e];M(t),je.returnWorkerToPool(t)}function Re(e){var t=je.getNewWorker();if(!t)return 6;je.runningWorkers.push(t),je.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.postMessage(n,e.transferList),0}me(ve="web-ifc-mt.wasm")||(ve=R(ve));var Ce={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Ce.isAbs(e),n="/"===e.substr(-1);return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Ce.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Ce.normalize(e.join("/"))},join2:function(e,t){return Ce.normalize(e+"/"+t)}};function _e(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return de("randomDevice")}}var Be={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Me.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Ce.isAbs(r)}return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Be.resolve(e).substr(1),t=Be.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:q(e)+1,i=new Array(r),a=Y(e,i,0,i.length);return t&&(i.length=a),i}var Se={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Se.ttys[e]={input:[],output:[],ops:t},Me.registerDevice(e,Se.stream_ops)},stream_ops:{open:function(e){var t=Se.ttys[e.node.rdev];if(!t)throw new Me.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new Me.ErrnoError(60);for(var a=0,s=0;s0&&(_(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(B(z(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(B(z(e.output,0)),e.output=[])}}};function Ne(e){de()}var Le={ops_table:null,mount:function(e){return Le.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Me.isBlkdev(n)||Me.isFIFO(n))throw new Me.ErrnoError(63);Le.ops_table||(Le.ops_table={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:Me.chrdev_stream_ops}});var i=Me.createNode(e,t,n,r);return Me.isDir(i.mode)?(i.node_ops=Le.ops_table.dir.node,i.stream_ops=Le.ops_table.dir.stream,i.contents={}):Me.isFile(i.mode)?(i.node_ops=Le.ops_table.file.node,i.stream_ops=Le.ops_table.file.stream,i.usedBytes=0,i.contents=null):Me.isLink(i.mode)?(i.node_ops=Le.ops_table.link.node,i.stream_ops=Le.ops_table.link.stream):Me.isChrdev(i.mode)&&(i.node_ops=Le.ops_table.chrdev.node,i.stream_ops=Le.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Me.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Me.isDir(e.mode)?t.size=4096:Me.isFile(e.mode)?t.size=e.usedBytes:Me.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Le.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Me.genericErrors[44]},mknod:function(e,t,n,r){return Le.createNode(e,t,n,r)},rename:function(e,t,n){if(Me.isDir(e.mode)){var r;try{r=Me.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new Me.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Me.lookupNode(e,t);for(var r in n.contents)throw new Me.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=Le.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!Me.isLink(e.mode))throw new Me.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||r+n>>=0,t().set(l,s>>>0)}else o=!1,s=l.byteOffset;return{ptr:s,allocated:o}},msync:function(e,t,n,r,i){return Le.stream_ops.write(e,t,0,r,n,!1),0}}};function xe(e,t,n,r){var i=r?"":"al "+e;h(e,(function(n){M(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&Ae()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&pe()}var Me={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Be.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new Me.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=Me.root,a="/",s=0;s40)throw new Me.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Me.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Me.nameTable.length},hashAddNode:function(e){var t=Me.hashName(e.parent.id,e.name);e.name_next=Me.nameTable[t],Me.nameTable[t]=e},hashRemoveNode:function(e){var t=Me.hashName(e.parent.id,e.name);if(Me.nameTable[t]===e)Me.nameTable[t]=e.name_next;else for(var n=Me.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Me.mayLookup(e);if(n)throw new Me.ErrnoError(n,e);for(var r=Me.hashName(e.id,t),i=Me.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Me.lookup(e,t)},createNode:function(e,t,n,r){var i=new Me.FSNode(e,t,n,r);return Me.hashAddNode(i),i},destroyNode:function(e){Me.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Me.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Me.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Me.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Me.lookupNode(e,t),20}catch(e){}return Me.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Me.lookupNode(e,t)}catch(e){return e.errno}var i=Me.nodePermissions(e,"wx");if(i)return i;if(n){if(!Me.isDir(r.mode))return 54;if(Me.isRoot(r)||Me.getPath(r)===Me.cwd())return 10}else if(Me.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Me.isLink(e.mode)?32:Me.isDir(e.mode)&&("r"!==Me.flagsToPermissionString(t)||512&t)?31:Me.nodePermissions(e,Me.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Me.MAX_OPEN_FDS,n=e;n<=t;n++)if(!Me.streams[n])return n;throw new Me.ErrnoError(33)},getStream:function(e){return Me.streams[e]},createStream:function(e,t,n){Me.FSStream||(Me.FSStream=function(){this.shared={}},Me.FSStream.prototype={},Object.defineProperties(Me.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Me.FSStream,e);var r=Me.nextfd(t,n);return e.fd=r,Me.streams[r]=e,e},closeStream:function(e){Me.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Me.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Me.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Me.devices[e]={stream_ops:t}},getDevice:function(e){return Me.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Me.syncFSRequests++,Me.syncFSRequests>1&&B("warning: "+Me.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Me.getMounts(Me.root.mount),r=0;function i(e){return Me.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&Me.root)throw new Me.ErrnoError(10);if(!i&&!a){var s=Me.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,Me.isMountpoint(r))throw new Me.ErrnoError(10);if(!Me.isDir(r.mode))throw new Me.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?Me.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=Me.lookupPath(e,{follow_mount:!1});if(!Me.isMountpoint(t.node))throw new Me.ErrnoError(28);var n=t.node,r=n.mounted,i=Me.getMounts(r);Object.keys(Me.nameTable).forEach((function(e){for(var t=Me.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Me.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Me.lookupPath(e,{parent:!0}).node,i=Ce.basename(e);if(!i||"."===i||".."===i)throw new Me.ErrnoError(28);var a=Me.mayCreate(r,i);if(a)throw new Me.ErrnoError(a);if(!r.node_ops.mknod)throw new Me.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Me.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Me.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new Me.ErrnoError(28);if(Me.isClosed(e))throw new Me.ErrnoError(8);if(1==(2097155&e.flags))throw new Me.ErrnoError(8);if(Me.isDir(e.node.mode))throw new Me.ErrnoError(31);if(!e.stream_ops.read)throw new Me.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Me.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new Me.ErrnoError(28);if(Me.isClosed(e))throw new Me.ErrnoError(8);if(0==(2097155&e.flags))throw new Me.ErrnoError(8);if(Me.isDir(e.node.mode))throw new Me.ErrnoError(31);if(!e.stream_ops.write)throw new Me.ErrnoError(28);e.seekable&&1024&e.flags&&Me.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Me.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(Me.isClosed(e))throw new Me.ErrnoError(8);if(t<0||n<=0)throw new Me.ErrnoError(28);if(0==(2097155&e.flags))throw new Me.ErrnoError(8);if(!Me.isFile(e.node.mode)&&!Me.isDir(e.node.mode))throw new Me.ErrnoError(43);if(!e.stream_ops.allocate)throw new Me.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new Me.ErrnoError(2);if(1==(2097155&e.flags))throw new Me.ErrnoError(2);if(!e.stream_ops.mmap)throw new Me.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new Me.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=Me.open(e,n.flags),i=Me.stat(e),a=i.size,s=new Uint8Array(a);return Me.read(r,s,0,a,0),"utf8"===n.encoding?t=z(s,0):"binary"===n.encoding&&(t=s),Me.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=Me.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(q(t)+1),a=Y(t,i,0,i.length);Me.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Me.write(r,t,0,t.byteLength,void 0,n.canOwn)}Me.close(r)},cwd:function(){return Me.currentPath},chdir:function(e){var t=Me.lookupPath(e,{follow:!0});if(null===t.node)throw new Me.ErrnoError(44);if(!Me.isDir(t.node.mode))throw new Me.ErrnoError(54);var n=Me.nodePermissions(t.node,"x");if(n)throw new Me.ErrnoError(n);Me.currentPath=t.path},createDefaultDirectories:function(){Me.mkdir("/tmp"),Me.mkdir("/home"),Me.mkdir("/home/web_user")},createDefaultDevices:function(){Me.mkdir("/dev"),Me.registerDevice(Me.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),Me.mkdev("/dev/null",Me.makedev(1,3)),Se.register(Me.makedev(5,0),Se.default_tty_ops),Se.register(Me.makedev(6,0),Se.default_tty1_ops),Me.mkdev("/dev/tty",Me.makedev(5,0)),Me.mkdev("/dev/tty1",Me.makedev(6,0));var e=_e();Me.createDevice("/dev","random",e),Me.createDevice("/dev","urandom",e),Me.mkdir("/dev/shm"),Me.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Me.mkdir("/proc");var e=Me.mkdir("/proc/self");Me.mkdir("/proc/self/fd"),Me.mount({mount:function(){var t=Me.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=Me.getStream(n);if(!r)throw new Me.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){d.stdin?Me.createDevice("/dev","stdin",d.stdin):Me.symlink("/dev/tty","/dev/stdin"),d.stdout?Me.createDevice("/dev","stdout",null,d.stdout):Me.symlink("/dev/tty","/dev/stdout"),d.stderr?Me.createDevice("/dev","stderr",null,d.stderr):Me.symlink("/dev/tty1","/dev/stderr"),Me.open("/dev/stdin",0),Me.open("/dev/stdout",1),Me.open("/dev/stderr",1)},ensureErrnoError:function(){Me.ErrnoError||(Me.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Me.ErrnoError.prototype=new Error,Me.ErrnoError.prototype.constructor=Me.ErrnoError,[44].forEach((function(e){Me.genericErrors[e]=new Me.ErrnoError(e),Me.genericErrors[e].stack=""})))},staticInit:function(){Me.ensureErrnoError(),Me.nameTable=new Array(4096),Me.mount(Le,{},"/"),Me.createDefaultDirectories(),Me.createDefaultDevices(),Me.createSpecialDirectories(),Me.filesystems={MEMFS:Le}},init:function(e,t,n){Me.init.initialized=!0,Me.ensureErrnoError(),d.stdin=e||d.stdin,d.stdout=t||d.stdout,d.stderr=n||d.stderr,Me.createStandardStreams()},quit:function(){Me.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=n);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Oe(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!E)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:o}}else l={isDevice:!1,url:r};var u=Me.createFile(e,n,l,i,a);l.contents?u.contents=l.contents:l.url&&(u.contents=null,u.url=l.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};function f(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Me.indexedDB();try{var i=r.open(Me.DB_NAME(),Me.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){_("creating db"),i.result.createObjectStore(Me.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([Me.DB_STORE_NAME],"readwrite"),a=r.objectStore(Me.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(Me.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Me.indexedDB();try{var i=r.open(Me.DB_NAME(),Me.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([Me.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(Me.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){Me.analyzePath(e).exists&&Me.unlink(e),Me.createDataFile(Ce.dirname(e),Ce.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Fe={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Ce.isAbs(t))return t;var r;if(r=-100===e?Me.cwd():Fe.getStreamFromFD(e).path,0==t.length){if(!n)throw new Me.ErrnoError(44);return r}return Ce.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Ce.normalize(t)!==Ce.normalize(Me.getPath(e.node)))return-54;throw e}s()[n>>>2]=r.dev,s()[n+8>>>2]=r.ino,s()[n+12>>>2]=r.mode,o()[n+16>>>2]=r.nlink,s()[n+20>>>2]=r.uid,s()[n+24>>>2]=r.gid,s()[n+28>>>2]=r.rdev,Ie=[r.size>>>0,(he=r.size,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+40>>>2]=Ie[0],s()[n+44>>>2]=Ie[1],s()[n+48>>>2]=4096,s()[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),l=r.ctime.getTime();return Ie=[Math.floor(i/1e3)>>>0,(he=Math.floor(i/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+56>>>2]=Ie[0],s()[n+60>>>2]=Ie[1],o()[n+64>>>2]=i%1e3*1e3,Ie=[Math.floor(a/1e3)>>>0,(he=Math.floor(a/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+72>>>2]=Ie[0],s()[n+76>>>2]=Ie[1],o()[n+80>>>2]=a%1e3*1e3,Ie=[Math.floor(l/1e3)>>>0,(he=Math.floor(l/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+88>>>2]=Ie[0],s()[n+92>>>2]=Ie[1],o()[n+96>>>2]=l%1e3*1e3,Ie=[r.ino>>>0,(he=r.ino,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+104>>>2]=Ie[0],s()[n+108>>>2]=Ie[1],0},doMsync:function(e,t,n,i,a){if(!Me.isFile(t.node.mode))throw new Me.ErrnoError(43);if(2&i)return 0;e>>>=0;var s=r().slice(e,e+n);Me.msync(t,s,a,n,i)},varargs:void 0,get:function(){return Fe.varargs+=4,s()[Fe.varargs-4>>>2]},getStr:function(e){return K(e)},getStreamFromFD:function(e){var t=Me.getStream(e);if(!t)throw new Me.ErrnoError(8);return t}};function He(e){if(D)return Hr(1,1,e);L=e,re()||(je.terminateAllThreads(),d.onExit&&d.onExit(e),x=!0),w(e,new Te(e))}function Ue(e,t){if(L=e,!t&&D)throw We(e),"unwind";He(e)}var Ge=Ue;function ke(e){if(e instanceof Te||"unwind"==e)return L;w(1,e)}var je={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){D?je.initWorker():je.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)je.allocateUnusedWorker()},initWorker:function(){N=!1},setExitStatus:function(e){L=e},terminateAllThreads:function(){for(var e=0,t=Object.values(je.pthreads);e0;)e.shift()(d)}function Qe(){var e=Ii(),t=s()[e+52>>>2],n=s()[e+56>>>2];Pi(t,t-n),Ci(t)}function We(e){if(D)return Hr(2,0,e);try{Ge(e)}catch(e){ke(e)}}d.PThread=je,d.establishStackSpace=Qe;var ze=[];function Ke(e){var t=ze[e];return t||(e>=ze.length&&(ze.length=e+1),ze[e]=t=Z.get(e)),t}function Ye(e,t){var n=Ke(e)(t);re()?je.setExitStatus(n):bi(n)}function Xe(e){je.tlsInitFunctions.push(e)}function qe(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){o()[this.ptr+4>>>2]=e},this.get_type=function(){return o()[this.ptr+4>>>2]},this.set_destructor=function(e){o()[this.ptr+8>>>2]=e},this.get_destructor=function(){return o()[this.ptr+8>>>2]},this.set_refcount=function(e){s()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(s(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(s(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){o()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return o()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Bi(this.get_type()))return o()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function Je(e,t,n){throw new qe(e).init(t,n),e}function Ze(e){mi(e,!E,1,!g),je.threadInitTLS()}function $e(e){D?postMessage({cmd:"cleanupThread",thread:e}):Pe(e)}function et(e){}d.invokeEntryPoint=Ye;var tt="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";function nt(e){de(tt)}function rt(e,t){de(tt)}var it={};function at(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function st(e){return this.fromWireType(s()[e>>>2])}var ot={},lt={},ut={},ct=48,ft=57;function pt(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=ct&&t<=ft?"_"+e:e}function At(e,t){return e=pt(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function dt(e,t){var n=At(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var vt=void 0;function ht(e){throw new vt(e)}function It(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ht("Mismatched type converter count");for(var i=0;i>>0];)t+=bt[r()[n++>>>0]];return t}var Pt=void 0;function Rt(e){throw new Pt(e)}function Ct(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||Rt('type "'+r+'" must have a positive integer typeid pointer'),lt.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;Rt("Cannot register type '"+r+"' twice")}if(lt[e]=t,delete ut[e],ot.hasOwnProperty(e)){var i=ot[e];delete ot[e],i.forEach((function(e){return e()}))}}function _t(e,n,r,a,o){var l=Et(r);Ct(e,{name:n=Dt(n),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?a:o},argPackAdvance:8,readValueFromPointer:function(e){var a;if(1===r)a=t();else if(2===r)a=i();else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);a=s()}return this.fromWireType(a[e>>>l])},destructorFunction:null})}function Bt(e){if(!(this instanceof rn))return!1;if(!(e instanceof rn))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ot(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function St(e){Rt(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Nt=!1;function Lt(e){}function xt(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function Mt(e){e.count.value-=1,0===e.count.value&&xt(e)}function Ft(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ft(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ht={};function Ut(){return Object.keys(zt).length}function Gt(){var e=[];for(var t in zt)zt.hasOwnProperty(t)&&e.push(zt[t]);return e}var kt=[];function jt(){for(;kt.length;){var e=kt.pop();e.$$.deleteScheduled=!1,e.delete()}}var Vt=void 0;function Qt(e){Vt=e,kt.length&&Vt&&Vt(jt)}function Wt(){d.getInheritedInstanceCount=Ut,d.getLiveInheritedInstances=Gt,d.flushPendingDeletes=jt,d.setDelayFunction=Qt}var zt={};function Kt(e,t){for(void 0===t&&Rt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function Yt(e,t){return t=Kt(e,t),zt[t]}function Xt(e,t){return t.ptrType&&t.ptr||ht("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ht("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Jt(Object.create(e,{$$:{value:t}}))}function qt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=Yt(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Xt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Xt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ht[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ft(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Jt(e){return"undefined"==typeof FinalizationRegistry?(Jt=function(e){return e},e):(Nt=new FinalizationRegistry((function(e){Mt(e.$$)})),Lt=function(e){return Nt.unregister(e)},(Jt=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};Nt.register(e,n,e)}return e})(e))}function Zt(){if(this.$$.ptr||St(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Jt(Object.create(Object.getPrototypeOf(this),{$$:{value:Ot(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function $t(){this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),Lt(this),Mt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function en(){return!this.$$.ptr}function tn(){return this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Vt&&Vt(jt),this.$$.deleteScheduled=!0,this}function nn(){rn.prototype.isAliasOf=Bt,rn.prototype.clone=Zt,rn.prototype.delete=$t,rn.prototype.isDeleted=en,rn.prototype.deleteLater=tn}function rn(){}function an(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Rt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function sn(e,t,n){d.hasOwnProperty(e)?((void 0===n||void 0!==d[e].overloadTable&&void 0!==d[e].overloadTable[n])&&Rt("Cannot register public name '"+e+"' twice"),an(d,e,e),d.hasOwnProperty(n)&&Rt("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),d[e].overloadTable[n]=t):(d[e]=t,void 0!==n&&(d[e].numArguments=n))}function on(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ln(e,t,n){for(;t!==n;)t.upcast||Rt("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function un(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function cn(e,t){var n;if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ln(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Rt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Fn.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:Rt("Unsupporting sharing policy")}return n}function fn(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function pn(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function An(e){this.rawDestructor&&this.rawDestructor(e)}function dn(e){null!==e&&e.delete()}function vn(){hn.prototype.getPointee=pn,hn.prototype.destructor=An,hn.prototype.argPackAdvance=8,hn.prototype.readValueFromPointer=st,hn.prototype.deleteObject=dn,hn.prototype.fromWireType=qt}function hn(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=cn:r?(this.toWireType=un,this.destructorFunction=null):(this.toWireType=fn,this.destructorFunction=null)}function In(e,t,n){d.hasOwnProperty(e)||ht("Replacing nonexistant public symbol"),void 0!==d[e].overloadTable&&void 0!==n?d[e].overloadTable[n]=t:(d[e]=t,d[e].argCount=n)}function yn(e,t,n){var r=d["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}function mn(e,t,n){return e.includes("j")?yn(e,t,n):Ke(t).apply(null,n)}function wn(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),mn(e,t,n)}}function gn(e,t){var n=(e=Dt(e)).includes("j")?wn(e,t):Ke(t);return"function"!=typeof n&&Rt("unknown function pointer with signature "+e+": "+t),n}var En=void 0;function Tn(e){var t=yi(e),n=Dt(t);return Di(t),n}function bn(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||lt[t]||(ut[t]?ut[t].forEach(e):(n.push(t),r[t]=!0))})),new En(e+": "+n.map(Tn).join([", "]))}function Dn(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Dt(c),a=gn(i,a),o&&(o=gn(s,o)),u&&(u=gn(l,u)),p=gn(f,p);var A=pt(c);sn(A,(function(){bn("Cannot construct "+c+" due to unbound types",[r])})),It([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:rn.prototype;var s=At(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Pt("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Pt(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Pt("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new on(c,s,l,p,n,a,o,u),d=new hn(c,f,!0,!1,!1),v=new hn(c+"*",f,!1,!1,!1),h=new hn(c+" const*",f,!1,!0,!1);return Ht[e]={pointerType:v,constPointerType:h},In(A,s),[d,v,h]}))}function Pn(e,t){for(var n=[],r=0;r>>2]);return n}function Rn(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=At(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Cn(e,t,n,r,i){var a=t.length;a<2&&Rt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=Pn(t,n);i=gn(r,i),It([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Pt("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){bn("Cannot construct "+e.name+" due to unbound types",s)},It([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Cn(n,r,null,i,a),[]})),[]}))}function Bn(e,t,n,r,i,a,s,o){var l=Pn(n,r);t=Dt(t),a=gn(i,a),It([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){bn("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(an(u,t,r),u[t].overloadTable[n-2]=i),It([],l,(function(i){var o=Cn(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var On=[],Sn=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Nn(e){e>4&&0==--Sn[e].refcount&&(Sn[e]=void 0,On.push(e))}function Ln(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(u()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Wn(e,t,n){var r=Et(n);Ct(e,{name:t=Dt(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Qn(t,r),destructorFunction:null})}function zn(e,t,n,r,i,a){var s=Pn(t,n);e=Dt(e),i=gn(r,i),sn(e,(function(){bn("Cannot call "+e+" due to unbound types",s)}),t-1),It([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return In(e,Cn(e,r,null,i,a),t-1),[]}))}function Kn(e,n,l){switch(n){case 0:return l?function(e){return t()[e>>>0]}:function(e){return r()[e>>>0]};case 1:return l?function(e){return i()[e>>>1]}:function(e){return a()[e>>>1]};case 2:return l?function(e){return s()[e>>>2]}:function(e){return o()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Yn(e,t,n,r,i){t=Dt(t);var a=Et(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Ct(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Kn(t,a,0!==r),destructorFunction:null})}function Xn(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){e>>=2;var t=o(),n=t[e>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Ct(e,{name:n=Dt(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function qn(e,t){var n="std::string"===(t=Dt(t));Ct(e,{name:t,fromWireType:function(e){var t,i=o()[e>>>2],a=e+4;if(n)for(var s=a,l=0;l<=i;++l){var u=a+l;if(l==i||0==r()[u>>>0]){var c=K(s,u-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=u+1}}else{var f=new Array(i);for(l=0;l>>0]);t=f.join("")}return Di(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Rt("Cannot pass non-string to std::string"),i=n&&a?q(t):t.length;var s=hi(4+i+1),l=s+4;if(l>>>=0,o()[s>>>2]=i,n&&a)X(t,l,i+1);else if(a)for(var u=0;u255&&(Di(l),Rt("String has UTF-16 code units that do not fit in 8 bits")),r()[l+u>>>0]=c}else for(u=0;u>>0]=t[u];return null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}var Jn="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Zn(e,t){for(var n=e,s=n>>1,o=s+t/2;!(s>=o)&&a()[s>>>0];)++s;if((n=s<<1)-e>32&&Jn)return Jn.decode(r().slice(e,n));for(var l="",u=0;!(u>=t/2);++u){var c=i()[e+2*u>>>1];if(0==c)break;l+=String.fromCharCode(c)}return l}function $n(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,a=(n-=2)<2*e.length?n/2:e.length,s=0;s>>1]=o,t+=2}return i()[t>>>1]=0,t-r}function er(e){return 2*e.length}function tr(e,t){for(var n=0,r="";!(n>=t/4);){var i=s()[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function nr(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),s()[t>>>2]=o,(t+=4)+4>i)break}return s()[t>>>2]=0,t-r}function rr(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ir(e,t,n){var r,i,s,l,u;n=Dt(n),2===t?(r=Zn,i=$n,l=er,s=function(){return a()},u=1):4===t&&(r=tr,i=nr,l=rr,s=function(){return o()},u=2),Ct(e,{name:n,fromWireType:function(e){for(var n,i=o()[e>>>2],a=s(),l=e+4,c=0;c<=i;++c){var f=e+4+c*t;if(c==i||0==a[f>>>u]){var p=r(l,f-l);void 0===n?n=p:(n+=String.fromCharCode(0),n+=p),l=f+t}}return Di(e),n},toWireType:function(e,r){"string"!=typeof r&&Rt("Cannot pass non-string to C++ string type "+n);var a=l(r),s=hi(4+a+t);return s>>>=0,o()[s>>>2]=a>>u,i(r,s+4,a+t),null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}function ar(e,t,n,r,i,a){it[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),elements:[]}}function sr(e,t,n,r,i,a,s,o,l){it[e].elements.push({getterReturnType:t,getter:gn(n,r),getterContext:i,setterArgumentType:a,setter:gn(s,o),setterContext:l})}function or(e,t,n,r,i,a){mt[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),fields:[]}}function lr(e,t,n,r,i,a,s,o,l,u){mt[e].fields.push({fieldName:Dt(t),getterReturnType:n,getter:gn(r,i),getterContext:a,setterArgumentType:s,setter:gn(o,l),setterContext:u})}function ur(e,t){Ct(e,{isVoid:!0,name:t=Dt(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function cr(e){B(K(e))}function fr(e){Atomics.store(s(),e>>2,1),Ii()&&Ei(e),Atomics.compareExchange(s(),e>>2,1,0)}function pr(e,t,n,r){if(e==t)setTimeout((function(){return fr(r)}));else if(D)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:r});else{var i=je.pthreads[e];if(!i)return;i.postMessage({cmd:"processProxyingQueue",queue:r})}return 1}function Ar(e,t,n){return-1}function dr(e,t,n){e=Fn.toValue(e),t=kn(t,"emval::as");var r=[],i=Fn.toHandle(r);return o()[n>>>2]=i,t.toWireType(r,e)}function vr(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hr(e,t,n,r){e=Fn.toValue(e);for(var i=vr(t,n),a=new Array(t),s=0;s4&&(Sn[e].refcount+=1)}function br(e,t){return(e=Fn.toValue(e))instanceof(t=Fn.toValue(t))}function Dr(e){return"number"==typeof(e=Fn.toValue(e))}function Pr(e){return"string"==typeof(e=Fn.toValue(e))}function Rr(){return Fn.toHandle([])}function Cr(e){return Fn.toHandle(mr(e))}function _r(){return Fn.toHandle({})}function Br(e){at(Fn.toValue(e)),Nn(e)}function Or(e,t,n){e=Fn.toValue(e),t=Fn.toValue(t),n=Fn.toValue(n),e[t]=n}function Sr(e,t){var n=(e=kn(e,"_emval_take_value")).readValueFromPointer(t);return Fn.toHandle(n)}function Nr(){de("")}function Lr(e){Lr.shown||(Lr.shown={}),Lr.shown[e]||(Lr.shown[e]=1,B(e))}function xr(){E||Lr("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function Mr(e,t,n){r().copyWithin(e>>>0,t>>>0,t+n>>>0)}function Fr(e){var t=Ri(),n=e();return Ci(t),n}function Hr(e,t){var n=arguments.length-2,r=arguments;return Fr((function(){for(var i=n,a=_i(8*i),s=a>>3,o=0;o>>0]=l}return gi(e,i,a,t)}))}Ir=function(){return performance.timeOrigin+performance.now()};var Ur=[];function Gr(e,t,n){Ur.length=t;for(var r=n>>3,i=0;i>>0];return di[e].apply(null,Ur)}function kr(e){var t=O.buffer;try{return O.grow(e-t.byteLength+65535>>>16),J(),1}catch(e){}}function jr(e){var t=r().length;if((e>>>=0)<=t)return!1;var n=4294901760;if(e>n)return!1;for(var i,a,s=1;s<=4;s*=2){var o=t*(1+.2/s);if(o=Math.min(o,e+100663296),kr(Math.min(n,(i=Math.max(e,o))+((a=65536)-i%a)%a)))return!0}return!1}function Vr(){throw"unwind"}var Qr={};function Wr(){return m||"./this.program"}function zr(){if(!zr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Wr()};for(var t in Qr)void 0===Qr[t]?delete e[t]:e[t]=Qr[t];var n=[];for(var t in e)n.push(t+"="+e[t]);zr.strings=n}return zr.strings}function Kr(e,n,r){for(var i=0;i>>0]=e.charCodeAt(i);r||(t()[n>>>0]=0)}function Yr(e,t){if(D)return Hr(3,1,e,t);var n=0;return zr().forEach((function(r,i){var a=t+n;o()[e+4*i>>>2]=a,Kr(r,a),n+=r.length+1})),0}function Xr(e,t){if(D)return Hr(4,1,e,t);var n=zr();o()[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),o()[t>>>2]=r,0}function qr(e){if(D)return Hr(5,1,e);try{var t=Fe.getStreamFromFD(e);return Me.close(t),0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function Jr(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=Me.read(e,t(),l,u,i);if(c<0)return-1;if(a+=c,c>>2]=i,0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function $r(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function ei(e,t,n,r,i){if(D)return Hr(7,1,e,t,n,r,i);try{var a=$r(t,n);if(isNaN(a))return 61;var o=Fe.getStreamFromFD(e);return Me.llseek(o,a,r),Ie=[o.position>>>0,(he=o.position,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[i>>>2]=Ie[0],s()[i+4>>>2]=Ie[1],o.getdents&&0===a&&0===r&&(o.getdents=null),0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function ti(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=Me.write(e,t(),l,u,i);if(c<0)return-1;a+=c,void 0!==i&&(i+=c)}return a}function ni(e,t,n,r){if(D)return Hr(8,1,e,t,n,r);try{var i=ti(Fe.getStreamFromFD(e),t,n);return o()[r>>>2]=i,0}catch(e){if(void 0===Me||!(e instanceof Me.ErrnoError))throw e;return e.errno}}function ri(e){return e%4==0&&(e%100!=0||e%400==0)}function ii(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var ai=[31,29,31,30,31,30,31,31,30,31,30,31],si=[31,28,31,30,31,30,31,31,30,31,30,31];function oi(e,t){for(var n=new Date(e.getTime());t>0;){var r=ri(n.getFullYear()),i=n.getMonth(),a=(r?ai:si)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function li(e,n){t().set(e,n>>>0)}function ui(e,t,n,r){var i=s()[r+40>>>2],a={tm_sec:s()[r>>>2],tm_min:s()[r+4>>>2],tm_hour:s()[r+8>>>2],tm_mday:s()[r+12>>>2],tm_mon:s()[r+16>>>2],tm_year:s()[r+20>>>2],tm_wday:s()[r+24>>>2],tm_yday:s()[r+28>>>2],tm_isdst:s()[r+32>>>2],tm_gmtoff:s()[r+36>>>2],tm_zone:i?K(i):""},o=K(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in l)o=o.replace(new RegExp(u,"g"),l[u]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=oi(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=v(n),a=v(r);return d(i,t)<=0?d(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var I={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return f[e.tm_mon].substring(0,3)},"%B":function(e){return f[e.tm_mon]},"%C":function(e){return A((e.tm_year+1900)/100|0,2)},"%d":function(e){return A(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return A(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),A(t,2)},"%j":function(e){return A(e.tm_mday+ii(ri(e.tm_year+1900)?ai:si,e.tm_mon-1),3)},"%m":function(e){return A(e.tm_mon+1,2)},"%M":function(e){return A(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return A(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return A(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ri(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ri(e.tm_year%400-1))&&t++}return A(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return A(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in o=o.replace(/%%/g,"\0\0"),I)o.includes(u)&&(o=o.replace(new RegExp(u,"g"),I[u](a)));var y=Oe(o=o.replace(/\0\0/g,"%"),!1);return y.length>t?0:(li(y,e),y.length-1)}function ci(e,t,n,r,i){return ui(e,t,n,r)}je.init();var fi=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Me.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},pi=365,Ai=146;Object.defineProperties(fi.prototype,{read:{get:function(){return(this.mode&pi)===pi},set:function(e){e?this.mode|=pi:this.mode&=~pi}},write:{get:function(){return(this.mode&Ai)===Ai},set:function(e){e?this.mode|=Ai:this.mode&=~Ai}},isFolder:{get:function(){return Me.isDir(this.mode)}},isDevice:{get:function(){return Me.isChrdev(this.mode)}}}),Me.FSNode=fi,Me.staticInit(),vt=d.InternalError=dt(Error,"InternalError"),Tt(),Pt=d.BindingError=dt(Error,"BindingError"),nn(),Wt(),vn(),En=d.UnboundTypeError=dt(Error,"UnboundTypeError"),Mn();var di=[null,He,We,Yr,Xr,qr,Zr,ei,ni],vi={g:Je,T:Ze,J:$e,X:et,_:nt,Z:rt,da:yt,q:wt,H:gt,ba:_t,p:Dn,o:_n,c:Bn,aa:Hn,D:Gn,t:jn,B:Wn,d:zn,s:Yn,i:Xn,C:qn,x:ir,ea:ar,j:sr,r:or,f:lr,ca:ur,Y:cr,V:pr,S:Ar,n:dr,z:hr,b:Nn,F:gr,l:Er,u:Tr,ga:br,y:Dr,E:Pr,fa:Rr,h:Cr,w:_r,m:Br,k:Or,e:Sr,A:Nr,U:xr,v:Ir,W:Mr,R:Gr,P:jr,$:Vr,L:Yr,M:Xr,I:Ge,N:qr,O:Zr,G:ei,Q:ni,a:O||d.wasmMemory,K:ci};Ee();var hi=function(){return(hi=d.asm.ja).apply(null,arguments)};d.__emscripten_tls_init=function(){return(d.__emscripten_tls_init=d.asm.ka).apply(null,arguments)};var Ii=d._pthread_self=function(){return(Ii=d._pthread_self=d.asm.la).apply(null,arguments)},yi=d.___getTypeName=function(){return(yi=d.___getTypeName=d.asm.ma).apply(null,arguments)};d.__embind_initialize_bindings=function(){return(d.__embind_initialize_bindings=d.asm.na).apply(null,arguments)};var mi=d.__emscripten_thread_init=function(){return(mi=d.__emscripten_thread_init=d.asm.oa).apply(null,arguments)};d.__emscripten_thread_crashed=function(){return(d.__emscripten_thread_crashed=d.asm.pa).apply(null,arguments)};var wi,gi=function(){return(gi=d.asm.qa).apply(null,arguments)},Ei=d.__emscripten_proxy_execute_task_queue=function(){return(Ei=d.__emscripten_proxy_execute_task_queue=d.asm.ra).apply(null,arguments)},Ti=function(){return(Ti=d.asm.sa).apply(null,arguments)},bi=d.__emscripten_thread_exit=function(){return(bi=d.__emscripten_thread_exit=d.asm.ta).apply(null,arguments)},Di=function(){return(Di=d.asm.ua).apply(null,arguments)},Pi=function(){return(Pi=d.asm.va).apply(null,arguments)},Ri=function(){return(Ri=d.asm.wa).apply(null,arguments)},Ci=function(){return(Ci=d.asm.xa).apply(null,arguments)},_i=function(){return(_i=d.asm.ya).apply(null,arguments)},Bi=function(){return(Bi=d.asm.za).apply(null,arguments)};function Oi(){if(!(ce>0)){if(D)return p(d),ae(),void startWorker(d);ie(),ce>0||(d.setStatus?(d.setStatus("Running..."),setTimeout((function(){setTimeout((function(){d.setStatus("")}),1),e()}),1)):e())}function e(){wi||(wi=!0,d.calledRun=!0,x||(ae(),p(d),d.onRuntimeInitialized&&d.onRuntimeInitialized(),se()))}}if(d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.Aa).apply(null,arguments)},d.dynCall_viijii=function(){return(d.dynCall_viijii=d.asm.Ba).apply(null,arguments)},d.dynCall_iiiiij=function(){return(d.dynCall_iiiiij=d.asm.Ca).apply(null,arguments)},d.dynCall_iiiiijj=function(){return(d.dynCall_iiiiijj=d.asm.Da).apply(null,arguments)},d.dynCall_iiiiiijj=function(){return(d.dynCall_iiiiiijj=d.asm.Ea).apply(null,arguments)},d.keepRuntimeAlive=re,d.wasmMemory=O,d.ExitStatus=Te,d.PThread=je,fe=function e(){wi||Oi(),wi||(fe=e)},d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);d.preInit.length>0;)d.preInit.pop()();return Oi(),e.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),v_=p_({"dist/web-ifc.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=void 0!==r?r:{};i.ready=new Promise((function(n,r){e=n,t=r}));var a,s,o=Object.assign({},i),l="./this.program",u=!0,c="";function f(e){return i.locateFile?i.locateFile(e,c):c+e}"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),n&&(c=n),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},s=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)};var p,A,d=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,o),o=null,i.arguments,i.thisProgram&&(l=i.thisProgram),i.quit,i.wasmBinary&&(p=i.wasmBinary),i.noExitRuntime,"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&Y("no native wasm support detected");var h=!1;function I(e,t){e||Y(t)}var y,m,w,g,E,b,D,P,R,C="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&C)return C.decode(e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function B(e,t){return(e>>>=0)?_(m,e,t):""}function O(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function S(e,t,n){return O(e,m,t,n)}function N(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function L(){var e=A.buffer;i.HEAP8=y=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU8=m=new Uint8Array(e),i.HEAPU16=g=new Uint16Array(e),i.HEAPU32=b=new Uint32Array(e),i.HEAPF32=D=new Float32Array(e),i.HEAPF64=P=new Float64Array(e)}var x=[],M=[],F=[];function H(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)k(i.preRun.shift());re(x)}function U(){i.noFSInit||Yn.init.initialized||Yn.init(),Yn.ignorePermissions=!1,re(M)}function G(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)V(i.postRun.shift());re(F)}function k(e){x.unshift(e)}function j(e){M.unshift(e)}function V(e){F.unshift(e)}var Q=0,W=null;function z(e){Q++,i.monitorRunDependencies&&i.monitorRunDependencies(Q)}function K(e){if(Q--,i.monitorRunDependencies&&i.monitorRunDependencies(Q),0==Q&&W){var t=W;W=null,t()}}function Y(e){i.onAbort&&i.onAbort(e),v(e="Aborted("+e+")"),h=!0,e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);throw t(n),n}var X,q,J,Z="data:application/octet-stream;base64,";function $(e){return e.startsWith(Z)}function ee(e){try{if(e==X&&p)return new Uint8Array(p);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function te(){return!p&&u&&"function"==typeof fetch?fetch(X,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+X+"'";return e.arrayBuffer()})).catch((function(){return ee(X)})):Promise.resolve().then((function(){return ee(X)}))}function ne(){var e={a:hr};function n(e,t){var n=e.exports;i.asm=n,A=i.asm.V,L(),R=i.asm.X,j(i.asm.W),K()}function r(e){n(e.instance)}function a(t){return te().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(z(),i.instantiateWasm)try{return i.instantiateWasm(e,n)}catch(e){v("Module.instantiateWasm callback failed with error: "+e),t(e)}return(p||"function"!=typeof WebAssembly.instantiateStreaming||$(X)||"function"!=typeof fetch?a(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(r,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),a(r)}))}))).catch(t),{}}function re(e){for(;e.length>0;)e.shift()(i)}function ie(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){b[this.ptr+4>>>2]=e},this.get_type=function(){return b[this.ptr+4>>>2]},this.set_destructor=function(e){b[this.ptr+8>>>2]=e},this.get_destructor=function(){return b[this.ptr+8>>>2]},this.set_refcount=function(e){E[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,y[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=y[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,y[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=y[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=E[this.ptr>>>2];E[this.ptr>>>2]=e+1},this.release_ref=function(){var e=E[this.ptr>>>2];return E[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){b[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return b[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(gr(this.get_type()))return b[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function ae(e,t,n){throw new ie(e).init(t,n),e}$(X="web-ifc.wasm")||(X=f(X));var se={};function oe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function le(e){return this.fromWireType(E[e>>>2])}var ue={},ce={},fe={},pe=48,Ae=57;function de(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=pe&&t<=Ae?"_"+e:e}function ve(e,t){return e=de(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function he(e,t){var n=ve(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var Ie=void 0;function ye(e){throw new Ie(e)}function me(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ye("Mismatched type converter count");for(var i=0;i>>0];)t+=Pe[m[n++>>>0]];return t}var Ce=void 0;function _e(e){throw new Ce(e)}function Be(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||_e('type "'+r+'" must have a positive integer typeid pointer'),ce.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;_e("Cannot register type '"+r+"' twice")}if(ce[e]=t,delete fe[e],ue.hasOwnProperty(e)){var i=ue[e];delete ue[e],i.forEach((function(e){return e()}))}}function Oe(e,t,n,r,i){var a=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){var r;if(1===n)r=y;else if(2===n)r=w;else{if(4!==n)throw new TypeError("Unknown boolean type size: "+t);r=E}return this.fromWireType(r[e>>>a])},destructorFunction:null})}function Se(e){if(!(this instanceof at))return!1;if(!(e instanceof at))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ne(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function Le(e){_e(e.$$.ptrType.registeredClass.name+" instance already deleted")}var xe=!1;function Me(e){}function Fe(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function He(e){e.count.value-=1,0===e.count.value&&Fe(e)}function Ue(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ue(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ge={};function ke(){return Object.keys(Ye).length}function je(){var e=[];for(var t in Ye)Ye.hasOwnProperty(t)&&e.push(Ye[t]);return e}var Ve=[];function Qe(){for(;Ve.length;){var e=Ve.pop();e.$$.deleteScheduled=!1,e.delete()}}var We=void 0;function ze(e){We=e,Ve.length&&We&&We(Qe)}function Ke(){i.getInheritedInstanceCount=ke,i.getLiveInheritedInstances=je,i.flushPendingDeletes=Qe,i.setDelayFunction=ze}var Ye={};function Xe(e,t){for(void 0===t&&_e("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function qe(e,t){return t=Xe(e,t),Ye[t]}function Je(e,t){return t.ptrType&&t.ptr||ye("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ye("Both smartPtrType and smartPtr must be specified"),t.count={value:1},$e(Object.create(e,{$$:{value:t}}))}function Ze(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=qe(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ge[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ue(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function $e(e){return"undefined"==typeof FinalizationRegistry?($e=function(e){return e},e):(xe=new FinalizationRegistry((function(e){He(e.$$)})),Me=function(e){return xe.unregister(e)},($e=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};xe.register(e,n,e)}return e})(e))}function et(){if(this.$$.ptr||Le(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=$e(Object.create(Object.getPrototypeOf(this),{$$:{value:Ne(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function tt(){this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Me(this),He(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function nt(){return!this.$$.ptr}function rt(){return this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Ve.push(this),1===Ve.length&&We&&We(Qe),this.$$.deleteScheduled=!0,this}function it(){at.prototype.isAliasOf=Se,at.prototype.clone=et,at.prototype.delete=tt,at.prototype.isDeleted=nt,at.prototype.deleteLater=rt}function at(){}function st(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||_e("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function ot(e,t,n){i.hasOwnProperty(e)?((void 0===n||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[n])&&_e("Cannot register public name '"+e+"' twice"),st(i,e,e),i.hasOwnProperty(n)&&_e("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),i[e].overloadTable[n]=t):(i[e]=t,void 0!==n&&(i[e].numArguments=n))}function lt(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ut(e,t,n){for(;t!==n;)t.upcast||_e("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function ct(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function ft(e,t){var n;if(null===t)return this.isReference&&_e("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ut(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&_e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Gt.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:_e("Unsupporting sharing policy")}return n}function pt(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function At(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function dt(e){this.rawDestructor&&this.rawDestructor(e)}function vt(e){null!==e&&e.delete()}function ht(){It.prototype.getPointee=At,It.prototype.destructor=dt,It.prototype.argPackAdvance=8,It.prototype.readValueFromPointer=le,It.prototype.deleteObject=vt,It.prototype.fromWireType=Ze}function It(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=ft:r?(this.toWireType=ct,this.destructorFunction=null):(this.toWireType=pt,this.destructorFunction=null)}function yt(e,t,n){i.hasOwnProperty(e)||ye("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==n?i[e].overloadTable[n]=t:(i[e]=t,i[e].argCount=n)}function mt(e,t,n){var r=i["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}var wt=[];function gt(e){var t=wt[e];return t||(e>=wt.length&&(wt.length=e+1),wt[e]=t=R.get(e)),t}function Et(e,t,n){return e.includes("j")?mt(e,t,n):gt(t).apply(null,n)}function Tt(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),Et(e,t,n)}}function bt(e,t){var n=(e=Re(e)).includes("j")?Tt(e,t):gt(t);return"function"!=typeof n&&_e("unknown function pointer with signature "+e+": "+t),n}var Dt=void 0;function Pt(e){var t=yr(e),n=Re(t);return wr(t),n}function Rt(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||ce[t]||(fe[t]?fe[t].forEach(e):(n.push(t),r[t]=!0))})),new Dt(e+": "+n.map(Pt).join([", "]))}function Ct(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Re(c),a=bt(i,a),o&&(o=bt(s,o)),u&&(u=bt(l,u)),p=bt(f,p);var A=de(c);ot(A,(function(){Rt("Cannot construct "+c+" due to unbound types",[r])})),me([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:at.prototype;var s=ve(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Ce("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Ce(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Ce("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new lt(c,s,l,p,n,a,o,u),d=new It(c,f,!0,!1,!1),v=new It(c+"*",f,!1,!1,!1),h=new It(c+" const*",f,!1,!0,!1);return Ge[e]={pointerType:v,constPointerType:h},yt(A,s),[d,v,h]}))}function _t(e,t){for(var n=[],r=0;r>>2]);return n}function Bt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=ve(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Ot(e,t,n,r,i){var a=t.length;a<2&&_e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=_t(t,n);i=bt(r,i),me([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ce("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){Rt("Cannot construct "+e.name+" due to unbound types",s)},me([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ot(n,r,null,i,a),[]})),[]}))}function Nt(e,t,n,r,i,a,s,o){var l=_t(n,r);t=Re(t),a=bt(i,a),me([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){Rt("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(st(u,t,r),u[t].overloadTable[n-2]=i),me([],l,(function(i){var o=Ot(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var Lt=[],xt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Mt(e){e>4&&0==--xt[e].refcount&&(xt[e]=void 0,Lt.push(e))}function Ft(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(P[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Yt(e,t,n){var r=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Kt(t,r),destructorFunction:null})}function Xt(e,t,n,r,i,a){var s=_t(t,n);e=Re(e),i=bt(r,i),ot(e,(function(){Rt("Cannot call "+e+" due to unbound types",s)}),t-1),me([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return yt(e,Ot(e,r,null,i,a),t-1),[]}))}function qt(e,t,n){switch(t){case 0:return n?function(e){return y[e>>>0]}:function(e){return m[e>>>0]};case 1:return n?function(e){return w[e>>>1]}:function(e){return g[e>>>1]};case 2:return n?function(e){return E[e>>>2]}:function(e){return b[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jt(e,t,n,r,i){t=Re(t);var a=be(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Be(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:qt(t,a,0!==r),destructorFunction:null})}function Zt(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=b,n=t[(e>>=2)>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Be(e,{name:n=Re(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function $t(e,t){var n="std::string"===(t=Re(t));Be(e,{name:t,fromWireType:function(e){var t,r=b[e>>>2],i=e+4;if(n)for(var a=i,s=0;s<=r;++s){var o=i+s;if(s==r||0==m[o>>>0]){var l=B(a,o-a);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),a=o+1}}else{var u=new Array(r);for(s=0;s>>0]);t=u.join("")}return wr(e),t},toWireType:function(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i="string"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||_e("Cannot pass non-string to std::string"),r=n&&i?N(t):t.length;var a=Ir(4+r+1),s=a+4;if(s>>>=0,b[a>>>2]=r,n&&i)S(t,s,r+1);else if(i)for(var o=0;o255&&(wr(s),_e("String has UTF-16 code units that do not fit in 8 bits")),m[s+o>>>0]=l}else for(o=0;o>>0]=t[o];return null!==e&&e.push(wr,a),a},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}var en="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function tn(e,t){for(var n=e,r=n>>1,i=r+t/2;!(r>=i)&&g[r>>>0];)++r;if((n=r<<1)-e>32&&en)return en.decode(m.subarray(e>>>0,n>>>0));for(var a="",s=0;!(s>=t/2);++s){var o=w[e+2*s>>>1];if(0==o)break;a+=String.fromCharCode(o)}return a}function nn(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,i=(n-=2)<2*e.length?n/2:e.length,a=0;a>>1]=s,t+=2}return w[t>>>1]=0,t-r}function rn(e){return 2*e.length}function an(e,t){for(var n=0,r="";!(n>=t/4);){var i=E[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function sn(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),E[t>>>2]=s,(t+=4)+4>i)break}return E[t>>>2]=0,t-r}function on(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ln(e,t,n){var r,i,a,s,o;n=Re(n),2===t?(r=tn,i=nn,s=rn,a=function(){return g},o=1):4===t&&(r=an,i=sn,s=on,a=function(){return b},o=2),Be(e,{name:n,fromWireType:function(e){for(var n,i=b[e>>>2],s=a(),l=e+4,u=0;u<=i;++u){var c=e+4+u*t;if(u==i||0==s[c>>>o]){var f=r(l,c-l);void 0===n?n=f:(n+=String.fromCharCode(0),n+=f),l=c+t}}return wr(e),n},toWireType:function(e,r){"string"!=typeof r&&_e("Cannot pass non-string to C++ string type "+n);var a=s(r),l=Ir(4+a+t);return b[(l>>>=0)>>>2]=a>>o,i(r,l+4,a+t),null!==e&&e.push(wr,l),l},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}function un(e,t,n,r,i,a){se[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),elements:[]}}function cn(e,t,n,r,i,a,s,o,l){se[e].elements.push({getterReturnType:t,getter:bt(n,r),getterContext:i,setterArgumentType:a,setter:bt(s,o),setterContext:l})}function fn(e,t,n,r,i,a){ge[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),fields:[]}}function pn(e,t,n,r,i,a,s,o,l,u){ge[e].fields.push({fieldName:Re(t),getterReturnType:n,getter:bt(r,i),getterContext:a,setterArgumentType:s,setter:bt(o,l),setterContext:u})}function An(e,t){Be(e,{isVoid:!0,name:t=Re(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function dn(e,t,n){e=Gt.toValue(e),t=Qt(t,"emval::as");var r=[],i=Gt.toHandle(r);return b[n>>>2]=i,t.toWireType(r,e)}function vn(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hn(e,t,n,r){e=Gt.toValue(e);for(var i=vn(t,n),a=new Array(t),s=0;s4&&(xt[e].refcount+=1)}function Tn(e,t){return(e=Gt.toValue(e))instanceof(t=Gt.toValue(t))}function bn(e){return"number"==typeof(e=Gt.toValue(e))}function Dn(e){return"string"==typeof(e=Gt.toValue(e))}function Pn(){return Gt.toHandle([])}function Rn(e){return Gt.toHandle(yn(e))}function Cn(){return Gt.toHandle({})}function _n(e){oe(Gt.toValue(e)),Mt(e)}function Bn(e,t,n){e=Gt.toValue(e),t=Gt.toValue(t),n=Gt.toValue(n),e[t]=n}function On(e,t){var n=(e=Qt(e,"_emval_take_value")).readValueFromPointer(t);return Gt.toHandle(n)}function Sn(){Y("")}function Nn(e,t,n){m.copyWithin(e>>>0,t>>>0,t+n>>>0)}function Ln(e){var t=A.buffer;try{return A.grow(e-t.byteLength+65535>>>16),L(),1}catch(e){}}function xn(e){var t=m.length,n=4294901760;if((e>>>=0)>n)return!1;for(var r,i,a=1;a<=4;a*=2){var s=t*(1+.2/a);if(s=Math.min(s,e+100663296),Ln(Math.min(n,(r=Math.max(e,s))+((i=65536)-r%i)%i)))return!0}return!1}var Mn={};function Fn(){return l||"./this.program"}function Hn(){if(!Hn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Fn()};for(var t in Mn)void 0===Mn[t]?delete e[t]:e[t]=Mn[t];var n=[];for(var t in e)n.push(t+"="+e[t]);Hn.strings=n}return Hn.strings}function Un(e,t,n){for(var r=0;r>>0]=e.charCodeAt(r);n||(y[t>>>0]=0)}var Gn={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Gn.isAbs(e),n="/"===e.substr(-1);return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Gn.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Gn.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Gn.normalize(e.join("/"))},join2:function(e,t){return Gn.normalize(e+"/"+t)}};function kn(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return Y("randomDevice")}}var jn={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Yn.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Gn.isAbs(r)}return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=jn.resolve(e).substr(1),t=jn.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:N(e)+1,i=new Array(r),a=O(e,i,0,i.length);return t&&(i.length=a),i}var Qn={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Qn.ttys[e]={input:[],output:[],ops:t},Yn.registerDevice(e,Qn.stream_ops)},stream_ops:{open:function(e){var t=Qn.ttys[e.node.rdev];if(!t)throw new Yn.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new Yn.ErrnoError(60);for(var a=0,s=0;s0&&(d(_(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(v(_(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(v(_(e.output,0)),e.output=[])}}};function Wn(e){Y()}var zn={ops_table:null,mount:function(e){return zn.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Yn.isBlkdev(n)||Yn.isFIFO(n))throw new Yn.ErrnoError(63);zn.ops_table||(zn.ops_table={dir:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,lookup:zn.node_ops.lookup,mknod:zn.node_ops.mknod,rename:zn.node_ops.rename,unlink:zn.node_ops.unlink,rmdir:zn.node_ops.rmdir,readdir:zn.node_ops.readdir,symlink:zn.node_ops.symlink},stream:{llseek:zn.stream_ops.llseek}},file:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:{llseek:zn.stream_ops.llseek,read:zn.stream_ops.read,write:zn.stream_ops.write,allocate:zn.stream_ops.allocate,mmap:zn.stream_ops.mmap,msync:zn.stream_ops.msync}},link:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,readlink:zn.node_ops.readlink},stream:{}},chrdev:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:Yn.chrdev_stream_ops}});var i=Yn.createNode(e,t,n,r);return Yn.isDir(i.mode)?(i.node_ops=zn.ops_table.dir.node,i.stream_ops=zn.ops_table.dir.stream,i.contents={}):Yn.isFile(i.mode)?(i.node_ops=zn.ops_table.file.node,i.stream_ops=zn.ops_table.file.stream,i.usedBytes=0,i.contents=null):Yn.isLink(i.mode)?(i.node_ops=zn.ops_table.link.node,i.stream_ops=zn.ops_table.link.stream):Yn.isChrdev(i.mode)&&(i.node_ops=zn.ops_table.chrdev.node,i.stream_ops=zn.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Yn.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Yn.isDir(e.mode)?t.size=4096:Yn.isFile(e.mode)?t.size=e.usedBytes:Yn.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&zn.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Yn.genericErrors[44]},mknod:function(e,t,n,r){return zn.createNode(e,t,n,r)},rename:function(e,t,n){if(Yn.isDir(e.mode)){var r;try{r=Yn.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new Yn.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Yn.lookupNode(e,t);for(var r in n.contents)throw new Yn.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=zn.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!Yn.isLink(e.mode))throw new Yn.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||n+t>>=0,y.set(o,a>>>0)}else s=!1,a=o.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,n,r,i){return zn.stream_ops.write(e,t,0,r,n,!1),0}}};function Kn(e,t,n,r){var i=r?"":"al "+e;s(e,(function(n){I(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&K()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&z()}var Yn={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=jn.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new Yn.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=Yn.root,a="/",s=0;s40)throw new Yn.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Yn.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Yn.nameTable.length},hashAddNode:function(e){var t=Yn.hashName(e.parent.id,e.name);e.name_next=Yn.nameTable[t],Yn.nameTable[t]=e},hashRemoveNode:function(e){var t=Yn.hashName(e.parent.id,e.name);if(Yn.nameTable[t]===e)Yn.nameTable[t]=e.name_next;else for(var n=Yn.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Yn.mayLookup(e);if(n)throw new Yn.ErrnoError(n,e);for(var r=Yn.hashName(e.id,t),i=Yn.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Yn.lookup(e,t)},createNode:function(e,t,n,r){var i=new Yn.FSNode(e,t,n,r);return Yn.hashAddNode(i),i},destroyNode:function(e){Yn.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Yn.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Yn.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Yn.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Yn.lookupNode(e,t),20}catch(e){}return Yn.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Yn.lookupNode(e,t)}catch(e){return e.errno}var i=Yn.nodePermissions(e,"wx");if(i)return i;if(n){if(!Yn.isDir(r.mode))return 54;if(Yn.isRoot(r)||Yn.getPath(r)===Yn.cwd())return 10}else if(Yn.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Yn.isLink(e.mode)?32:Yn.isDir(e.mode)&&("r"!==Yn.flagsToPermissionString(t)||512&t)?31:Yn.nodePermissions(e,Yn.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yn.MAX_OPEN_FDS,n=e;n<=t;n++)if(!Yn.streams[n])return n;throw new Yn.ErrnoError(33)},getStream:function(e){return Yn.streams[e]},createStream:function(e,t,n){Yn.FSStream||(Yn.FSStream=function(){this.shared={}},Yn.FSStream.prototype={},Object.defineProperties(Yn.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Yn.FSStream,e);var r=Yn.nextfd(t,n);return e.fd=r,Yn.streams[r]=e,e},closeStream:function(e){Yn.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Yn.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Yn.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Yn.devices[e]={stream_ops:t}},getDevice:function(e){return Yn.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Yn.syncFSRequests++,Yn.syncFSRequests>1&&v("warning: "+Yn.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Yn.getMounts(Yn.root.mount),r=0;function i(e){return Yn.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&Yn.root)throw new Yn.ErrnoError(10);if(!i&&!a){var s=Yn.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,Yn.isMountpoint(r))throw new Yn.ErrnoError(10);if(!Yn.isDir(r.mode))throw new Yn.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?Yn.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=Yn.lookupPath(e,{follow_mount:!1});if(!Yn.isMountpoint(t.node))throw new Yn.ErrnoError(28);var n=t.node,r=n.mounted,i=Yn.getMounts(r);Object.keys(Yn.nameTable).forEach((function(e){for(var t=Yn.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Yn.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Yn.lookupPath(e,{parent:!0}).node,i=Gn.basename(e);if(!i||"."===i||".."===i)throw new Yn.ErrnoError(28);var a=Yn.mayCreate(r,i);if(a)throw new Yn.ErrnoError(a);if(!r.node_ops.mknod)throw new Yn.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Yn.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Yn.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(1==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.read)throw new Yn.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.write)throw new Yn.ErrnoError(28);e.seekable&&1024&e.flags&&Yn.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(t<0||n<=0)throw new Yn.ErrnoError(28);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(!Yn.isFile(e.node.mode)&&!Yn.isDir(e.node.mode))throw new Yn.ErrnoError(43);if(!e.stream_ops.allocate)throw new Yn.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new Yn.ErrnoError(2);if(1==(2097155&e.flags))throw new Yn.ErrnoError(2);if(!e.stream_ops.mmap)throw new Yn.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new Yn.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=Yn.open(e,n.flags),i=Yn.stat(e),a=i.size,s=new Uint8Array(a);return Yn.read(r,s,0,a,0),"utf8"===n.encoding?t=_(s,0):"binary"===n.encoding&&(t=s),Yn.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=Yn.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(N(t)+1),a=O(t,i,0,i.length);Yn.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Yn.write(r,t,0,t.byteLength,void 0,n.canOwn)}Yn.close(r)},cwd:function(){return Yn.currentPath},chdir:function(e){var t=Yn.lookupPath(e,{follow:!0});if(null===t.node)throw new Yn.ErrnoError(44);if(!Yn.isDir(t.node.mode))throw new Yn.ErrnoError(54);var n=Yn.nodePermissions(t.node,"x");if(n)throw new Yn.ErrnoError(n);Yn.currentPath=t.path},createDefaultDirectories:function(){Yn.mkdir("/tmp"),Yn.mkdir("/home"),Yn.mkdir("/home/web_user")},createDefaultDevices:function(){Yn.mkdir("/dev"),Yn.registerDevice(Yn.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),Yn.mkdev("/dev/null",Yn.makedev(1,3)),Qn.register(Yn.makedev(5,0),Qn.default_tty_ops),Qn.register(Yn.makedev(6,0),Qn.default_tty1_ops),Yn.mkdev("/dev/tty",Yn.makedev(5,0)),Yn.mkdev("/dev/tty1",Yn.makedev(6,0));var e=kn();Yn.createDevice("/dev","random",e),Yn.createDevice("/dev","urandom",e),Yn.mkdir("/dev/shm"),Yn.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Yn.mkdir("/proc");var e=Yn.mkdir("/proc/self");Yn.mkdir("/proc/self/fd"),Yn.mount({mount:function(){var t=Yn.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=Yn.getStream(n);if(!r)throw new Yn.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){i.stdin?Yn.createDevice("/dev","stdin",i.stdin):Yn.symlink("/dev/tty","/dev/stdin"),i.stdout?Yn.createDevice("/dev","stdout",null,i.stdout):Yn.symlink("/dev/tty","/dev/stdout"),i.stderr?Yn.createDevice("/dev","stderr",null,i.stderr):Yn.symlink("/dev/tty1","/dev/stderr"),Yn.open("/dev/stdin",0),Yn.open("/dev/stdout",1),Yn.open("/dev/stderr",1)},ensureErrnoError:function(){Yn.ErrnoError||(Yn.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Yn.ErrnoError.prototype=new Error,Yn.ErrnoError.prototype.constructor=Yn.ErrnoError,[44].forEach((function(e){Yn.genericErrors[e]=new Yn.ErrnoError(e),Yn.genericErrors[e].stack=""})))},staticInit:function(){Yn.ensureErrnoError(),Yn.nameTable=new Array(4096),Yn.mount(zn,{},"/"),Yn.createDefaultDirectories(),Yn.createDefaultDevices(),Yn.createSpecialDirectories(),Yn.filesystems={MEMFS:zn}},init:function(e,t,n){Yn.init.initialized=!0,Yn.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=n||i.stderr,Yn.createStandardStreams()},quit:function(){Yn.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,r=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=r);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,r-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>r-1)throw new Error("only "+r+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),r!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Vn(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&r||(s=r=1,r=this.getter(0).length,s=r,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,url:n},o=Yn.createFile(e,t,s,r,i);s.contents?o.contents=s.contents:s.url&&(o.contents=null,o.url=s.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){d("creating db"),i.result.createObjectStore(Yn.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([Yn.DB_STORE_NAME],"readwrite"),a=r.objectStore(Yn.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(Yn.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([Yn.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(Yn.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){Yn.analyzePath(e).exists&&Yn.unlink(e),Yn.createDataFile(Gn.dirname(e),Gn.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Xn={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Gn.isAbs(t))return t;var r;if(r=-100===e?Yn.cwd():Xn.getStreamFromFD(e).path,0==t.length){if(!n)throw new Yn.ErrnoError(44);return r}return Gn.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Gn.normalize(t)!==Gn.normalize(Yn.getPath(e.node)))return-54;throw e}E[n>>>2]=r.dev,E[n+8>>>2]=r.ino,E[n+12>>>2]=r.mode,b[n+16>>>2]=r.nlink,E[n+20>>>2]=r.uid,E[n+24>>>2]=r.gid,E[n+28>>>2]=r.rdev,J=[r.size>>>0,(q=r.size,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+40>>>2]=J[0],E[n+44>>>2]=J[1],E[n+48>>>2]=4096,E[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),s=r.ctime.getTime();return J=[Math.floor(i/1e3)>>>0,(q=Math.floor(i/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+56>>>2]=J[0],E[n+60>>>2]=J[1],b[n+64>>>2]=i%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(q=Math.floor(a/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+72>>>2]=J[0],E[n+76>>>2]=J[1],b[n+80>>>2]=a%1e3*1e3,J=[Math.floor(s/1e3)>>>0,(q=Math.floor(s/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+88>>>2]=J[0],E[n+92>>>2]=J[1],b[n+96>>>2]=s%1e3*1e3,J=[r.ino>>>0,(q=r.ino,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+104>>>2]=J[0],E[n+108>>>2]=J[1],0},doMsync:function(e,t,n,r,i){if(!Yn.isFile(t.node.mode))throw new Yn.ErrnoError(43);if(2&r)return 0;e>>>=0;var a=m.slice(e,e+n);Yn.msync(t,a,i,n,r)},varargs:void 0,get:function(){return Xn.varargs+=4,E[Xn.varargs-4>>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Yn.getStream(e);if(!t)throw new Yn.ErrnoError(8);return t}};function qn(e,t){var n=0;return Hn().forEach((function(r,i){var a=t+n;b[e+4*i>>>2]=a,Un(r,a),n+=r.length+1})),0}function Jn(e,t){var n=Hn();b[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),b[t>>>2]=r,0}function Zn(e){try{var t=Xn.getStreamFromFD(e);return Yn.close(t),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function $n(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.read(e,y,s,o,r);if(l<0)return-1;if(i+=l,l>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function tr(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function nr(e,t,n,r,i){try{var a=tr(t,n);if(isNaN(a))return 61;var s=Xn.getStreamFromFD(e);return Yn.llseek(s,a,r),J=[s.position>>>0,(q=s.position,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[i>>>2]=J[0],E[i+4>>>2]=J[1],s.getdents&&0===a&&0===r&&(s.getdents=null),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function rr(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.write(e,y,s,o,r);if(l<0)return-1;i+=l,void 0!==r&&(r+=l)}return i}function ir(e,t,n,r){try{var i=rr(Xn.getStreamFromFD(e),t,n);return b[r>>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function ar(e){return e%4==0&&(e%100!=0||e%400==0)}function sr(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var or=[31,29,31,30,31,30,31,31,30,31,30,31],lr=[31,28,31,30,31,30,31,31,30,31,30,31];function ur(e,t){for(var n=new Date(e.getTime());t>0;){var r=ar(n.getFullYear()),i=n.getMonth(),a=(r?or:lr)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function cr(e,t){y.set(e,t>>>0)}function fr(e,t,n,r){var i=E[r+40>>>2],a={tm_sec:E[r>>>2],tm_min:E[r+4>>>2],tm_hour:E[r+8>>>2],tm_mday:E[r+12>>>2],tm_mon:E[r+16>>>2],tm_year:E[r+20>>>2],tm_wday:E[r+24>>>2],tm_yday:E[r+28>>>2],tm_isdst:E[r+32>>>2],tm_gmtoff:E[r+36>>>2],tm_zone:i?B(i):""},s=B(n),o={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in o)s=s.replace(new RegExp(l,"g"),o[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function d(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function v(e){var t=ur(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=d(n),a=d(r);return A(i,t)<=0?A(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return p((e.tm_year+1900)/100|0,2)},"%d":function(e){return p(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return v(e).toString().substring(2)},"%G":function(e){return v(e)},"%H":function(e){return p(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(e){return p(e.tm_mday+sr(ar(e.tm_year+1900)?or:lr,e.tm_mon-1),3)},"%m":function(e){return p(e.tm_mon+1,2)},"%M":function(e){return p(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return p(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ar(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ar(e.tm_year%400-1))&&t++}return p(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in s=s.replace(/%%/g,"\0\0"),h)s.includes(l)&&(s=s.replace(new RegExp(l,"g"),h[l](a)));var I=Vn(s=s.replace(/\0\0/g,"%"),!1);return I.length>t?0:(cr(I,e),I.length-1)}function pr(e,t,n,r,i){return fr(e,t,n,r)}Ie=i.InternalError=he(Error,"InternalError"),De(),Ce=i.BindingError=he(Error,"BindingError"),it(),Ke(),ht(),Dt=i.UnboundTypeError=he(Error,"UnboundTypeError"),Ut();var Ar=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Yn.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},dr=365,vr=146;Object.defineProperties(Ar.prototype,{read:{get:function(){return(this.mode&dr)===dr},set:function(e){e?this.mode|=dr:this.mode&=~dr}},write:{get:function(){return(this.mode&vr)===vr},set:function(e){e?this.mode|=vr:this.mode&=~vr}},isFolder:{get:function(){return Yn.isDir(this.mode)}},isDevice:{get:function(){return Yn.isChrdev(this.mode)}}}),Yn.FSNode=Ar,Yn.staticInit();var hr={f:ae,R:we,p:Ee,F:Te,P:Oe,o:Ct,n:St,b:Nt,O:kt,B:Vt,s:Wt,z:Yt,c:Xt,r:Jt,h:Zt,A:$t,v:ln,S:un,i:cn,q:fn,e:pn,Q:An,m:dn,x:hn,a:Mt,D:wn,k:gn,t:En,U:Tn,w:bn,C:Dn,T:Pn,g:Rn,u:Cn,l:_n,j:Bn,d:On,y:Sn,N:Nn,L:xn,H:qn,I:Jn,J:Zn,K:er,E:nr,M:ir,G:pr};ne();var Ir=function(){return(Ir=i.asm.Y).apply(null,arguments)},yr=i.___getTypeName=function(){return(yr=i.___getTypeName=i.asm.Z).apply(null,arguments)};i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=i.asm._).apply(null,arguments)};var mr,wr=function(){return(wr=i.asm.$).apply(null,arguments)},gr=function(){return(gr=i.asm.aa).apply(null,arguments)};function Er(){function t(){mr||(mr=!0,i.calledRun=!0,h||(U(),e(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),G()))}Q>0||(H(),Q>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),t()}),1)):t()))}if(i.dynCall_jiji=function(){return(i.dynCall_jiji=i.asm.ba).apply(null,arguments)},i.dynCall_viijii=function(){return(i.dynCall_viijii=i.asm.ca).apply(null,arguments)},i.dynCall_iiiiij=function(){return(i.dynCall_iiiiij=i.asm.da).apply(null,arguments)},i.dynCall_iiiiijj=function(){return(i.dynCall_iiiiijj=i.asm.ea).apply(null,arguments)},i.dynCall_iiiiiijj=function(){return(i.dynCall_iiiiiijj=i.asm.fa).apply(null,arguments)},W=function e(){mr||Er(),mr||(W=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Er(),r.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),h_=3087945054,I_=3415622556,y_=639361253,m_=4207607924,w_=812556717,g_=753842376,E_=2391406946,T_=3824725483,b_=1529196076,D_=2016517767,P_=3024970846,R_=3171933400,C_=1687234759,__=395920057,B_=3460190687,O_=1033361043,S_=3856911033,N_=4097777520,L_=3740093272,x_=3009204131,M_=3473067441,F_=1281925730,H_=P((function e(t){b(this,e),this.value=t,this.type=5})),U_=P((function e(t){b(this,e),this.expressID=t,this.type=0})),G_=[],k_={},j_={},V_={},Q_={},W_={},z_=[];function K_(e,t){return Array.isArray(t)&&t.map((function(t){return K_(e,t)})),t.typecode?W_[e][t.typecode](t.value):t.value}function Y_(e){return e.value=e.value.toString(),e.valueType=e.type,e.type=2,e.label=e.constructor.name.toUpperCase(),e}(ZC=JC||(JC={})).IFC2X3="IFC2X3",ZC.IFC4="IFC4",ZC.IFC4X3="IFC4X3",z_[1]="IFC2X3",G_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null)},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},639542469:function(e,t){return new $C.IfcApplication(e,new H_(t[0].value),new $C.IfcLabel(t[1].value),new $C.IfcLabel(t[2].value),new $C.IfcIdentifier(t[3].value))},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null)},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},130549933:function(e,t){return new $C.IfcApproval(e,t[0]?new $C.IfcText(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null,new $C.IfcLabel(t[5].value),new $C.IfcIdentifier(t[6].value))},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[3].value):null,t[4]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[4].value):null,t[5]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[5].value):null,t[6]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[6].value):null)},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfSubgradeReactionMeasure(t[3].value):null)},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null)},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},622194075:function(e,t){return new $C.IfcCalendarDate(e,new $C.IfcDayInMonthNumber(t[0].value),new $C.IfcMonthInYearNumber(t[1].value),new $C.IfcYearNumber(t[2].value))},747523909:function(e,t){return new $C.IfcClassification(e,new $C.IfcLabel(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new H_(t[2].value):null,new $C.IfcLabel(t[3].value))},1767535486:function(e,t){return new $C.IfcClassificationItem(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new $C.IfcLabel(t[2].value))},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0].map((function(e){return new H_(e.value)})))},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,new $C.IfcLabel(t[0].value))},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0]?new $C.IfcLabel(t[0].value):null)},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new $C.IfcConstraint(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null)},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7]?new $C.IfcText(t[7].value):null)},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,new H_(t[0].value),new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value),new H_(t[3].value),t[4]?new H_(t[4].value):null)},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},1072939445:function(e,t){return new $C.IfcDateAndTime(e,new H_(t[0].value),new H_(t[1].value))},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new $C.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,new $C.IfcIdentifier(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?new $C.IfcText(t[4].value):null,t[5]?new $C.IfcText(t[5].value):null,t[6]?new $C.IfcText(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7],t[8]?new $C.IfcLabel(t[8].value):null)},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcBoolean(t[2].value))},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,new H_(t[0].value),t[1].map((function(e){return K_(1,e)})))},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,new $C.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new $C.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},30780891:function(e,t){return new $C.IfcLocalTime(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2]?new $C.IfcSecondInMinute(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new $C.IfcDaylightSavingHour(t[4].value):null)},1838606355:function(e,t){return new $C.IfcMaterial(e,new $C.IfcLabel(t[0].value))},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcLogical(t[2].value):null)},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null)},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new $C.IfcLengthMeasure(t[3].value))},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,new H_(t[0].value))},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,K_(1,t[0]),new H_(t[1].value))},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null)},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPressureMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcModulusOfElasticityMeasure(t[9].value):null,t[10]?new $C.IfcPressureMeasure(t[10].value):null,t[11]?new $C.IfcPositiveRatioMeasure(t[11].value):null,t[12]?t[12].map((function(e){return new H_(e.value)})):null)},3368373690:function(e,t){return new $C.IfcMetric(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null,new H_(t[9].value))},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9],t[10]?new $C.IfcLabel(t[10].value):null)},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcPositiveRatioMeasure(t[5].value):null,t[6]?new $C.IfcPositiveRatioMeasure(t[6].value):null,t[7]?new $C.IfcPositiveRatioMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcPositiveRatioMeasure(t[9].value):null)},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0]?new $C.IfcIdentifier(t[0].value):null,new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new $C.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new $C.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new $C.IfcPerson(e,t[0]?new $C.IfcIdentifier(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new $C.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,new $C.IfcLabel(t[0].value))},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,new $C.IfcLabel(t[0].value))},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,new $C.IfcLabel(t[0].value))},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null,t[4].value,t[5].value,t[6].value,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0]?new $C.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null)},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null)},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null)},2598011224:function(e,t){return new $C.IfcProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new $C.IfcQuantityArea(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcAreaMeasure(t[3].value))},2093928680:function(e,t){return new $C.IfcQuantityCount(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcCountMeasure(t[3].value))},931644368:function(e,t){return new $C.IfcQuantityLength(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcLengthMeasure(t[3].value))},3252649465:function(e,t){return new $C.IfcQuantityTime(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcTimeMeasure(t[3].value))},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcVolumeMeasure(t[3].value))},825690147:function(e,t){return new $C.IfcQuantityWeight(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcMassMeasure(t[3].value))},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,new $C.IfcAreaMeasure(t[0].value),new $C.IfcLabel(t[1].value),t[2],t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcCountMeasure(t[5].value):null)},1222501353:function(e,t){return new $C.IfcRelaxation(e,new $C.IfcNormalisedRatioMeasure(t[0].value),new $C.IfcNormalisedRatioMeasure(t[1].value))},1076942058:function(e,t){return new $C.IfcRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null,t[3].value,new H_(t[4].value))},3982875396:function(e,t){return new $C.IfcShapeModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0]?new $C.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0]?new $C.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new $C.IfcStyleModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0]?new $C.IfcReal(t[0].value):null,t[1]?new $C.IfcReal(t[1].value):null)},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,new H_(t[0].value))},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null)},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,K_(1,t[1]))},985171141:function(e,t){return new $C.IfcTable(e,t[0].value,t[1].map((function(e){return new H_(e.value)})))},531007025:function(e,t){return new $C.IfcTableRow(e,t[0].map((function(e){return K_(1,e)})),t[1].value)},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new $C.IfcLabel(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value))},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,new $C.IfcLabel(t[0].value),t[1]?t[1].map((function(e){return new $C.IfcTextFontName(e.value)})):null,t[2]?new $C.IfcFontStyle(t[2].value):null,t[3]?new $C.IfcFontVariant(t[3].value):null,t[4]?new $C.IfcFontWeight(t[4].value):null,K_(1,t[5]))},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0]?K_(1,t[0]):null,t[1]?new $C.IfcTextAlignment(t[1].value):null,t[2]?new $C.IfcTextDecoration(t[2].value):null,t[3]?K_(1,t[3]):null,t[4]?K_(1,t[4]):null,t[5]?new $C.IfcTextTransformation(t[5].value):null,t[6]?K_(1,t[6]):null)},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0]?new $C.IfcPositiveLengthMeasure(t[0].value):null,t[1]?new $C.IfcPositiveLengthMeasure(t[1].value):null,t[2]?new $C.IfcPlaneAngleMeasure(t[2].value):null,t[3]?new $C.IfcPlaneAngleMeasure(t[3].value):null,t[4]?K_(1,t[4]):null)},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})))},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})))},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0].map((function(e){return new $C.IfcParameterValue(e.value)})))},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null,t[4]?new $C.IfcThermalConductivityMeasure(t[4].value):null)},3101149627:function(e,t){return new $C.IfcTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(1,e)})))},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})))},1907098498:function(e,t){return new $C.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},1065908215:function(e,t){return new $C.IfcWaterProperties(e,new H_(t[0].value),t[1]?t[1].value:null,t[2]?new $C.IfcIonConcentrationMeasure(t[2].value):null,t[3]?new $C.IfcIonConcentrationMeasure(t[3].value):null,t[4]?new $C.IfcIonConcentrationMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new $C.IfcPHMeasure(t[6].value):null,t[7]?new $C.IfcNormalisedRatioMeasure(t[7].value):null)},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value),t[5].value)},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null)},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0]?new $C.IfcLabel(t[0].value):null,new $C.IfcNormalisedRatioMeasure(t[1].value),new $C.IfcNormalisedRatioMeasure(t[2].value),new $C.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new $C.IfcComplexProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new $C.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcLabel(t[3].value):null)},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value))},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value),new H_(t[3].value))},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null)},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},3900360178:function(e,t){return new $C.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new $C.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),t[3].value)},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},2556980723:function(e,t){return new $C.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new $C.IfcFaceBound(e,new H_(t[0].value),t[1].value)},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,new H_(t[0].value),t[1].value)},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),t[2].value)},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcForceMeasure(t[4].value):null,t[5]?new $C.IfcForceMeasure(t[5].value):null,t[6]?new $C.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},3857492461:function(e,t){return new $C.IfcFuelProperties(e,new H_(t[0].value),t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcHeatingValueMeasure(t[3].value):null,t[4]?new $C.IfcHeatingValueMeasure(t[4].value):null)},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcMolecularWeightMeasure(t[1].value):null,t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcMassDensityMeasure(t[3].value):null)},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null)},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new $C.IfcDimensionCount(t[2].value),t[3]?t[3].value:null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new $C.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,new H_(t[0].value),t[1].value)},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcIsothermalMoistureCapacityMeasure(t[3].value):null,t[4]?new $C.IfcVaporPermeabilityMeasure(t[4].value):null,t[5]?new $C.IfcMoistureDiffusivityMeasure(t[5].value):null)},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value))},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new $C.IfcThermodynamicTemperatureMeasure(t[6].value),new $C.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value))},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value),new H_(t[9].value),t[10]?new $C.IfcReal(t[10].value):null,new $C.IfcPositivePlaneAngleMeasure(t[11].value),new $C.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcText(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcText(t[11].value):null)},219451334:function(e,t){return new $C.IfcObjectDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,new H_(t[0].value))},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,new H_(t[0].value),t[1].value)},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2519244187:function(e,t){return new $C.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null)},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcInteger(t[4].value),new $C.IfcInteger(t[5].value),new $C.IfcInteger(t[6].value),t[7].map((function(e){return e.value})))},2004835150:function(e,t){return new $C.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value),new H_(t[3].value))},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,new $C.IfcLabel(t[0].value))},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,new $C.IfcLabel(t[0].value))},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,new $C.IfcLabel(t[0].value))},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?K_(1,t[3]):null,t[4]?new H_(t[4].value):null)},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3].map((function(e){return K_(1,e)})),t[4]?new $C.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new $C.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},478536968:function(e,t){return new $C.IfcRelationship(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value))},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?K_(1,t[5]):null,K_(1,t[6]),t[7]?K_(1,t[7]):null)},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new $C.IfcBoolean(t[4].value),t[5],t[6].map((function(e){return new H_(e.value)})))},1202362311:function(e,t){return new $C.IfcSoundValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new $C.IfcFrequencyMeasure(t[5].value),t[6]?K_(1,t[6]):null)},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6],t[7]?new $C.IfcText(t[7].value):null,new $C.IfcPowerMeasure(t[8].value),t[9]?new $C.IfcPowerMeasure(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new $C.IfcLabel(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearForceMeasure(t[1].value):null,t[2]?new $C.IfcLinearForceMeasure(t[2].value):null,t[3]?new $C.IfcLinearForceMeasure(t[3].value):null,t[4]?new $C.IfcLinearMomentMeasure(t[4].value):null,t[5]?new $C.IfcLinearMomentMeasure(t[5].value):null,t[6]?new $C.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcPlanarForceMeasure(t[1].value):null,t[2]?new $C.IfcPlanarForceMeasure(t[2].value):null,t[3]?new $C.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new $C.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null)},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null,t[23]?new $C.IfcAreaMeasure(t[23].value):null,t[24]?new $C.IfcAreaMeasure(t[24].value):null,t[25]?new $C.IfcPositiveRatioMeasure(t[25].value):null,t[26]?new $C.IfcPositiveRatioMeasure(t[26].value):null)},2233826070:function(e,t){return new $C.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new $C.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(1,t[7]):null,t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value))},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value))},230924584:function(e,t){return new $C.IfcSweptSurface(e,new H_(t[0].value),new H_(t[1].value))},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new $C.IfcPlaneAngleMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null)},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},4282788508:function(e,t){return new $C.IfcTextLiteral(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new $C.IfcBoxAlignment(t[4].value))},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcLengthMeasure(t[6].value))},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,new H_(t[0].value),new H_(t[1].value))},1628702193:function(e,t){return new $C.IfcTypeObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},2347495698:function(e,t){return new $C.IfcTypeProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPlaneAngleMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1417489154:function(e,t){return new $C.IfcVector(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new $C.IfcVertexLoop(e,new H_(t[0].value))},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new $C.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null)},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},1299126871:function(e,t){return new $C.IfcWindowStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value))},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?t[4].value:null)},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null,t[5]?t[5].value:null,t[6]?t[6].value:null)},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1].value,new H_(t[2].value))},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcPositiveLengthMeasure(t[13].value),t[14]?new $C.IfcPositiveLengthMeasure(t[14].value):null)},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new $C.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,new H_(t[0].value),new H_(t[1].value))},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value),t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0].map((function(e){return e.value})))},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new $C.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null)},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new $C.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},526551008:function(e,t){return new $C.IfcDoorStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0].map((function(e){return new H_(e.value)})))},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,new $C.IfcLabel(t[0].value))},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new $C.IfcElementQuantity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new $C.IfcElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new $C.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},80994333:function(e,t){return new $C.IfcEnergyProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new $C.IfcPlaneAngleMeasure(t[4].value))},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,new H_(t[0].value))},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new $C.IfcPositiveRatioMeasure(t[2].value))},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new $C.IfcLabel(t[10].value):null,t[11]?new $C.IfcThermodynamicTemperatureMeasure(t[11].value):null,t[12]?new $C.IfcThermodynamicTemperatureMeasure(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?K_(1,t[15]):null,t[16]?new $C.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new $C.IfcLinearVelocityMeasure(t[17].value):null,t[18]?new $C.IfcPressureMeasure(t[18].value):null)},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new $C.IfcFurnitureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPlaneAngleMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1281925730:function(e,t){return new $C.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new $C.IfcObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value)},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value,new H_(t[3].value))},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},603570806:function(e,t){return new $C.IfcPlanarBox(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new $C.IfcPlane(e,new H_(t[0].value))},2945172077:function(e,t){return new $C.IfcProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},4208778838:function(e,t){return new $C.IfcProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new $C.IfcProject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value))},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},1451395588:function(e,t){return new $C.IfcPropertySet(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},3219374653:function(e,t){return new $C.IfcProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),t[5].value,t[6].value)},3939117080:function(e,t){return new $C.IfcRelAssigns(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new $C.IfcRelAssociates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[5].value),new H_(t[6].value))},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},826625072:function(e,t){return new $C.IfcRelConnects(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return e.value})),t[8].map((function(e){return e.value})),t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new $C.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},693640335:function(e,t){return new $C.IfcRelDefines(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcCountMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),new H_(t[8].value))},3268803585:function(e,t){return new $C.IfcRelNests(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4122056220:function(e,t){return new $C.IfcRelSequence(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),new $C.IfcTimeMeasure(t[6].value),t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},2914609552:function(e,t){return new $C.IfcResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPlaneAngleMeasure(t[3].value))},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},451544542:function(e,t){return new $C.IfcSphere(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new $C.IfcStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9].map((function(e){return new $C.IfcPositiveLengthMeasure(e.value)})),new H_(t[10].value))},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0].map((function(e){return new H_(e.value)})))},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),new H_(t[5].value))},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3473067441:function(e,t){return new $C.IfcTask(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null)},2097647324:function(e,t){return new $C.IfcTransportElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2296667514:function(e,t){return new $C.IfcActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value))},1674181508:function(e,t){return new $C.IfcAnnotation(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,new $C.IfcPositiveLengthMeasure(t[8].value),t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},1334484129:function(e,t){return new $C.IfcBlock(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null)},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},300633059:function(e,t){return new $C.IfcColumnType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},2510884976:function(e,t){return new $C.IfcConic(e,new H_(t[0].value))},2559216714:function(e,t){return new $C.IfcConstructionResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},3293443760:function(e,t){return new $C.IfcControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3895139033:function(e,t){return new $C.IfcCostItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1419761937:function(e,t){return new $C.IfcCostSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,new $C.IfcIdentifier(t[11].value),t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0].map((function(e){return new H_(e.value)})))},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null,t[6],new $C.IfcElectricVoltageMeasure(t[7].value),new $C.IfcFrequencyMeasure(t[8].value),t[9]?new $C.IfcElectricCurrentMeasure(t[9].value):null,t[10]?new $C.IfcElectricCurrentMeasure(t[10].value):null,t[11]?new $C.IfcPowerMeasure(t[11].value):null,t[12]?new $C.IfcPowerMeasure(t[12].value):null,t[13].value)},1758889154:function(e,t){return new $C.IfcElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new $C.IfcElementAssembly(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new $C.IfcElementComponentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new $C.IfcEllipse(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new $C.IfcFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2489546625:function(e,t){return new $C.IfcFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2827207264:function(e,t){return new $C.IfcFeatureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},263784265:function(e,t){return new $C.IfcFurnishingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},200128114:function(e,t){return new $C.IfcGasTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null)},2706460486:function(e,t){return new $C.IfcGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null)},1051575348:function(e,t){return new $C.IfcLampType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0].map((function(e){return new H_(e.value)})))},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3181161470:function(e,t){return new $C.IfcMemberType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916936684:function(e,t){return new $C.IfcMove(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new H_(t[10].value),new H_(t[11].value),t[12]?t[12].map((function(e){return new $C.IfcText(e.value)})):null)},4143007308:function(e,t){return new $C.IfcOccupant(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3425660407:function(e,t){return new $C.IfcOrderAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new $C.IfcIdentifier(t[10].value))},2837617999:function(e,t){return new $C.IfcOutletType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcLabel(t[5].value))},3327091369:function(e,t){return new $C.IfcPermit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},804291784:function(e,t){return new $C.IfcPipeFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new $C.IfcPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new $C.IfcProcedure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},2904328755:function(e,t){return new $C.IfcProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})),t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0].map((function(e){return new H_(e.value)})))},2893384427:function(e,t){return new $C.IfcRailingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new $C.IfcTimeMeasure(t[13].value):null,t[14]?new $C.IfcTimeMeasure(t[14].value):null,t[15]?new $C.IfcTimeMeasure(t[15].value):null,t[16]?new $C.IfcTimeMeasure(t[16].value):null,t[17]?new $C.IfcTimeMeasure(t[17].value):null,t[18]?t[18].value:null,t[19]?new H_(t[19].value):null,t[20]?new $C.IfcTimeMeasure(t[20].value):null,t[21]?new $C.IfcTimeMeasure(t[21].value):null,t[22]?new $C.IfcPositiveRatioMeasure(t[22].value):null)},4105383287:function(e,t){return new $C.IfcServiceLife(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new $C.IfcTimeMeasure(t[6].value))},4097777520:function(e,t){return new $C.IfcSite(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new $C.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new $C.IfcSlabType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new $C.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcAreaMeasure(t[7].value):null,t[8]?new H_(t[8].value):null,new $C.IfcAreaMeasure(t[9].value))},3812236995:function(e,t){return new $C.IfcSpaceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new $C.IfcRatioMeasure(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7].value)},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new $C.IfcSubContractResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new $C.IfcText(t[10].value):null)},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},5716631:function(e,t){return new $C.IfcTankType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6],new H_(t[7].value))},1692211062:function(e,t){return new $C.IfcTransformerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcMassMeasure(t[9].value):null,t[10]?new $C.IfcCountMeasure(t[10].value):null)},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),t[3].value,t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new $C.IfcValveType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1898987631:function(e,t){return new $C.IfcWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},4218914973:function(e,t){return new $C.IfcWorkPlan(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},1033361043:function(e,t){return new $C.IfcZone(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},3821786052:function(e,t){return new $C.IfcActionRequest(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0].map((function(e){return new H_(e.value)})))},3460190687:function(e,t){return new $C.IfcAsset(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),new H_(t[7].value),new H_(t[8].value),new H_(t[9].value),new H_(t[10].value),new H_(t[11].value),new H_(t[12].value),new H_(t[13].value))},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},819618141:function(e,t){return new $C.IfcBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},231477066:function(e,t){return new $C.IfcBoilerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},2301859152:function(e,t){return new $C.IfcCoilType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new $C.IfcColumn(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3850581409:function(e,t){return new $C.IfcCompressorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new $C.IfcRatioMeasure(t[10].value):null)},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},335055490:function(e,t){return new $C.IfcCooledBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3961806047:function(e,t){return new $C.IfcDamperType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0].map((function(e){return new H_(e.value)})))},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new $C.IfcDistributionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new $C.IfcDistributionPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},395920057:function(e,t){return new $C.IfcDoor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},869906466:function(e,t){return new $C.IfcDuctFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},857184966:function(e,t){return new $C.IfcElectricalElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},346874300:function(e,t){return new $C.IfcFanType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new $C.IfcFlowFitting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new $C.IfcFlowSegment(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new $C.IfcFooting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new $C.IfcMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1687234759:function(e,t){return new $C.IfcPile(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2262370178:function(e,t){return new $C.IfcRailing(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value,t[5].map((function(e){return e.value})))},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcAreaMeasure(t[13].value),new $C.IfcAreaMeasure(t[14].value),new $C.IfcPositiveLengthMeasure(t[15].value),new $C.IfcPositiveLengthMeasure(t[16].value))},2016517767:function(e,t){return new $C.IfcRoof(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},1783015770:function(e,t){return new $C.IfcSensorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new $C.IfcStair(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?t[8].value:null,t[9]?t[9].value:null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},3824725483:function(e,t){return new $C.IfcTendon(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9],new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcAreaMeasure(t[11].value),t[12]?new $C.IfcForceMeasure(t[12].value):null,t[13]?new $C.IfcPressureMeasure(t[13].value):null,t[14]?new $C.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new $C.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new $C.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391406946:function(e,t){return new $C.IfcWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3304561284:function(e,t){return new $C.IfcWindow(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2874132201:function(e,t){return new $C.IfcActuatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},753842376:function(e,t){return new $C.IfcBeam(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},578613899:function(e,t){return new $C.IfcControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcIdentifier(t[8].value):null)},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcLabel(t[9].value):null)},979691226:function(e,t){return new $C.IfcReinforcingBar(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcAreaMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])}},j_[1]={618182010:[912023232,3355820592],411424972:[1648886627,602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],3264961684:[776857604],2859738748:[1981873012,2732653382,4257277454,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],3796139169:[1694125774,2273265877],3200245327:[3732053477,647927063,3452421091,3548104201,3207319532,1040185647,2242383968],3265635763:[2445078500,803998398,3857492461,1860660968,1065908215,3317419933,2267347899,1227763645,1430189142,677618848,4256014907],4256014907:[1430189142,677618848],1918398963:[2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],3727388367:[4006246654,2559016684,445594917,759155922,4170525392,1983826977,1775413392,179317114,433424934,3213052703,990879717],990879717:[179317114,433424934,3213052703],1775413392:[4170525392,1983826977],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1290481447,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],2802850158:[3653947884,3843319758,1446786286,3679540991],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028,3958052878],2341007311:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080,478536968,1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518,1680319473,2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,M_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193,219451334],3982875396:[1735638870,4240577450],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],2273995522:[2609359061,4219587988],2162789131:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],3958052878:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028],846575682:[1878645084],626085974:[597895409,3905492369,616511568],280115917:[2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],2442683028:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235],3612888222:[4054601972,3028897424],3798115385:[2705031697],1310608509:[3150382593],370225590:[2205249479,2665983363],3900360178:[2233826070,1029017970,476780140],2556980723:[3008276851],1809719519:[803316827],1446786286:[3653947884,3843319758],3448662350:[4142052618],2453401579:[315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],219451334:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,M_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193],2833995503:[1345879162],2529465313:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],759155922:[445594917],2559016684:[4006246654],1680319473:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518],3357820518:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017],3615266464:[2770003689,2778083089],478536968:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080],723233188:[3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],3843319758:[3653947884],2513912981:[220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,1856042241,477187591],230924584:[4124788165,2809605785],3028897424:[4054601972],4282788508:[3124975700],1628702193:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698],2347495698:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3288037868:[4194566429,606661476],2736907675:[3649129432],4182860854:[3454111270,2827736869],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_],3073041342:[4147604152,2470393545,3248260540,2506943328,681481545,4070609034],339256511:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223],2777663545:[220341763],80994333:[360485395],4238390223:[1580310250,1268542332],1484403080:[3207858831],1425443689:[3737207727,807026263],3888040117:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,M_,2945172077],2945172077:[2744685151,3425660407,1916936684,M_],4208778838:[3041715199,L_,x_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653],3939117080:[205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259],1683148259:[2051452291],2495723537:[2863920197,1058617721,3372526763],1865459582:[2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568],826625072:[1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3268803585],693640335:[781010003,202636808,4186316022],4186316022:[202636808],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126],3979015343:[2218152070],3473067441:[3425660407,1916936684],2296667514:[4143007308],1260505505:[3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249],1950629157:[1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059],3732776249:[1213861670],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033],681481545:[4147604152,2470393545,3248260540,2506943328],3256556792:[578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300],1758889154:[857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,377706215,647756555],2590856083:[3313531582,2635815018,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832],647756555:[377706215],2489546625:[2108223431],2827207264:[2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[2454782716,1376911519,855621170,3588315303],3907093117:[712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114],3009222698:[1810631287,2030761528],2706460486:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822],3740093272:[3041715199],682877961:[2082059205,3987759626,1621171031,1721250024,1807405624],1179482911:[1975003073,734778138,4243806635],214636428:[2445595289],1807405624:[1721250024],1621171031:[3987759626],2254336722:[2515109513,1634875225],1028945134:[3342526732,4218914973],1967976161:[3055160366,1916977116],1916977116:[3055160366],3299480353:[g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810],52481810:[979691226,2347447852,T_,2320036040,3027567501,2979338954],2635815018:[3313531582],2063403501:[578613899,3001207471,2874132201,1783015770,4037862832],1945004755:[1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961],3040386961:[1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314],855621170:[2454782716,1376911519],2058353004:[3700593921],3027567501:[979691226,2347447852,T_,2320036040],2391406946:[3512223829]},k_[1]={618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],130549933:[["Actors",2080292479,1,!0],["IsRelatedWith",3869604511,0,!0],["Relates",3869604511,1,!0]],747523909:[["Contains",1767535486,1,!0]],1767535486:[["IsClassifiedItemIn",1098599126,1,!0],["IsClassifyingItemIn",1098599126,0,!0]],1959218052:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],602808272:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],1154170062:[["IsPointedTo",770865208,1,!0],["IsPointer",770865208,0,!0]],1648886627:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],852622518:[["PartOfW",x_,9,!0],["PartOfV",x_,8,!0],["PartOfU",x_,7,!0],["HasIntersections",891718957,0,!0]],3452421091:[["ReferenceIntoLibrary",2655187982,4,!0]],1838606355:[["HasRepresentation",2022407955,3,!0],["ClassifiedAs",1847130766,1,!0]],248100487:[["ToMaterialLayerSet",3303938423,0,!1]],3368373690:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["PartOfComplex",3021840470,2,!0]],2226359599:[["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],2598011224:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2044713172:[["PartOfComplex",3021840470,2,!0]],2093928680:[["PartOfComplex",3021840470,2,!0]],931644368:[["PartOfComplex",3021840470,2,!0]],3252649465:[["PartOfComplex",3021840470,2,!0]],2405470396:[["PartOfComplex",3021840470,2,!0]],825690147:[["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],3692461612:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],531007025:[["OfTable",985171141,1,!1]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],280115917:[["AnnotatedSurface",1302238472,1,!0]],1742049831:[["AnnotatedSurface",1302238472,1,!0]],2552916305:[["AnnotatedSurface",1302238472,1,!0]],3101149627:[["DocumentedBy",1718945513,0,!0]],1377556343:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2442683028:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],962685235:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3612888222:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2297822566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],370225590:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3732053477:[["ReferenceToDocument",1154170062,3,!0]],3900360178:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2556980723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1809719519:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],2453401579:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],3590301190:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3741457305:[["DocumentedBy",1718945513,0,!0]],1402838566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],219451334:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0]],2833995503:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2665983363:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2519244187:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["PartOfComplex",3021840470,2,!0]],2004835150:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],871118103:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],1680319473:[["HasAssociations",1865459582,4,!0]],4166981789:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2752243245:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],941946838:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3357820518:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3650150729:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],110355661:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3413951693:[["DocumentedBy",1718945513,0,!0]],3765753017:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1509187699:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2411513650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4124623270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],723233188:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485662743:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1202362311:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],390701378:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],2233826070:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3028897424:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1345879162:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1417489154:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],336235671:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],512836454:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3288037868:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],669184980:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2265737646:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1302238472:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4261334040:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1123145078:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2205249479:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485617015:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2506170314:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],693772133:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],606661476:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["AnnotatedBySymbols",3028897424,3,!0]],4054601972:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2963535650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1714330368:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],526551008:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3073041342:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1472233963:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2777663545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],80994333:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],477187591:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4203026998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3455213021:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],987898635:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1281925730:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],3388369263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3566463478:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],603570806:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],4194566429:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1451395588:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],2798486643:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],451544542:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3136571912:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],4070609034:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2028607225:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],1334484129:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],300633059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3732776249:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],681481545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],360485395:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1704287377:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1962604670:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3272907226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],807026263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],263784265:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],814719939:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],200128114:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1251058090:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],4288270099:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2506943328:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],377706215:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],977012517:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916936684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3425660407:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3724593414:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3642467123:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3248260540:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3517283431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["ScheduleTimeControlAssigned",2863920197,7,!1]],4105383287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],652456506:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["HasInteractionReqsFrom",4189434867,7,!0],["HasInteractionReqsTo",4189434867,8,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],682877961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1179482911:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1721250024:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1252848954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3987759626:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],2082059205:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],734778138:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ResultGroupFor",2515109513,8,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1637806684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3593883385:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],728799441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1898987631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1213861670:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2470393545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1967976161:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916977116:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],231477066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],52481810:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],395041908:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2611217952:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],843113511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2188551683:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1163958913:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["CoversSpaces",2802773753,5,!0],["Covers",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4147604152:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],855621170:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],663422040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1365060375:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],712377611:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1634875225:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],857184966:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],346874300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3055160366:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1376911519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],1783015770:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],331165859:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2454782716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],578613899:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["AssignedToFlowElement",279856033,4,!0]],3700593921:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],979691226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]]},V_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new $C.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,t[0],t[1],t[2],t[3],t[4])},130549933:function(e,t){return new $C.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,t[0],t[1],t[2])},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0],t[1])},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},622194075:function(e,t){return new $C.IfcCalendarDate(e,t[0],t[1],t[2])},747523909:function(e,t){return new $C.IfcClassification(e,t[0],t[1],t[2],t[3])},1767535486:function(e,t){return new $C.IfcClassificationItem(e,t[0],t[1],t[2])},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,t[0],t[1])},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0])},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,t[0])},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0])},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,t[0],t[1])},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,t[0],t[1],t[2])},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,t[0],t[1])},1959218052:function(e,t){return new $C.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0],t[1],t[2],t[3],t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,t[0],t[1])},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0],t[1],t[2],t[3])},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,t[0],t[1],t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,t[0],t[1])},1072939445:function(e,t){return new $C.IfcDateAndTime(e,t[0],t[1])},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0],t[1],t[2])},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,t[0],t[1],t[2])},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0],t[1],t[2],t[3])},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0],t[1],t[2])},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4])},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0],t[1],t[2])},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1])},30780891:function(e,t){return new $C.IfcLocalTime(e,t[0],t[1],t[2],t[3],t[4])},1838606355:function(e,t){return new $C.IfcMaterial(e,t[0])},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0],t[1])},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0],t[1],t[2])},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0],t[1])},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3])},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0])},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,t[0])},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,t[0],t[1])},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3368373690:function(e,t){return new $C.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new $C.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,t[0])},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,t[0])},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,t[0])},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,t[0])},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0],t[1],t[2])},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,t[0],t[1],t[2],t[3],t[4])},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1])},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0],t[1])},2598011224:function(e,t){return new $C.IfcProperty(e,t[0],t[1])},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new $C.IfcQuantityArea(e,t[0],t[1],t[2],t[3])},2093928680:function(e,t){return new $C.IfcQuantityCount(e,t[0],t[1],t[2],t[3])},931644368:function(e,t){return new $C.IfcQuantityLength(e,t[0],t[1],t[2],t[3])},3252649465:function(e,t){return new $C.IfcQuantityTime(e,t[0],t[1],t[2],t[3])},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,t[0],t[1],t[2],t[3])},825690147:function(e,t){return new $C.IfcQuantityWeight(e,t[0],t[1],t[2],t[3])},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,t[0],t[1],t[2],t[3])},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1222501353:function(e,t){return new $C.IfcRelaxation(e,t[0],t[1])},1076942058:function(e,t){return new $C.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,t[0],t[1])},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new $C.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,t[0],t[1])},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0])},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new $C.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,t[0])},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3])},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0],t[1])},985171141:function(e,t){return new $C.IfcTable(e,t[0],t[1])},531007025:function(e,t){return new $C.IfcTableRow(e,t[0],t[1])},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0],t[1],t[2],t[3])},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0],t[1],t[2],t[3],t[4])},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,t[0],t[1])},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0])},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0])},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4])},3101149627:function(e,t){return new $C.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,t[0],t[1])},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0],t[1])},1907098498:function(e,t){return new $C.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0],t[1])},1065908215:function(e,t){return new $C.IfcWaterProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0],t[1],t[2])},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0],t[1],t[2])},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0],t[1],t[2])},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0],t[1],t[2])},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0],t[1],t[2],t[3])},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new $C.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0],t[1],t[2],t[3])},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0],t[1],t[2],t[3])},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0],t[1],t[2],t[3])},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0],t[1],t[2])},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,t[0])},3900360178:function(e,t){return new $C.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new $C.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new $C.IfcFace(e,t[0])},1809719519:function(e,t){return new $C.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0],t[1])},3857492461:function(e,t){return new $C.IfcFuelProperties(e,t[0],t[1],t[2],t[3],t[4])},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,t[0],t[1],t[2],t[3])},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new $C.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,t[0],t[1])},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4])},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,t[0],t[1])},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},219451334:function(e,t){return new $C.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,t[0])},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0])},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new $C.IfcPath(e,t[0])},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2004835150:function(e,t){return new $C.IfcPlacement(e,t[0])},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,t[0])},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,t[0])},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,t[0])},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0],t[1],t[2])},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4])},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new $C.IfcRelationship(e,t[0],t[1],t[2],t[3])},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,t[0],t[1],t[2])},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0])},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1202362311:function(e,t){return new $C.IfcSoundValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26])},2233826070:function(e,t){return new $C.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},230924584:function(e,t){return new $C.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0],t[1],t[2],t[3])},4282788508:function(e,t){return new $C.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,t[0],t[1])},1628702193:function(e,t){return new $C.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},2347495698:function(e,t){return new $C.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1417489154:function(e,t){return new $C.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new $C.IfcVertexLoop(e,t[0])},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1299126871:function(e,t){return new $C.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0],t[1],t[2])},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,t[0],t[1])},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0],t[1],t[2],t[3],t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,t[0],t[1])},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0])},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0])},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new $C.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,t[0],t[1])},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0],t[1],t[2])},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0])},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},526551008:function(e,t){return new $C.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0])},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,t[0])},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new $C.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new $C.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new $C.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},80994333:function(e,t){return new $C.IfcEnergyProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,t[0])},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18])},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new $C.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1281925730:function(e,t){return new $C.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new $C.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603570806:function(e,t){return new $C.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new $C.IfcPlane(e,t[0])},2945172077:function(e,t){return new $C.IfcProcess(e,t[0],t[1],t[2],t[3],t[4])},4208778838:function(e,t){return new $C.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new $C.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0],t[1],t[2])},1451395588:function(e,t){return new $C.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},3219374653:function(e,t){return new $C.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3939117080:function(e,t){return new $C.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new $C.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},826625072:function(e,t){return new $C.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,t[0],t[1],t[2],t[3],t[4],t[5])},693640335:function(e,t){return new $C.IfcRelDefines(e,t[0],t[1],t[2],t[3],t[4])},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new $C.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4122056220:function(e,t){return new $C.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},2914609552:function(e,t){return new $C.IfcResource(e,t[0],t[1],t[2],t[3],t[4])},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,t[0],t[1],t[2])},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},451544542:function(e,t){return new $C.IfcSphere(e,t[0],t[1])},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new $C.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0])},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3473067441:function(e,t){return new $C.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new $C.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2296667514:function(e,t){return new $C.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1674181508:function(e,t){return new $C.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new $C.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},300633059:function(e,t){return new $C.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0],t[1])},2510884976:function(e,t){return new $C.IfcConic(e,t[0])},2559216714:function(e,t){return new $C.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3293443760:function(e,t){return new $C.IfcControl(e,t[0],t[1],t[2],t[3],t[4])},3895139033:function(e,t){return new $C.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4])},1419761937:function(e,t){return new $C.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0])},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1758889154:function(e,t){return new $C.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new $C.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new $C.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new $C.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,t[0],t[1],t[2],t[3],t[4])},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new $C.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2489546625:function(e,t){return new $C.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2827207264:function(e,t){return new $C.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},263784265:function(e,t){return new $C.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,t[0],t[1],t[2],t[3],t[4])},200128114:function(e,t){return new $C.IfcGasTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706460486:function(e,t){return new $C.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1051575348:function(e,t){return new $C.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0])},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3181161470:function(e,t){return new $C.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916936684:function(e,t){return new $C.IfcMove(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4143007308:function(e,t){return new $C.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3425660407:function(e,t){return new $C.IfcOrderAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2837617999:function(e,t){return new $C.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5])},3327091369:function(e,t){return new $C.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5])},804291784:function(e,t){return new $C.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0])},3740093272:function(e,t){return new $C.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new $C.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new $C.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0])},2893384427:function(e,t){return new $C.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},4105383287:function(e,t){return new $C.IfcServiceLife(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4097777520:function(e,t){return new $C.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new $C.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new $C.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new $C.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},5716631:function(e,t){return new $C.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1692211062:function(e,t){return new $C.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new $C.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1898987631:function(e,t){return new $C.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4218914973:function(e,t){return new $C.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1033361043:function(e,t){return new $C.IfcZone(e,t[0],t[1],t[2],t[3],t[4])},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0],t[1])},3821786052:function(e,t){return new $C.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5])},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0])},3460190687:function(e,t){return new $C.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},819618141:function(e,t){return new $C.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0],t[1],t[2],t[3],t[4])},231477066:function(e,t){return new $C.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,t[0],t[1])},2301859152:function(e,t){return new $C.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new $C.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3850581409:function(e,t){return new $C.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,t[0],t[1],t[2],t[3],t[4])},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},335055490:function(e,t){return new $C.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3961806047:function(e,t){return new $C.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0])},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new $C.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new $C.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},395920057:function(e,t){return new $C.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},869906466:function(e,t){return new $C.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,t[0],t[1],t[2],t[3],t[4])},857184966:function(e,t){return new $C.IfcElectricalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},346874300:function(e,t){return new $C.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new $C.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new $C.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new $C.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new $C.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1687234759:function(e,t){return new $C.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2262370178:function(e,t){return new $C.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0],t[1],t[2],t[3],t[4],t[5])},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2016517767:function(e,t){return new $C.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1783015770:function(e,t){return new $C.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new $C.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3824725483:function(e,t){return new $C.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391406946:function(e,t){return new $C.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3304561284:function(e,t){return new $C.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2874132201:function(e,t){return new $C.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},753842376:function(e,t){return new $C.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},578613899:function(e,t){return new $C.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},979691226:function(e,t){return new $C.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])}},Q_[1]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate]},1110488051:function(e){return[e.ComponentOfTotal,e.Components,e.ArithmeticOperator,e.Name,e.Description]},130549933:function(e){return[e.Description,e.ApprovalDateTime,e.ApprovalStatus,e.ApprovalLevel,e.ApprovalQualifier,e.Name,e.Identifier]},2080292479:function(e){return[e.Actor,e.Approval,e.Role]},390851274:function(e){return[e.ApprovedProperties,e.Approval]},3869604511:function(e){return[e.RelatedApproval,e.RelatingApproval,e.Description,e.Name]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.LinearStiffnessByLengthX,e.LinearStiffnessByLengthY,e.LinearStiffnessByLengthZ,e.RotationalStiffnessByLengthX,e.RotationalStiffnessByLengthY,e.RotationalStiffnessByLengthZ]},3367102660:function(e){return[e.Name,e.LinearStiffnessByAreaX,e.LinearStiffnessByAreaY,e.LinearStiffnessByAreaZ]},1387855156:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ]},2069777674:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ,e.WarpingStiffness]},622194075:function(e){return[e.DayComponent,e.MonthComponent,e.YearComponent]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name]},1767535486:function(e){return[e.Notation,e.ItemOf,e.Title]},1098599126:function(e){return[e.RelatingItem,e.RelatedItems]},938368621:function(e){return[e.NotationFacets]},3639012971:function(e){return[e.NotationValue]},3264961684:function(e){return[e.Name]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},4257277454:function(e){return[e.LocationAtRelatingElement,e.LocationAtRelatedElement,e.ProfileOfPort]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1658513725:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints,e.LogicalAggregator]},613356794:function(e){return[e.ClassifiedConstraint,e.RelatedClassifications]},347226245:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints]},1065062679:function(e){return[e.HourOffset,e.MinuteOffset,e.Sense]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.CostType,e.Condition]},539742890:function(e){return[e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},1072939445:function(e){return[e.DateComponent,e.TimeComponent]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},1376555844:function(e){return[e.FileExtension,e.MimeContentType,e.MimeSubtype]},1154170062:function(e){return[e.DocumentId,e.Name,e.Description,e.DocumentReferences,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3796139169:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1648886627:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.ImpactType,e.Category,e.UserDefinedCategory]},3200245327:function(e){return[e.Location,e.ItemReference,e.Name]},2242383968:function(e){return[e.Location,e.ItemReference,e.Name]},1040185647:function(e){return[e.Location,e.ItemReference,e.Name]},3207319532:function(e){return[e.Location,e.ItemReference,e.Name]},3548104201:function(e){return[e.Location,e.ItemReference,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.LibraryReference]},3452421091:function(e){return[e.Location,e.ItemReference,e.Name]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},30780891:function(e){return[e.HourComponent,e.MinuteComponent,e.SecondComponent,e.Zone,e.DaylightSavingOffset]},1838606355:function(e){return[e.Name]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString()]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine]},2199411900:function(e){return[e.Materials]},3265635763:function(e){return[e.Material]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},4256014907:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient]},677618848:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.YieldStress,e.UltimateStress,e.UltimateStrain,e.HardeningModule,e.ProportionalStress,e.PlasticStrain,e.Relaxations]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.ResultValues,e.ObjectiveQualifier,e.UserDefinedQualifier]},1227763645:function(e){return[e.Material,e.VisibleTransmittance,e.SolarTransmittance,e.ThermalIrTransmittance,e.ThermalIrEmissivityBack,e.ThermalIrEmissivityFront,e.VisibleReflectanceBack,e.VisibleReflectanceFront,e.SolarReflectanceFront,e.SolarReflectanceBack]},4251960020:function(e){return[e.Id,e.Name,e.Description,e.Roles,e.Addresses]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Id,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},3727388367:function(e){return[e.Name]},990879717:function(e){return[e.Name]},3213052703:function(e){return[e.Name]},1775413392:function(e){return[e.Name]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier,e.LayerOn,e.LayerFrozen,e.LayerBlocked,e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},2267347899:function(e){return[e.Material,e.SpecificHeatCapacity,e.N20Content,e.COContent,e.CO2Content]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},2802850158:function(e){return[e.ProfileName,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},3896028662:function(e){return[e.RelatingConstraint,e.RelatedProperties,e.Name,e.Description]},148025276:function(e){return[e.DependingProperty,e.DependantProperty,e.Name,e.Description,e.Expression]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue]},2692823254:function(e){return[e.ReferencedDocument,e.ReferencingValues,e.Name,e.Description]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},1222501353:function(e){return[e.RelaxationValue,e.InitialStress]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},3679540991:function(e){return[e.ProfileName,e.ProfileDefinition,e.Thickness,e.RibHeight,e.RibWidth,e.RibSpacing,e.Direction]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},867548509:function(e){return[e.ShapeRepresentations,e.Name,e.Description,e.ProductDefinitional,e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3692461612:function(e){return[e.Name,e.Description]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaT_Constant,e.DeltaT_Y,e.DeltaT_Z]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour]},1351298697:function(e){return[e.Textures]},626085974:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform]},1290481447:function(e){return[e.Name,Y_(e.StyleOfSymbol)]},985171141:function(e){return[e.Name,e.Rows]},531007025:function(e){return[e.RowCells.map((function(e){return Y_(e)})),e.IsHeading]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL]},1447204868:function(e){return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},1484833681:function(e){return[e.BoxHeight,e.BoxWidth,e.BoxSlantAngle,e.BoxRotateAngle,e.CharacterSpacing?Y_(e.CharacterSpacing):null]},280115917:function(e){return[]},1742049831:function(e){return[e.Mode,e.Parameter.map((function(e){return Y_(e)}))]},2552916305:function(e){return[e.TextureMaps]},1210645708:function(e){return[e.Coordinates]},3317419933:function(e){return[e.Material,e.SpecificHeatCapacity,e.BoilingPoint,e.FreezingPoint,e.ThermalConductivity]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},1718945513:function(e){return[e.ReferencedTimeSeries,e.TimeSeriesReferences]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},3304826586:function(e){return[e.TextureVertices,e.TexturePoints]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1065908215:function(e){return[e.Material,e.IsPotable,e.Hardness,e.AlkalinityConcentration,e.AcidityConcentration,e.ImpuritiesContent,e.PHLevel,e.DissolvedSolidsContent]},2442683028:function(e){return[e.Item,e.Styles,e.Name]},962685235:function(e){return[e.Item,e.Styles,e.Name]},3612888222:function(e){return[e.Item,e.Styles,e.Name]},2297822566:function(e){return[e.Item,e.Styles,e.Name]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},647927063:function(e){return[e.Location,e.ItemReference,e.Name,e.ReferencedSource]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},3800577675:function(e){return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},2273265877:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1694125774:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},3732053477:function(e){return[e.Location,e.ItemReference,e.Name]},4170525392:function(e){return[e.Name]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,e.SameSense]},1860660968:function(e){return[e.Material,e.ExtendedProperties,e.Description,e.Name]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){return[e.Bound,e.Orientation]},803316827:function(e){return[e.Bound,e.Orientation]},3008276851:function(e){return[e.Bounds,e.FaceSurface,e.SameSense]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){return[e.Name,e.FillStyles]},3857492461:function(e){return[e.Material,e.CombustionTemperature,e.CarbonContent,e.LowerHeatingValue,e.HigherHeatingValue]},803998398:function(e){return[e.Material,e.MolecularWeight,e.Porosity,e.MassDensity]},1446786286:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){return[e.BaseSurface,e.AgreementFlag]},2445078500:function(e){return[e.Material,e.UpperVaporResistanceFactor,e.LowerVaporResistanceFactor,e.IsothermalMoistureCapacity,e.VaporPermeability,e.MoistureDiffusivity]},3905492369:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.UrlReference]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1430189142:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.CompressiveStrength,e.MaxAggregateSize,e.AdmixturesDescription,e.Workability,e.ProtectivePoreRatio,e.WaterImpermeability]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2833995503:function(e){return[e.RepeatFactor]},2665983363:function(e){return[e.CfsFaces]},1029017970:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,e.Orientation]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){return[e.BaseSurface,e.AgreementFlag,e.Position,e.PolygonalBoundary]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},433424934:function(e){return[e.Name]},179317114:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues.map((function(e){return Y_(e)})),e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues.map((function(e){return Y_(e)})),e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues.map((function(e){return Y_(e)})),e.DefinedValues.map((function(e){return Y_(e)})),e.Expression,e.DefiningUnit,e.DefinedUnit]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},2411513650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PredefinedType,e.UpperValue?Y_(e.UpperValue):null,Y_(e.MostUsedValue),e.LowerValue?Y_(e.LowerValue):null]},4124623270:function(e){return[e.SbsmBoundary]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},2485662743:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,null==(t=e.IsAttenuating)?void 0:t.toString(),e.SoundScale,e.SoundValues]},1202362311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.SoundLevelTimeSeries,e.Frequency,e.SoundLevelSingleValue?Y_(e.SoundLevelSingleValue):null]},390701378:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableValueRatio,e.ThermalLoadSource,e.PropertySource,e.SourceDescription,e.MaximumValue,e.MinimumValue,e.ThermalLoadTimeSeriesValues,e.UserDefinedThermalLoadSource,e.UserDefinedPropertySource,e.ThermalLoadType]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},3843319758:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY]},3653947884:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY,e.ShearAreaZ,e.ShearAreaY,e.PlasticShapeFactorY,e.PlasticShapeFactorZ]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope,e.CentreOfGravityInY]},3028897424:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1345879162:function(e){return[e.RepeatFactor,e.SecondRepeatFactor]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope,e.CentreOfGravityInX]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},1299126871:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,e.ParameterTakesPrecedence,e.Sizeable]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3288037868:function(e){return[e.Item,e.Styles,e.Name]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},2265737646:function(e){return[e.Item,e.Styles,e.Name,e.FillStyleTarget,e.GlobalOrLocal]},1302238472:function(e){return[e.Item,e.TextureCoordinates]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){return[e.BaseSurface,e.AgreementFlag,e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius,e.CentreOfGravityInX]},1123145078:function(e){return[e.Coordinates]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},2485617015:function(e){return[e.Transition,e.SameSense,e.ParentCurve]},4133800736:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.BaseWidth2,e.Radius,e.HeadWidth,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseWidth4,e.BaseDepth1,e.BaseDepth2,e.BaseDepth3,e.CentreOfGravityInY]},194851669:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.HeadWidth,e.Radius,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseDepth1,e.BaseDepth2,e.CentreOfGravityInY]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},693772133:function(e){return[e.Definition,e.Target]},606661476:function(e){return[e.Item,e.Styles,e.Name]},4054601972:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve,e.Role]},32440307:function(e){return[e.DirectionRatios]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},526551008:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,e.ParameterTakesPrecedence,e.Sizeable]},3073041342:function(e){return[e.Contents]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},80994333:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},4203026998:function(e){return[e.Symbol]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},3455213021:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PropertySource,e.FlowConditionTimeSeries,e.VelocityTimeSeries,e.FlowrateTimeSeries,e.Fluid,e.PressureTimeSeries,e.UserDefinedPropertySource,e.TemperatureSingleValue,e.WetBulbTemperatureSingleValue,e.WetBulbTemperatureTimeSeries,e.TemperatureTimeSeries,e.FlowrateSingleValue?Y_(e.FlowrateSingleValue):null,e.FlowConditionSingleValue,e.VelocitySingleValue,e.PressureSingleValue]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope,e.CentreOfGravityInX,e.CentreOfGravityInY]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect]},3505215534:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect,e.RefDirection]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},4194566429:function(e){return[e.Item,e.Styles,e.Name]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,e.Usense,e.Vsense]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},3372526763:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},1327628568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingAppliedValue]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},2851387026:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileProperties,e.ProfileSectionLocation,e.ProfileOrientation]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},3912681535:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralMember]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedSpace,e.RelatedCoverings]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},4189434867:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DailyInteraction,e.ImportanceRating,e.LocationOfInteraction,e.RelatedSpaceProgram,e.RelatingSpaceProgram]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2051452291:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},202636808:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition,e.OverridingProperties]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},1058617721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},451544542:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness,e.SubsequentThickness,e.VaryingThicknessLocation]},4070609034:function(e){return[e.Contents]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3473067441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.CentreOfGravityInY]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3732776249:function(e){return[e.Segments,e.SelfIntersect]},2510884976:function(e){return[e.Position]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SubmittedBy,e.PreparedBy,e.SubmittedOn,e.Status,e.TargetUsers,e.UpdateDate,e.ID,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},681481545:function(e){return[e.Contents]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},360485395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence,e.ElectricCurrentType,e.InputVoltage,e.InputFrequency,e.FullLoadCurrent,e.MinimumCircuitCurrent,e.MaximumPowerInput,e.RatedPowerInput,e.InputPhase]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1962604670:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3272907226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},814719939:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},200128114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.InventoryType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SkillSet]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2506943328:function(e){return[e.Contents]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916936684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.MoveFrom,e.MoveTo,e.PunchList]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3425660407:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.ActionID]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LifeCyclePhase]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PermitID]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ProcedureID,e.ProcedureType,e.UserDefinedProcedureType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ID,e.PredefinedType,e.Status]},3642467123:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Records,e.PredefinedType]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3248260540:function(e){return[e.Contents]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2863920197:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl,e.TimeForTask]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3517283431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ActualStart,e.EarlyStart,e.LateStart,e.ScheduleStart,e.ActualFinish,e.EarlyFinish,e.LateFinish,e.ScheduleFinish,e.ScheduleDuration,e.ActualDuration,e.RemainingTime,e.FreeFloat,e.TotalFloat,e.IsCritical,e.StatusTime,e.StartFloat,e.FinishFloat,e.Completion]},4105383287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ServiceLifeType,e.ServiceLifeDuration]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.InteriorOrExteriorSpace,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},652456506:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SpaceProgramIdentifier,e.MaxRequiredArea,e.MinRequiredArea,e.RequestedLocation,e.StandardRequiredArea]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},1807405624:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},1721250024:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},1621171031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},3987759626:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},2082059205:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,e.IsLinear]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SubContractor,e.JobDescription]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1637806684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ApplicableDates,e.TimeSeriesScheduleType,e.TimeSeries]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OperationType,e.CapacityByWeight,e.CapacityByNumber]},3593883385:function(e){return[e.BasisCurve,e.Trim1,e.Trim2,e.SenseAgreement,e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1213861670:function(e){return[e.Segments,e.SelfIntersect]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.RequestID]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2470393545:function(e){return[e.Contents]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.AssetID,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1967976161:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916977116:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},52481810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.CompositionType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188551683:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1163958913:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Criterion,e.CriterionDateTime]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.Suppliers,e.UsageRatio]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4147604152:function(e){return[e.Contents]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},855621170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1365060375:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634875225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},857184966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3055160366:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},1376911519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Radius]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRiser,e.NumberOfTreads,e.RiserHeight,e.TreadLength]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2454782716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Width,e.Height]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ControlElementId]},3700593921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.DistributionPointFunction,e.UserDefinedFunction]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarRole,e.BarSurface]}},W_[1]={3699917729:function(e){return new $C.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new $C.IfcAccelerationMeasure(e)},360377573:function(e){return new $C.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new $C.IfcAngularVelocityMeasure(e)},2650437152:function(e){return new $C.IfcAreaMeasure(e)},2735952531:function(e){return new $C.IfcBoolean(e)},1867003952:function(e){return new $C.IfcBoxAlignment(e)},2991860651:function(e){return new $C.IfcComplexNumber(e)},3812528620:function(e){return new $C.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new $C.IfcContextDependentMeasure(e)},1778710042:function(e){return new $C.IfcCountMeasure(e)},94842927:function(e){return new $C.IfcCurvatureMeasure(e)},86635668:function(e){return new $C.IfcDayInMonthNumber(e)},300323983:function(e){return new $C.IfcDaylightSavingHour(e)},1514641115:function(e){return new $C.IfcDescriptiveMeasure(e)},4134073009:function(e){return new $C.IfcDimensionCount(e)},524656162:function(e){return new $C.IfcDoseEquivalentMeasure(e)},69416015:function(e){return new $C.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new $C.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new $C.IfcElectricChargeMeasure(e)},2093906313:function(e){return new $C.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new $C.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new $C.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new $C.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new $C.IfcEnergyMeasure(e)},1102727119:function(e){return new $C.IfcFontStyle(e)},2715512545:function(e){return new $C.IfcFontVariant(e)},2590844177:function(e){return new $C.IfcFontWeight(e)},1361398929:function(e){return new $C.IfcForceMeasure(e)},3044325142:function(e){return new $C.IfcFrequencyMeasure(e)},3064340077:function(e){return new $C.IfcGloballyUniqueId(e)},3113092358:function(e){return new $C.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new $C.IfcHeatingValueMeasure(e)},2589826445:function(e){return new $C.IfcHourInDay(e)},983778844:function(e){return new $C.IfcIdentifier(e)},3358199106:function(e){return new $C.IfcIlluminanceMeasure(e)},2679005408:function(e){return new $C.IfcInductanceMeasure(e)},1939436016:function(e){return new $C.IfcInteger(e)},3809634241:function(e){return new $C.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new $C.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new $C.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new $C.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new $C.IfcLabel(e)},1243674935:function(e){return new $C.IfcLengthMeasure(e)},191860431:function(e){return new $C.IfcLinearForceMeasure(e)},2128979029:function(e){return new $C.IfcLinearMomentMeasure(e)},1307019551:function(e){return new $C.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new $C.IfcLinearVelocityMeasure(e)},503418787:function(e){return new $C.IfcLogical(e)},2095003142:function(e){return new $C.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new $C.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new $C.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new $C.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new $C.IfcMassDensityMeasure(e)},4017473158:function(e){return new $C.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new $C.IfcMassMeasure(e)},3531705166:function(e){return new $C.IfcMassPerLengthMeasure(e)},102610177:function(e){return new $C.IfcMinuteInHour(e)},3341486342:function(e){return new $C.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new $C.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new $C.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new $C.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new $C.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new $C.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new $C.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new $C.IfcMonetaryMeasure(e)},765770214:function(e){return new $C.IfcMonthInYearNumber(e)},2095195183:function(e){return new $C.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new $C.IfcNumericMeasure(e)},929793134:function(e){return new $C.IfcPHMeasure(e)},2260317790:function(e){return new $C.IfcParameterValue(e)},2642773653:function(e){return new $C.IfcPlanarForceMeasure(e)},4042175685:function(e){return new $C.IfcPlaneAngleMeasure(e)},2815919920:function(e){return new $C.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new $C.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new $C.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new $C.IfcPowerMeasure(e)},2169031380:function(e){return new $C.IfcPresentableText(e)},3665567075:function(e){return new $C.IfcPressureMeasure(e)},3972513137:function(e){return new $C.IfcRadioActivityMeasure(e)},96294661:function(e){return new $C.IfcRatioMeasure(e)},200335297:function(e){return new $C.IfcReal(e)},2133746277:function(e){return new $C.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new $C.IfcRotationalMassMeasure(e)},3211557302:function(e){return new $C.IfcRotationalStiffnessMeasure(e)},2766185779:function(e){return new $C.IfcSecondInMinute(e)},3467162246:function(e){return new $C.IfcSectionModulusMeasure(e)},2190458107:function(e){return new $C.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new $C.IfcShearModulusMeasure(e)},3471399674:function(e){return new $C.IfcSolidAngleMeasure(e)},846465480:function(e){return new $C.IfcSoundPowerMeasure(e)},993287707:function(e){return new $C.IfcSoundPressureMeasure(e)},3477203348:function(e){return new $C.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new $C.IfcSpecularExponent(e)},361837227:function(e){return new $C.IfcSpecularRoughness(e)},58845555:function(e){return new $C.IfcTemperatureGradientMeasure(e)},2801250643:function(e){return new $C.IfcText(e)},1460886941:function(e){return new $C.IfcTextAlignment(e)},3490877962:function(e){return new $C.IfcTextDecoration(e)},603696268:function(e){return new $C.IfcTextFontName(e)},296282323:function(e){return new $C.IfcTextTransformation(e)},232962298:function(e){return new $C.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new $C.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new $C.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new $C.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new $C.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new $C.IfcThermodynamicTemperatureMeasure(e)},2726807636:function(e){return new $C.IfcTimeMeasure(e)},2591213694:function(e){return new $C.IfcTimeStamp(e)},1278329552:function(e){return new $C.IfcTorqueMeasure(e)},3345633955:function(e){return new $C.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new $C.IfcVolumeMeasure(e)},2593997549:function(e){return new $C.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new $C.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new $C.IfcWarpingMomentMeasure(e)},4065007721:function(e){return new $C.IfcYearNumber(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=a;var s=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=s;var o=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=o;var l=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=l;var u=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=u;var c=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=f;var p=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=p;var A=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDaylightSavingHour=d;var v=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=h;var y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=y;var w=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=E;var T=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=R;var C=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=_;var B=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=B;var O=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=O;var S=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=L;var x=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=x;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=M;var F=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=F;var H=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHourInDay=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=k;var j=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=Q;var W=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=z;var K=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=Z;var $=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=$;var ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=te;var ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=se;var oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMinuteInHour=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Ce;var _e=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Le;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=xe;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=Me;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSecondInMinute=Fe;var He=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ue;var Ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=Ke;var Ye=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=Ye;var Xe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=Xe;var qe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=qe;var Je=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=Je;var Ze=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=at;var st=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=st;var ot=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=ot;var lt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=lt;var ut=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=ut;var ct=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcYearNumber=At;var dt=P((function e(){b(this,e)}));dt.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},dt.COMPLETION_G1={type:3,value:"COMPLETION_G1"},dt.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},dt.SNOW_S={type:3,value:"SNOW_S"},dt.WIND_W={type:3,value:"WIND_W"},dt.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},dt.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},dt.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},dt.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},dt.FIRE={type:3,value:"FIRE"},dt.IMPULSE={type:3,value:"IMPULSE"},dt.IMPACT={type:3,value:"IMPACT"},dt.TRANSPORT={type:3,value:"TRANSPORT"},dt.ERECTION={type:3,value:"ERECTION"},dt.PROPPING={type:3,value:"PROPPING"},dt.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},dt.SHRINKAGE={type:3,value:"SHRINKAGE"},dt.CREEP={type:3,value:"CREEP"},dt.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},dt.BUOYANCY={type:3,value:"BUOYANCY"},dt.ICE={type:3,value:"ICE"},dt.CURRENT={type:3,value:"CURRENT"},dt.WAVE={type:3,value:"WAVE"},dt.RAIN={type:3,value:"RAIN"},dt.BRAKES={type:3,value:"BRAKES"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=dt;var vt=P((function e(){b(this,e)}));vt.PERMANENT_G={type:3,value:"PERMANENT_G"},vt.VARIABLE_Q={type:3,value:"VARIABLE_Q"},vt.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=vt;var ht=P((function e(){b(this,e)}));ht.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},ht.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},ht.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},ht.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},ht.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=ht;var It=P((function e(){b(this,e)}));It.OFFICE={type:3,value:"OFFICE"},It.SITE={type:3,value:"SITE"},It.HOME={type:3,value:"HOME"},It.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},It.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=It;var yt=P((function e(){b(this,e)}));yt.AHEAD={type:3,value:"AHEAD"},yt.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=yt;var mt=P((function e(){b(this,e)}));mt.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},mt.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},mt.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=mt;var wt=P((function e(){b(this,e)}));wt.GRILLE={type:3,value:"GRILLE"},wt.REGISTER={type:3,value:"REGISTER"},wt.DIFFUSER={type:3,value:"DIFFUSER"},wt.EYEBALL={type:3,value:"EYEBALL"},wt.IRIS={type:3,value:"IRIS"},wt.LINEARGRILLE={type:3,value:"LINEARGRILLE"},wt.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=wt;var gt=P((function e(){b(this,e)}));gt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},gt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},gt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},gt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},gt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},gt.HEATPIPE={type:3,value:"HEATPIPE"},gt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},gt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},gt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=gt;var Et=P((function e(){b(this,e)}));Et.BELL={type:3,value:"BELL"},Et.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Et.LIGHT={type:3,value:"LIGHT"},Et.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Et.SIREN={type:3,value:"SIREN"},Et.WHISTLE={type:3,value:"WHISTLE"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Et;var Tt=P((function e(){b(this,e)}));Tt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Tt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Tt.LOADING_3D={type:3,value:"LOADING_3D"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Tt;var bt=P((function e(){b(this,e)}));bt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},bt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},bt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},bt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=bt;var Dt=P((function e(){b(this,e)}));Dt.ADD={type:3,value:"ADD"},Dt.DIVIDE={type:3,value:"DIVIDE"},Dt.MULTIPLY={type:3,value:"MULTIPLY"},Dt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Dt;var Pt=P((function e(){b(this,e)}));Pt.SITE={type:3,value:"SITE"},Pt.FACTORY={type:3,value:"FACTORY"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Pt;var Rt=P((function e(){b(this,e)}));Rt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},Rt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},Rt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},Rt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},Rt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},Rt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=Rt;var Ct=P((function e(){b(this,e)}));Ct.BEAM={type:3,value:"BEAM"},Ct.JOIST={type:3,value:"JOIST"},Ct.LINTEL={type:3,value:"LINTEL"},Ct.T_BEAM={type:3,value:"T_BEAM"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.GREATERTHAN={type:3,value:"GREATERTHAN"},_t.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},_t.LESSTHAN={type:3,value:"LESSTHAN"},_t.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},_t.EQUALTO={type:3,value:"EQUALTO"},_t.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.WATER={type:3,value:"WATER"},Bt.STEAM={type:3,value:"STEAM"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.UNION={type:3,value:"UNION"},Ot.INTERSECTION={type:3,value:"INTERSECTION"},Ot.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=Ot;var St=P((function e(){b(this,e)}));St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.BEND={type:3,value:"BEND"},Nt.CROSS={type:3,value:"CROSS"},Nt.REDUCER={type:3,value:"REDUCER"},Nt.TEE={type:3,value:"TEE"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Lt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Lt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Lt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Lt;var xt=P((function e(){b(this,e)}));xt.CABLESEGMENT={type:3,value:"CABLESEGMENT"},xt.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=xt;var Mt=P((function e(){b(this,e)}));Mt.NOCHANGE={type:3,value:"NOCHANGE"},Mt.MODIFIED={type:3,value:"MODIFIED"},Mt.ADDED={type:3,value:"ADDED"},Mt.DELETED={type:3,value:"DELETED"},Mt.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},Mt.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=Mt;var Ft=P((function e(){b(this,e)}));Ft.AIRCOOLED={type:3,value:"AIRCOOLED"},Ft.WATERCOOLED={type:3,value:"WATERCOOLED"},Ft.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},Ht.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},Ht.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},Ht.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},Ht.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},Ht.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.COLUMN={type:3,value:"COLUMN"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.DYNAMIC={type:3,value:"DYNAMIC"},Gt.RECIPROCATING={type:3,value:"RECIPROCATING"},Gt.ROTARY={type:3,value:"ROTARY"},Gt.SCROLL={type:3,value:"SCROLL"},Gt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Gt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Gt.BOOSTER={type:3,value:"BOOSTER"},Gt.OPENTYPE={type:3,value:"OPENTYPE"},Gt.HERMETIC={type:3,value:"HERMETIC"},Gt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Gt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Gt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Gt.ROTARYVANE={type:3,value:"ROTARYVANE"},Gt.SINGLESCREW={type:3,value:"SINGLESCREW"},Gt.TWINSCREW={type:3,value:"TWINSCREW"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},kt.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},kt.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},kt.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},kt.AIRCOOLED={type:3,value:"AIRCOOLED"},kt.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ATPATH={type:3,value:"ATPATH"},jt.ATSTART={type:3,value:"ATSTART"},jt.ATEND={type:3,value:"ATEND"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.HARD={type:3,value:"HARD"},Vt.SOFT={type:3,value:"SOFT"},Vt.ADVISORY={type:3,value:"ADVISORY"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FLOATING={type:3,value:"FLOATING"},Qt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Qt.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},Qt.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},Qt.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},Qt.TWOPOSITION={type:3,value:"TWOPOSITION"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.ACTIVE={type:3,value:"ACTIVE"},Wt.PASSIVE={type:3,value:"PASSIVE"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.NATURALDRAFT={type:3,value:"NATURALDRAFT"},zt.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},zt.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=zt;var Kt=P((function e(){b(this,e)}));Kt.BUDGET={type:3,value:"BUDGET"},Kt.COSTPLAN={type:3,value:"COSTPLAN"},Kt.ESTIMATE={type:3,value:"ESTIMATE"},Kt.TENDER={type:3,value:"TENDER"},Kt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Kt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Kt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.CEILING={type:3,value:"CEILING"},Yt.FLOORING={type:3,value:"FLOORING"},Yt.CLADDING={type:3,value:"CLADDING"},Yt.ROOFING={type:3,value:"ROOFING"},Yt.INSULATION={type:3,value:"INSULATION"},Yt.MEMBRANE={type:3,value:"MEMBRANE"},Yt.SLEEVING={type:3,value:"SLEEVING"},Yt.WRAPPING={type:3,value:"WRAPPING"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.AED={type:3,value:"AED"},Xt.AES={type:3,value:"AES"},Xt.ATS={type:3,value:"ATS"},Xt.AUD={type:3,value:"AUD"},Xt.BBD={type:3,value:"BBD"},Xt.BEG={type:3,value:"BEG"},Xt.BGL={type:3,value:"BGL"},Xt.BHD={type:3,value:"BHD"},Xt.BMD={type:3,value:"BMD"},Xt.BND={type:3,value:"BND"},Xt.BRL={type:3,value:"BRL"},Xt.BSD={type:3,value:"BSD"},Xt.BWP={type:3,value:"BWP"},Xt.BZD={type:3,value:"BZD"},Xt.CAD={type:3,value:"CAD"},Xt.CBD={type:3,value:"CBD"},Xt.CHF={type:3,value:"CHF"},Xt.CLP={type:3,value:"CLP"},Xt.CNY={type:3,value:"CNY"},Xt.CYS={type:3,value:"CYS"},Xt.CZK={type:3,value:"CZK"},Xt.DDP={type:3,value:"DDP"},Xt.DEM={type:3,value:"DEM"},Xt.DKK={type:3,value:"DKK"},Xt.EGL={type:3,value:"EGL"},Xt.EST={type:3,value:"EST"},Xt.EUR={type:3,value:"EUR"},Xt.FAK={type:3,value:"FAK"},Xt.FIM={type:3,value:"FIM"},Xt.FJD={type:3,value:"FJD"},Xt.FKP={type:3,value:"FKP"},Xt.FRF={type:3,value:"FRF"},Xt.GBP={type:3,value:"GBP"},Xt.GIP={type:3,value:"GIP"},Xt.GMD={type:3,value:"GMD"},Xt.GRX={type:3,value:"GRX"},Xt.HKD={type:3,value:"HKD"},Xt.HUF={type:3,value:"HUF"},Xt.ICK={type:3,value:"ICK"},Xt.IDR={type:3,value:"IDR"},Xt.ILS={type:3,value:"ILS"},Xt.INR={type:3,value:"INR"},Xt.IRP={type:3,value:"IRP"},Xt.ITL={type:3,value:"ITL"},Xt.JMD={type:3,value:"JMD"},Xt.JOD={type:3,value:"JOD"},Xt.JPY={type:3,value:"JPY"},Xt.KES={type:3,value:"KES"},Xt.KRW={type:3,value:"KRW"},Xt.KWD={type:3,value:"KWD"},Xt.KYD={type:3,value:"KYD"},Xt.LKR={type:3,value:"LKR"},Xt.LUF={type:3,value:"LUF"},Xt.MTL={type:3,value:"MTL"},Xt.MUR={type:3,value:"MUR"},Xt.MXN={type:3,value:"MXN"},Xt.MYR={type:3,value:"MYR"},Xt.NLG={type:3,value:"NLG"},Xt.NZD={type:3,value:"NZD"},Xt.OMR={type:3,value:"OMR"},Xt.PGK={type:3,value:"PGK"},Xt.PHP={type:3,value:"PHP"},Xt.PKR={type:3,value:"PKR"},Xt.PLN={type:3,value:"PLN"},Xt.PTN={type:3,value:"PTN"},Xt.QAR={type:3,value:"QAR"},Xt.RUR={type:3,value:"RUR"},Xt.SAR={type:3,value:"SAR"},Xt.SCR={type:3,value:"SCR"},Xt.SEK={type:3,value:"SEK"},Xt.SGD={type:3,value:"SGD"},Xt.SKP={type:3,value:"SKP"},Xt.THB={type:3,value:"THB"},Xt.TRL={type:3,value:"TRL"},Xt.TTD={type:3,value:"TTD"},Xt.TWD={type:3,value:"TWD"},Xt.USD={type:3,value:"USD"},Xt.VEB={type:3,value:"VEB"},Xt.VND={type:3,value:"VND"},Xt.XEU={type:3,value:"XEU"},Xt.ZAR={type:3,value:"ZAR"},Xt.ZWD={type:3,value:"ZWD"},Xt.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Jt.FIREDAMPER={type:3,value:"FIREDAMPER"},Jt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Jt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Jt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Jt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Jt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Jt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Jt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Jt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Jt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.MEASURED={type:3,value:"MEASURED"},Zt.PREDICTED={type:3,value:"PREDICTED"},Zt.SIMULATED={type:3,value:"SIMULATED"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Zt;var $t=P((function e(){b(this,e)}));$t.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},$t.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},$t.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},$t.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},$t.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},$t.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},$t.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},$t.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},$t.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},$t.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},$t.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},$t.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},$t.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},$t.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},$t.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},$t.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},$t.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},$t.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},$t.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},$t.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},$t.TORQUEUNIT={type:3,value:"TORQUEUNIT"},$t.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},$t.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},$t.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},$t.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},$t.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},$t.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},$t.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},$t.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},$t.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},$t.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},$t.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},$t.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},$t.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},$t.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},$t.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},$t.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},$t.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},$t.PHUNIT={type:3,value:"PHUNIT"},$t.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},$t.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},$t.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},$t.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},$t.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},$t.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},$t.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},$t.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},$t.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},$t.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=$t;var en=P((function e(){b(this,e)}));en.ORIGIN={type:3,value:"ORIGIN"},en.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=en;var tn=P((function e(){b(this,e)}));tn.POSITIVE={type:3,value:"POSITIVE"},tn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=tn;var nn=P((function e(){b(this,e)}));nn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},nn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},nn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},nn.MANHOLE={type:3,value:"MANHOLE"},nn.METERCHAMBER={type:3,value:"METERCHAMBER"},nn.SUMP={type:3,value:"SUMP"},nn.TRENCH={type:3,value:"TRENCH"},nn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.PUBLIC={type:3,value:"PUBLIC"},rn.RESTRICTED={type:3,value:"RESTRICTED"},rn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},rn.PERSONAL={type:3,value:"PERSONAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=rn;var an=P((function e(){b(this,e)}));an.DRAFT={type:3,value:"DRAFT"},an.FINALDRAFT={type:3,value:"FINALDRAFT"},an.FINAL={type:3,value:"FINAL"},an.REVISION={type:3,value:"REVISION"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=an;var sn=P((function e(){b(this,e)}));sn.SWINGING={type:3,value:"SWINGING"},sn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},sn.SLIDING={type:3,value:"SLIDING"},sn.FOLDING={type:3,value:"FOLDING"},sn.REVOLVING={type:3,value:"REVOLVING"},sn.ROLLINGUP={type:3,value:"ROLLINGUP"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=sn;var on=P((function e(){b(this,e)}));on.LEFT={type:3,value:"LEFT"},on.MIDDLE={type:3,value:"MIDDLE"},on.RIGHT={type:3,value:"RIGHT"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=on;var ln=P((function e(){b(this,e)}));ln.ALUMINIUM={type:3,value:"ALUMINIUM"},ln.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ln.STEEL={type:3,value:"STEEL"},ln.WOOD={type:3,value:"WOOD"},ln.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ln.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},ln.PLASTIC={type:3,value:"PLASTIC"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=ln;var un=P((function e(){b(this,e)}));un.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},un.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},un.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},un.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},un.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},un.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},un.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},un.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},un.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},un.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},un.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},un.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},un.REVOLVING={type:3,value:"REVOLVING"},un.ROLLINGUP={type:3,value:"ROLLINGUP"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=un;var cn=P((function e(){b(this,e)}));cn.BEND={type:3,value:"BEND"},cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},fn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.FLATOVAL={type:3,value:"FLATOVAL"},pn.RECTANGULAR={type:3,value:"RECTANGULAR"},pn.ROUND={type:3,value:"ROUND"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=pn;var An=P((function e(){b(this,e)}));An.COMPUTER={type:3,value:"COMPUTER"},An.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},An.DISHWASHER={type:3,value:"DISHWASHER"},An.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},An.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},An.FACSIMILE={type:3,value:"FACSIMILE"},An.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},An.FREEZER={type:3,value:"FREEZER"},An.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},An.HANDDRYER={type:3,value:"HANDDRYER"},An.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},An.MICROWAVE={type:3,value:"MICROWAVE"},An.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},An.PRINTER={type:3,value:"PRINTER"},An.REFRIGERATOR={type:3,value:"REFRIGERATOR"},An.RADIANTHEATER={type:3,value:"RADIANTHEATER"},An.SCANNER={type:3,value:"SCANNER"},An.TELEPHONE={type:3,value:"TELEPHONE"},An.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},An.TV={type:3,value:"TV"},An.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},An.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},An.WATERHEATER={type:3,value:"WATERHEATER"},An.WATERCOOLER={type:3,value:"WATERCOOLER"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.ALTERNATING={type:3,value:"ALTERNATING"},dn.DIRECT={type:3,value:"DIRECT"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=dn;var vn=P((function e(){b(this,e)}));vn.ALARMPANEL={type:3,value:"ALARMPANEL"},vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},vn.CONTROLPANEL={type:3,value:"CONTROLPANEL"},vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},vn.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},vn.INDICATORPANEL={type:3,value:"INDICATORPANEL"},vn.MIMICPANEL={type:3,value:"MIMICPANEL"},vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=vn;var hn=P((function e(){b(this,e)}));hn.BATTERY={type:3,value:"BATTERY"},hn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},hn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},hn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},hn.UPS={type:3,value:"UPS"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=hn;var In=P((function e(){b(this,e)}));In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},yn.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},yn.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.DC={type:3,value:"DC"},mn.INDUCTION={type:3,value:"INDUCTION"},mn.POLYPHASE={type:3,value:"POLYPHASE"},mn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},mn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.TIMECLOCK={type:3,value:"TIMECLOCK"},wn.TIMEDELAY={type:3,value:"TIMEDELAY"},wn.RELAY={type:3,value:"RELAY"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},gn.ARCH={type:3,value:"ARCH"},gn.BEAM_GRID={type:3,value:"BEAM_GRID"},gn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},gn.GIRDER={type:3,value:"GIRDER"},gn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},gn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},gn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},gn.TRUSS={type:3,value:"TRUSS"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=gn;var En=P((function e(){b(this,e)}));En.COMPLEX={type:3,value:"COMPLEX"},En.ELEMENT={type:3,value:"ELEMENT"},En.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=En;var Tn=P((function e(){b(this,e)}));Tn.PRIMARY={type:3,value:"PRIMARY"},Tn.SECONDARY={type:3,value:"SECONDARY"},Tn.TERTIARY={type:3,value:"TERTIARY"},Tn.AUXILIARY={type:3,value:"AUXILIARY"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=Tn;var bn=P((function e(){b(this,e)}));bn.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},bn.DISPOSAL={type:3,value:"DISPOSAL"},bn.EXTRACTION={type:3,value:"EXTRACTION"},bn.INSTALLATION={type:3,value:"INSTALLATION"},bn.MANUFACTURE={type:3,value:"MANUFACTURE"},bn.TRANSPORTATION={type:3,value:"TRANSPORTATION"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Dn.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Dn.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Dn.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Dn.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Dn.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Dn.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Pn.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Pn.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Pn.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Pn.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Rn.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Rn.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Rn.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Rn.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Rn.VANEAXIAL={type:3,value:"VANEAXIAL"},Rn.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Cn.ODORFILTER={type:3,value:"ODORFILTER"},Cn.OILFILTER={type:3,value:"OILFILTER"},Cn.STRAINER={type:3,value:"STRAINER"},Cn.WATERFILTER={type:3,value:"WATERFILTER"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.BREECHINGINLET={type:3,value:"BREECHINGINLET"},_n.FIREHYDRANT={type:3,value:"FIREHYDRANT"},_n.HOSEREEL={type:3,value:"HOSEREEL"},_n.SPRINKLER={type:3,value:"SPRINKLER"},_n.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.SOURCE={type:3,value:"SOURCE"},Bn.SINK={type:3,value:"SINK"},Bn.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Bn;var On=P((function e(){b(this,e)}));On.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},On.THERMOMETER={type:3,value:"THERMOMETER"},On.AMMETER={type:3,value:"AMMETER"},On.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},On.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},On.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},On.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},On.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Sn.ENERGYMETER={type:3,value:"ENERGYMETER"},Sn.FLOWMETER={type:3,value:"FLOWMETER"},Sn.GASMETER={type:3,value:"GASMETER"},Sn.OILMETER={type:3,value:"OILMETER"},Sn.WATERMETER={type:3,value:"WATERMETER"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Nn.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Nn.PILE_CAP={type:3,value:"PILE_CAP"},Nn.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ln.GASBOOSTER={type:3,value:"GASBOOSTER"},Ln.GASBURNER={type:3,value:"GASBURNER"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ln;var xn=P((function e(){b(this,e)}));xn.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},xn.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},xn.MODEL_VIEW={type:3,value:"MODEL_VIEW"},xn.PLAN_VIEW={type:3,value:"PLAN_VIEW"},xn.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},xn.SECTION_VIEW={type:3,value:"SECTION_VIEW"},xn.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=xn;var Mn=P((function e(){b(this,e)}));Mn.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Mn.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Mn;var Fn=P((function e(){b(this,e)}));Fn.PLATE={type:3,value:"PLATE"},Fn.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hn.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hn.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hn.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hn.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hn.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hn.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hn.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hn.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hn.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hn.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hn.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hn.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.INTERNAL={type:3,value:"INTERNAL"},Un.EXTERNAL={type:3,value:"EXTERNAL"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Gn.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Gn.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Gn;var kn=P((function e(){b(this,e)}));kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},jn.FLUORESCENT={type:3,value:"FLUORESCENT"},jn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},jn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},jn.METALHALIDE={type:3,value:"METALHALIDE"},jn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.AXIS1={type:3,value:"AXIS1"},Vn.AXIS2={type:3,value:"AXIS2"},Vn.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.TYPE_A={type:3,value:"TYPE_A"},Qn.TYPE_B={type:3,value:"TYPE_B"},Qn.TYPE_C={type:3,value:"TYPE_C"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Wn.FLUORESCENT={type:3,value:"FLUORESCENT"},Wn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Wn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Wn.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Wn.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Wn.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Wn.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Wn.METALHALIDE={type:3,value:"METALHALIDE"},Wn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Wn;var zn=P((function e(){b(this,e)}));zn.POINTSOURCE={type:3,value:"POINTSOURCE"},zn.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Kn.LOAD_CASE={type:3,value:"LOAD_CASE"},Kn.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},Kn.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.LOGICALAND={type:3,value:"LOGICALAND"},Yn.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.BRACE={type:3,value:"BRACE"},Xn.CHORD={type:3,value:"CHORD"},Xn.COLLAR={type:3,value:"COLLAR"},Xn.MEMBER={type:3,value:"MEMBER"},Xn.MULLION={type:3,value:"MULLION"},Xn.PLATE={type:3,value:"PLATE"},Xn.POST={type:3,value:"POST"},Xn.PURLIN={type:3,value:"PURLIN"},Xn.RAFTER={type:3,value:"RAFTER"},Xn.STRINGER={type:3,value:"STRINGER"},Xn.STRUT={type:3,value:"STRUT"},Xn.STUD={type:3,value:"STUD"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.BELTDRIVE={type:3,value:"BELTDRIVE"},qn.COUPLING={type:3,value:"COUPLING"},qn.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.NULL={type:3,value:"NULL"},e.IfcNullStyle=Jn;var Zn=P((function e(){b(this,e)}));Zn.PRODUCT={type:3,value:"PRODUCT"},Zn.PROCESS={type:3,value:"PROCESS"},Zn.CONTROL={type:3,value:"CONTROL"},Zn.RESOURCE={type:3,value:"RESOURCE"},Zn.ACTOR={type:3,value:"ACTOR"},Zn.GROUP={type:3,value:"GROUP"},Zn.PROJECT={type:3,value:"PROJECT"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},$n.DESIGNINTENT={type:3,value:"DESIGNINTENT"},$n.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},$n.REQUIREMENT={type:3,value:"REQUIREMENT"},$n.SPECIFICATION={type:3,value:"SPECIFICATION"},$n.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=$n;var er=P((function e(){b(this,e)}));er.ASSIGNEE={type:3,value:"ASSIGNEE"},er.ASSIGNOR={type:3,value:"ASSIGNOR"},er.LESSEE={type:3,value:"LESSEE"},er.LESSOR={type:3,value:"LESSOR"},er.LETTINGAGENT={type:3,value:"LETTINGAGENT"},er.OWNER={type:3,value:"OWNER"},er.TENANT={type:3,value:"TENANT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},tr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},tr.POWEROUTLET={type:3,value:"POWEROUTLET"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.GRILL={type:3,value:"GRILL"},nr.LOUVER={type:3,value:"LOUVER"},nr.SCREEN={type:3,value:"SCREEN"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=nr;var rr=P((function e(){b(this,e)}));rr.PHYSICAL={type:3,value:"PHYSICAL"},rr.VIRTUAL={type:3,value:"VIRTUAL"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=rr;var ir=P((function e(){b(this,e)}));ir.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},ir.COMPOSITE={type:3,value:"COMPOSITE"},ir.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},ir.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=ir;var ar=P((function e(){b(this,e)}));ar.COHESION={type:3,value:"COHESION"},ar.FRICTION={type:3,value:"FRICTION"},ar.SUPPORT={type:3,value:"SUPPORT"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.BEND={type:3,value:"BEND"},sr.CONNECTOR={type:3,value:"CONNECTOR"},sr.ENTRY={type:3,value:"ENTRY"},sr.EXIT={type:3,value:"EXIT"},sr.JUNCTION={type:3,value:"JUNCTION"},sr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},sr.TRANSITION={type:3,value:"TRANSITION"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=sr;var or=P((function e(){b(this,e)}));or.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},or.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},or.GUTTER={type:3,value:"GUTTER"},or.SPOOL={type:3,value:"SPOOL"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},lr.SHEET={type:3,value:"SHEET"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},ur.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},ur.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},ur.CALIBRATION={type:3,value:"CALIBRATION"},ur.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},ur.SHUTDOWN={type:3,value:"SHUTDOWN"},ur.STARTUP={type:3,value:"STARTUP"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CURVE={type:3,value:"CURVE"},cr.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CHANGE={type:3,value:"CHANGE"},fr.MAINTENANCE={type:3,value:"MAINTENANCE"},fr.MOVE={type:3,value:"MOVE"},fr.PURCHASE={type:3,value:"PURCHASE"},fr.WORK={type:3,value:"WORK"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHANGEORDER={type:3,value:"CHANGEORDER"},pr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},pr.MOVEORDER={type:3,value:"MOVEORDER"},pr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},pr.WORKORDER={type:3,value:"WORKORDER"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ar.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ar;var dr=P((function e(){b(this,e)}));dr.DESIGN={type:3,value:"DESIGN"},dr.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},dr.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},dr.SIMULATED={type:3,value:"SIMULATED"},dr.ASBUILT={type:3,value:"ASBUILT"},dr.COMMISSIONING={type:3,value:"COMMISSIONING"},dr.MEASURED={type:3,value:"MEASURED"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=dr;var vr=P((function e(){b(this,e)}));vr.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},vr.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},vr.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},vr.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},vr.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},vr.VARISTOR={type:3,value:"VARISTOR"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.CIRCULATOR={type:3,value:"CIRCULATOR"},hr.ENDSUCTION={type:3,value:"ENDSUCTION"},hr.SPLITCASE={type:3,value:"SPLITCASE"},hr.VERTICALINLINE={type:3,value:"VERTICALINLINE"},hr.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.HANDRAIL={type:3,value:"HANDRAIL"},Ir.GUARDRAIL={type:3,value:"GUARDRAIL"},Ir.BALUSTRADE={type:3,value:"BALUSTRADE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STRAIGHT={type:3,value:"STRAIGHT"},yr.SPIRAL={type:3,value:"SPIRAL"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},mr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},mr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},mr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},mr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},mr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.BLINN={type:3,value:"BLINN"},wr.FLAT={type:3,value:"FLAT"},wr.GLASS={type:3,value:"GLASS"},wr.MATT={type:3,value:"MATT"},wr.METAL={type:3,value:"METAL"},wr.MIRROR={type:3,value:"MIRROR"},wr.PHONG={type:3,value:"PHONG"},wr.PLASTIC={type:3,value:"PLASTIC"},wr.STRAUSS={type:3,value:"STRAUSS"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=wr;var gr=P((function e(){b(this,e)}));gr.MAIN={type:3,value:"MAIN"},gr.SHEAR={type:3,value:"SHEAR"},gr.LIGATURE={type:3,value:"LIGATURE"},gr.STUD={type:3,value:"STUD"},gr.PUNCHING={type:3,value:"PUNCHING"},gr.EDGE={type:3,value:"EDGE"},gr.RING={type:3,value:"RING"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=gr;var Er=P((function e(){b(this,e)}));Er.PLAIN={type:3,value:"PLAIN"},Er.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CONSUMED={type:3,value:"CONSUMED"},Tr.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},Tr.NOTCONSUMED={type:3,value:"NOTCONSUMED"},Tr.OCCUPIED={type:3,value:"OCCUPIED"},Tr.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},Tr.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=Tr;var br=P((function e(){b(this,e)}));br.DIRECTION_X={type:3,value:"DIRECTION_X"},br.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=br;var Dr=P((function e(){b(this,e)}));Dr.SUPPLIER={type:3,value:"SUPPLIER"},Dr.MANUFACTURER={type:3,value:"MANUFACTURER"},Dr.CONTRACTOR={type:3,value:"CONTRACTOR"},Dr.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Dr.ARCHITECT={type:3,value:"ARCHITECT"},Dr.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Dr.COSTENGINEER={type:3,value:"COSTENGINEER"},Dr.CLIENT={type:3,value:"CLIENT"},Dr.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Dr.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Dr.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Dr.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Dr.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Dr.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Dr.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Dr.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},Dr.ENGINEER={type:3,value:"ENGINEER"},Dr.OWNER={type:3,value:"OWNER"},Dr.CONSULTANT={type:3,value:"CONSULTANT"},Dr.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Dr.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Dr.RESELLER={type:3,value:"RESELLER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Pr.SHED_ROOF={type:3,value:"SHED_ROOF"},Pr.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Pr.HIP_ROOF={type:3,value:"HIP_ROOF"},Pr.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Pr.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Pr.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Pr.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Pr.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Pr.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Pr.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Pr.DOME_ROOF={type:3,value:"DOME_ROOF"},Pr.FREEFORM={type:3,value:"FREEFORM"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.EXA={type:3,value:"EXA"},Rr.PETA={type:3,value:"PETA"},Rr.TERA={type:3,value:"TERA"},Rr.GIGA={type:3,value:"GIGA"},Rr.MEGA={type:3,value:"MEGA"},Rr.KILO={type:3,value:"KILO"},Rr.HECTO={type:3,value:"HECTO"},Rr.DECA={type:3,value:"DECA"},Rr.DECI={type:3,value:"DECI"},Rr.CENTI={type:3,value:"CENTI"},Rr.MILLI={type:3,value:"MILLI"},Rr.MICRO={type:3,value:"MICRO"},Rr.NANO={type:3,value:"NANO"},Rr.PICO={type:3,value:"PICO"},Rr.FEMTO={type:3,value:"FEMTO"},Rr.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMPERE={type:3,value:"AMPERE"},Cr.BECQUEREL={type:3,value:"BECQUEREL"},Cr.CANDELA={type:3,value:"CANDELA"},Cr.COULOMB={type:3,value:"COULOMB"},Cr.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Cr.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Cr.FARAD={type:3,value:"FARAD"},Cr.GRAM={type:3,value:"GRAM"},Cr.GRAY={type:3,value:"GRAY"},Cr.HENRY={type:3,value:"HENRY"},Cr.HERTZ={type:3,value:"HERTZ"},Cr.JOULE={type:3,value:"JOULE"},Cr.KELVIN={type:3,value:"KELVIN"},Cr.LUMEN={type:3,value:"LUMEN"},Cr.LUX={type:3,value:"LUX"},Cr.METRE={type:3,value:"METRE"},Cr.MOLE={type:3,value:"MOLE"},Cr.NEWTON={type:3,value:"NEWTON"},Cr.OHM={type:3,value:"OHM"},Cr.PASCAL={type:3,value:"PASCAL"},Cr.RADIAN={type:3,value:"RADIAN"},Cr.SECOND={type:3,value:"SECOND"},Cr.SIEMENS={type:3,value:"SIEMENS"},Cr.SIEVERT={type:3,value:"SIEVERT"},Cr.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Cr.STERADIAN={type:3,value:"STERADIAN"},Cr.TESLA={type:3,value:"TESLA"},Cr.VOLT={type:3,value:"VOLT"},Cr.WATT={type:3,value:"WATT"},Cr.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Cr;var _r=P((function e(){b(this,e)}));_r.BATH={type:3,value:"BATH"},_r.BIDET={type:3,value:"BIDET"},_r.CISTERN={type:3,value:"CISTERN"},_r.SHOWER={type:3,value:"SHOWER"},_r.SINK={type:3,value:"SINK"},_r.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},_r.TOILETPAN={type:3,value:"TOILETPAN"},_r.URINAL={type:3,value:"URINAL"},_r.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},_r.WCSEAT={type:3,value:"WCSEAT"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.UNIFORM={type:3,value:"UNIFORM"},Br.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.CO2SENSOR={type:3,value:"CO2SENSOR"},Or.FIRESENSOR={type:3,value:"FIRESENSOR"},Or.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Or.GASSENSOR={type:3,value:"GASSENSOR"},Or.HEATSENSOR={type:3,value:"HEATSENSOR"},Or.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Or.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Or.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Or.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Or.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Or.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Or.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Or.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.START_START={type:3,value:"START_START"},Sr.START_FINISH={type:3,value:"START_FINISH"},Sr.FINISH_START={type:3,value:"FINISH_START"},Sr.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Nr.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Nr.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Nr.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Nr.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Nr.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Nr.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Lr.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Lr.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Lr.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Lr.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=Lr;var xr=P((function e(){b(this,e)}));xr.FLOOR={type:3,value:"FLOOR"},xr.ROOF={type:3,value:"ROOF"},xr.LANDING={type:3,value:"LANDING"},xr.BASESLAB={type:3,value:"BASESLAB"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=xr;var Mr=P((function e(){b(this,e)}));Mr.DBA={type:3,value:"DBA"},Mr.DBB={type:3,value:"DBB"},Mr.DBC={type:3,value:"DBC"},Mr.NC={type:3,value:"NC"},Mr.NR={type:3,value:"NR"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=Mr;var Fr=P((function e(){b(this,e)}));Fr.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Fr.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Fr.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Fr.CONVECTOR={type:3,value:"CONVECTOR"},Fr.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Fr.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Fr.UNITHEATER={type:3,value:"UNITHEATER"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BIRDCAGE={type:3,value:"BIRDCAGE"},Ur.COWL={type:3,value:"COWL"},Ur.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.STRAIGHT={type:3,value:"STRAIGHT"},Gr.WINDER={type:3,value:"WINDER"},Gr.SPIRAL={type:3,value:"SPIRAL"},Gr.CURVED={type:3,value:"CURVED"},Gr.FREEFORM={type:3,value:"FREEFORM"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},kr.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},kr.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},kr.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},kr.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},kr.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},kr.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},kr.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},kr.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},kr.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},kr.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},kr.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},kr.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},kr.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.READWRITE={type:3,value:"READWRITE"},jr.READONLY={type:3,value:"READONLY"},jr.LOCKED={type:3,value:"LOCKED"},jr.READWRITELOCKED={type:3,value:"READWRITELOCKED"},jr.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Vr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Vr.CABLE={type:3,value:"CABLE"},Vr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Vr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Qr.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Qr.SHELL={type:3,value:"SHELL"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.POSITIVE={type:3,value:"POSITIVE"},Wr.NEGATIVE={type:3,value:"NEGATIVE"},Wr.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=Wr;var zr=P((function e(){b(this,e)}));zr.BUMP={type:3,value:"BUMP"},zr.OPACITY={type:3,value:"OPACITY"},zr.REFLECTION={type:3,value:"REFLECTION"},zr.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},zr.SHININESS={type:3,value:"SHININESS"},zr.SPECULAR={type:3,value:"SPECULAR"},zr.TEXTURE={type:3,value:"TEXTURE"},zr.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.CONTACTOR={type:3,value:"CONTACTOR"},Kr.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Kr.STARTER={type:3,value:"STARTER"},Kr.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Kr.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.PREFORMED={type:3,value:"PREFORMED"},Yr.SECTIONAL={type:3,value:"SECTIONAL"},Yr.EXPANSION={type:3,value:"EXPANSION"},Yr.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.STRAND={type:3,value:"STRAND"},Xr.WIRE={type:3,value:"WIRE"},Xr.BAR={type:3,value:"BAR"},Xr.COATED={type:3,value:"COATED"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.LEFT={type:3,value:"LEFT"},qr.RIGHT={type:3,value:"RIGHT"},qr.UP={type:3,value:"UP"},qr.DOWN={type:3,value:"DOWN"},e.IfcTextPath=qr;var Jr=P((function e(){b(this,e)}));Jr.PEOPLE={type:3,value:"PEOPLE"},Jr.LIGHTING={type:3,value:"LIGHTING"},Jr.EQUIPMENT={type:3,value:"EQUIPMENT"},Jr.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Jr.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Jr.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Jr.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Jr.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Jr.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Jr.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Jr.INFILTRATION={type:3,value:"INFILTRATION"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.SENSIBLE={type:3,value:"SENSIBLE"},Zr.LATENT={type:3,value:"LATENT"},Zr.RADIANT={type:3,value:"RADIANT"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CONTINUOUS={type:3,value:"CONTINUOUS"},$r.DISCRETE={type:3,value:"DISCRETE"},$r.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},$r.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},$r.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},$r.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},$r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.ANNUAL={type:3,value:"ANNUAL"},ei.MONTHLY={type:3,value:"MONTHLY"},ei.WEEKLY={type:3,value:"WEEKLY"},ei.DAILY={type:3,value:"DAILY"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.CURRENT={type:3,value:"CURRENT"},ti.FREQUENCY={type:3,value:"FREQUENCY"},ti.VOLTAGE={type:3,value:"VOLTAGE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},ni.CONTINUOUS={type:3,value:"CONTINUOUS"},ni.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ni.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=ni;var ri=P((function e(){b(this,e)}));ri.ELEVATOR={type:3,value:"ELEVATOR"},ri.ESCALATOR={type:3,value:"ESCALATOR"},ri.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.CARTESIAN={type:3,value:"CARTESIAN"},ii.PARAMETER={type:3,value:"PARAMETER"},ii.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ii;var ai=P((function e(){b(this,e)}));ai.FINNED={type:3,value:"FINNED"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ai;var si=P((function e(){b(this,e)}));si.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},si.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},si.AREAUNIT={type:3,value:"AREAUNIT"},si.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},si.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},si.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},si.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},si.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},si.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},si.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},si.ENERGYUNIT={type:3,value:"ENERGYUNIT"},si.FORCEUNIT={type:3,value:"FORCEUNIT"},si.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},si.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},si.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},si.LENGTHUNIT={type:3,value:"LENGTHUNIT"},si.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},si.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},si.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},si.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},si.MASSUNIT={type:3,value:"MASSUNIT"},si.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},si.POWERUNIT={type:3,value:"POWERUNIT"},si.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},si.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},si.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},si.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},si.TIMEUNIT={type:3,value:"TIMEUNIT"},si.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},si.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=si;var oi=P((function e(){b(this,e)}));oi.AIRHANDLER={type:3,value:"AIRHANDLER"},oi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},oi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},oi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=oi;var li=P((function e(){b(this,e)}));li.AIRRELEASE={type:3,value:"AIRRELEASE"},li.ANTIVACUUM={type:3,value:"ANTIVACUUM"},li.CHANGEOVER={type:3,value:"CHANGEOVER"},li.CHECK={type:3,value:"CHECK"},li.COMMISSIONING={type:3,value:"COMMISSIONING"},li.DIVERTING={type:3,value:"DIVERTING"},li.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},li.DOUBLECHECK={type:3,value:"DOUBLECHECK"},li.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},li.FAUCET={type:3,value:"FAUCET"},li.FLUSHING={type:3,value:"FLUSHING"},li.GASCOCK={type:3,value:"GASCOCK"},li.GASTAP={type:3,value:"GASTAP"},li.ISOLATING={type:3,value:"ISOLATING"},li.MIXING={type:3,value:"MIXING"},li.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},li.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},li.REGULATING={type:3,value:"REGULATING"},li.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},li.STEAMTRAP={type:3,value:"STEAMTRAP"},li.STOPCOCK={type:3,value:"STOPCOCK"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.COMPRESSION={type:3,value:"COMPRESSION"},ui.SPRING={type:3,value:"SPRING"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.STANDARD={type:3,value:"STANDARD"},ci.POLYGONAL={type:3,value:"POLYGONAL"},ci.SHEAR={type:3,value:"SHEAR"},ci.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},ci.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.FLOORTRAP={type:3,value:"FLOORTRAP"},fi.FLOORWASTE={type:3,value:"FLOORWASTE"},fi.GULLYSUMP={type:3,value:"GULLYSUMP"},fi.GULLYTRAP={type:3,value:"GULLYTRAP"},fi.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},fi.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},fi.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},fi.ROOFDRAIN={type:3,value:"ROOFDRAIN"},fi.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},fi.WASTETRAP={type:3,value:"WASTETRAP"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},pi.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},pi.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},pi.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},pi.TOPHUNG={type:3,value:"TOPHUNG"},pi.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},pi.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},pi.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},pi.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},pi.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},pi.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},pi.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},pi.OTHEROPERATION={type:3,value:"OTHEROPERATION"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.LEFT={type:3,value:"LEFT"},Ai.MIDDLE={type:3,value:"MIDDLE"},Ai.RIGHT={type:3,value:"RIGHT"},Ai.BOTTOM={type:3,value:"BOTTOM"},Ai.TOP={type:3,value:"TOP"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Ai;var di=P((function e(){b(this,e)}));di.ALUMINIUM={type:3,value:"ALUMINIUM"},di.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},di.STEEL={type:3,value:"STEEL"},di.WOOD={type:3,value:"WOOD"},di.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},di.PLASTIC={type:3,value:"PLASTIC"},di.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=di;var vi=P((function e(){b(this,e)}));vi.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},vi.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},vi.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},vi.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},vi.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},vi.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},vi.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},vi.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},vi.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=vi;var hi=P((function e(){b(this,e)}));hi.ACTUAL={type:3,value:"ACTUAL"},hi.BASELINE={type:3,value:"BASELINE"},hi.PLANNED={type:3,value:"PLANNED"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=hi;var Ii=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=Ii;var yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=yi;var mi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=mi;var wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.AppliedValue=a,u.UnitBasis=s,u.ApplicableDate=o,u.FixedUntilDate=l,u.type=411424972,u}return P(n)}();e.IfcAppliedValue=wi;var gi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ComponentOfTotal=r,l.Components=i,l.ArithmeticOperator=a,l.Name=s,l.Description=o,l.type=1110488051,l}return P(n)}();e.IfcAppliedValueRelationship=gi;var Ei=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Description=r,c.ApprovalDateTime=i,c.ApprovalStatus=a,c.ApprovalLevel=s,c.ApprovalQualifier=o,c.Name=l,c.Identifier=u,c.type=130549933,c}return P(n)}();e.IfcApproval=Ei;var Ti=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Actor=r,s.Approval=i,s.Role=a,s.type=2080292479,s}return P(n)}();e.IfcApprovalActorRelationship=Ti;var bi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ApprovedProperties=r,a.Approval=i,a.type=390851274,a}return P(n)}();e.IfcApprovalPropertyRelationship=bi;var Di=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatedApproval=r,o.RelatingApproval=i,o.Description=a,o.Name=s,o.type=3869604511,o}return P(n)}();e.IfcApprovalRelationship=Di;var Pi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=Pi;var Ri=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessByLengthX=i,c.LinearStiffnessByLengthY=a,c.LinearStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(Pi);e.IfcBoundaryEdgeCondition=Ri;var Ci=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.LinearStiffnessByAreaX=i,o.LinearStiffnessByAreaY=a,o.LinearStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(Pi);e.IfcBoundaryFaceCondition=Ci;var _i=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessX=i,c.LinearStiffnessY=a,c.LinearStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(Pi);e.IfcBoundaryNodeCondition=_i;var Bi=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.LinearStiffnessX=i,f.LinearStiffnessY=a,f.LinearStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(_i);e.IfcBoundaryNodeConditionWarping=Bi;var Oi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).DayComponent=r,s.MonthComponent=i,s.YearComponent=a,s.type=622194075,s}return P(n)}();e.IfcCalendarDate=Oi;var Si=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Source=r,o.Edition=i,o.EditionDate=a,o.Name=s,o.type=747523909,o}return P(n)}();e.IfcClassification=Si;var Ni=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Notation=r,s.ItemOf=i,s.Title=a,s.type=1767535486,s}return P(n)}();e.IfcClassificationItem=Ni;var Li=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelatingItem=r,a.RelatedItems=i,a.type=1098599126,a}return P(n)}();e.IfcClassificationItemRelationship=Li;var xi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationFacets=r,i.type=938368621,i}return P(n)}();e.IfcClassificationNotation=xi;var Mi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationValue=r,i.type=3639012971,i}return P(n)}();e.IfcClassificationNotationFacet=Mi;var Fi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}();e.IfcColourSpecification=Fi;var Hi=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=Hi;var Ui=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(Hi);e.IfcConnectionPointGeometry=Ui;var Gi=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).LocationAtRelatingElement=r,s.LocationAtRelatedElement=i,s.ProfileOfPort=a,s.type=4257277454,s}return P(n)}(Hi);e.IfcConnectionPortGeometry=Gi;var ki=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(Hi);e.IfcConnectionSurfaceGeometry=ki;var ji=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=ji;var Vi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.RelatingConstraint=a,l.RelatedConstraints=s,l.LogicalAggregator=o,l.type=1658513725,l}return P(n)}();e.IfcConstraintAggregationRelationship=Vi;var Qi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ClassifiedConstraint=r,a.RelatedClassifications=i,a.type=613356794,a}return P(n)}();e.IfcConstraintClassificationRelationship=Qi;var Wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedConstraints=s,o.type=347226245,o}return P(n)}();e.IfcConstraintRelationship=Wi;var zi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).HourOffset=r,s.MinuteOffset=i,s.Sense=a,s.type=1065062679,s}return P(n)}();e.IfcCoordinatedUniversalTimeOffset=zi;var Ki=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).Name=r,f.Description=i,f.AppliedValue=a,f.UnitBasis=s,f.ApplicableDate=o,f.FixedUntilDate=l,f.CostType=u,f.Condition=c,f.type=602808272,f}return P(n)}(wi);e.IfcCostValue=Ki;var Yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RelatingMonetaryUnit=r,l.RelatedMonetaryUnit=i,l.ExchangeRate=a,l.RateDateTime=s,l.RateSource=o,l.type=539742890,l}return P(n)}();e.IfcCurrencyRelationship=Yi;var Xi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}();e.IfcCurveStyleFont=Xi;var qi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}();e.IfcCurveStyleFontAndScaling=qi;var Ji=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}();e.IfcCurveStyleFontPattern=Ji;var Zi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).DateComponent=r,a.TimeComponent=i,a.type=1072939445,a}return P(n)}();e.IfcDateAndTime=Zi;var $i=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=$i;var ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=ea;var ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=ta;var na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).FileExtension=r,s.MimeContentType=i,s.MimeSubtype=a,s.type=1376555844,s}return P(n)}();e.IfcDocumentElectronicFormat=na;var ra=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).DocumentId=r,w.Name=i,w.Description=a,w.DocumentReferences=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}();e.IfcDocumentInformation=ra;var ia=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).RelatingDocument=r,s.RelatedDocuments=i,s.RelationshipType=a,s.type=770865208,s}return P(n)}();e.IfcDocumentInformationRelationship=ia;var aa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=3796139169,o}return P(n)}();e.IfcDraughtingCalloutRelationship=aa;var sa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).Name=r,p.Description=i,p.AppliedValue=a,p.UnitBasis=s,p.ApplicableDate=o,p.FixedUntilDate=l,p.ImpactType=u,p.Category=c,p.UserDefinedCategory=f,p.type=1648886627,p}return P(n)}(wi);e.IfcEnvironmentalImpactValue=sa;var oa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.ItemReference=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=oa;var la=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=2242383968,s}return P(n)}(oa);e.IfcExternallyDefinedHatchStyle=la;var ua=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=1040185647,s}return P(n)}(oa);e.IfcExternallyDefinedSurfaceStyle=ua;var ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3207319532,s}return P(n)}(oa);e.IfcExternallyDefinedSymbol=ca;var fa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3548104201,s}return P(n)}(oa);e.IfcExternallyDefinedTextFont=fa;var pa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=pa;var Aa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=Aa;var da=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Version=i,l.Publisher=a,l.VersionDate=s,l.LibraryReference=o,l.type=2655187982,l}return P(n)}();e.IfcLibraryInformation=da;var va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3452421091,s}return P(n)}(oa);e.IfcLibraryReference=va;var ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=ha;var Ia=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Ia;var ya=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HourComponent=r,l.MinuteComponent=i,l.SecondComponent=a,l.Zone=s,l.DaylightSavingOffset=o,l.type=30780891,l}return P(n)}();e.IfcLocalTime=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=1838606355,i}return P(n)}();e.IfcMaterial=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Material=r,s.LayerThickness=i,s.IsVentilated=a,s.type=248100487,s}return P(n)}();e.IfcMaterialLayer=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialLayers=r,a.LayerSetName=i,a.type=3303938423,a}return P(n)}();e.IfcMaterialLayerSet=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ForLayerSet=r,o.LayerSetDirection=i,o.DirectionSense=a,o.OffsetFromReferenceLine=s,o.type=1303795690,o}return P(n)}();e.IfcMaterialLayerSetUsage=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=ba;var Da=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Material=r,i.type=3265635763,i}return P(n)}();e.IfcMaterialProperties=Da;var Pa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.DynamicViscosity=i,u.YoungModulus=a,u.ShearModulus=s,u.PoissonRatio=o,u.ThermalExpansionCoefficient=l,u.type=4256014907,u}return P(n)}(Da);e.IfcMechanicalMaterialProperties=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).Material=r,h.DynamicViscosity=i,h.YoungModulus=a,h.ShearModulus=s,h.PoissonRatio=o,h.ThermalExpansionCoefficient=l,h.YieldStress=u,h.UltimateStress=c,h.UltimateStrain=f,h.HardeningModule=p,h.ProportionalStress=A,h.PlasticStrain=d,h.Relaxations=v,h.type=677618848,h}return P(n)}(Ra);e.IfcMechanicalSteelMaterialProperties=Ca;var _a=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).Name=r,A.Description=i,A.ConstraintGrade=a,A.ConstraintSource=s,A.CreatingActor=o,A.CreationTime=l,A.UserDefinedGrade=u,A.Benchmark=c,A.ValueSource=f,A.DataValue=p,A.type=3368373690,A}return P(n)}(ji);e.IfcMetric=_a;var Ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=Ba;var Oa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=Oa;var Sa=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=Sa;var Na=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.ResultValues=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(ji);e.IfcObjective=Na;var La=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r)).Material=r,A.VisibleTransmittance=i,A.SolarTransmittance=a,A.ThermalIrTransmittance=s,A.ThermalIrEmissivityBack=o,A.ThermalIrEmissivityFront=l,A.VisibleReflectanceBack=u,A.VisibleReflectanceFront=c,A.SolarReflectanceFront=f,A.SolarReflectanceBack=p,A.type=1227763645,A}return P(n)}(Da);e.IfcOpticalMaterialProperties=La;var xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Id=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=xa;var Ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}();e.IfcOrganizationRelationship=Ma;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Id=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=Ga;var ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(Ga);e.IfcPhysicalSimpleQuantity=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(yi);e.IfcPostalAddress=ja;var Va=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}();e.IfcPreDefinedItem=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=990879717,i}return P(n)}(Va);e.IfcPreDefinedSymbol=Qa;var Wa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=3213052703,i}return P(n)}(Qa);e.IfcPreDefinedTerminatorSymbol=Wa;var za=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(Va);e.IfcPreDefinedTextFont=za;var Ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Ka);e.IfcPresentationLayerWithStyle=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=qa;var Ja=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ja;var Za=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.N20Content=a,l.COContent=s,l.CO2Content=o,l.type=2267347899,l}return P(n)}(Da);e.IfcProductsOfCombustionProperties=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=$a;var es=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileName=r,a.ProfileDefinition=i,a.type=2802850158,a}return P(n)}();e.IfcProfileProperties=es;var ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}();e.IfcProperty=ts;var ns=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatingConstraint=r,o.RelatedProperties=i,o.Name=a,o.Description=s,o.type=3896028662,o}return P(n)}();e.IfcPropertyConstraintRelationship=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DependingProperty=r,l.DependantProperty=i,l.Name=a,l.Description=s,l.Expression=o,l.type=148025276,l}return P(n)}();e.IfcPropertyDependencyRelationship=rs;var is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}();e.IfcPropertyEnumeration=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.AreaValue=s,o.type=2044713172,o}return P(n)}(ka);e.IfcQuantityArea=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.CountValue=s,o.type=2093928680,o}return P(n)}(ka);e.IfcQuantityCount=ss;var os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.LengthValue=s,o.type=931644368,o}return P(n)}(ka);e.IfcQuantityLength=os;var ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.TimeValue=s,o.type=3252649465,o}return P(n)}(ka);e.IfcQuantityTime=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.VolumeValue=s,o.type=2405470396,o}return P(n)}(ka);e.IfcQuantityVolume=us;var cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.WeightValue=s,o.type=825690147,o}return P(n)}(ka);e.IfcQuantityWeight=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ReferencedDocument=r,o.ReferencingValues=i,o.Name=a,o.Description=s,o.type=2692823254,o}return P(n)}();e.IfcReferencesValueDocument=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}();e.IfcReinforcementBarProperties=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelaxationValue=r,a.InitialStress=i,a.type=1222501353,a}return P(n)}();e.IfcRelaxation=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=Is;var ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.Thickness=a,c.RibHeight=s,c.RibWidth=o,c.RibSpacing=l,c.Direction=u,c.type=3679540991,c}return P(n)}(es);e.IfcRibPlateProfileProperties=ys;var ms=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(Oa);e.IfcSIUnit=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}();e.IfcSectionProperties=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}();e.IfcSectionReinforcementProperties=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ts;var bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(ds);e.IfcShapeModel=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(bs);e.IfcShapeRepresentation=Ds;var Ps=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(ts);e.IfcSimpleProperty=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Cs;var _s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Cs);e.IfcStructuralLoadStatic=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaT_Constant=i,o.DeltaT_Y=a,o.DeltaT_Z=s,o.type=3408363356,o}return P(n)}(_s);e.IfcStructuralLoadTemperature=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(ds);e.IfcStyleModel=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(hs);e.IfcStyledItem=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(Os);e.IfcStyledRepresentation=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Xa);e.IfcSurfaceStyle=Ls;var xs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}();e.IfcSurfaceStyleLighting=xs;var Ms=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}();e.IfcSurfaceStyleRefraction=Ms;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SurfaceColour=r,i.type=846575682,i}return P(n)}();e.IfcSurfaceStyleShading=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}();e.IfcSurfaceStyleWithTextures=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RepeatS=r,o.RepeatT=i,o.TextureType=a,o.TextureTransform=s,o.type=626085974,o}return P(n)}();e.IfcSurfaceTexture=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.StyleOfSymbol=i,a.type=1290481447,a}return P(n)}(Xa);e.IfcSymbolStyle=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Rows=i,a.type=985171141,a}return P(n)}();e.IfcTable=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).Purpose=r,f.Description=i,f.UserDefinedPurpose=a,f.TelephoneNumbers=s,f.FacsimileNumbers=o,f.PagerNumber=l,f.ElectronicMailAddresses=u,f.WWWHomePageURL=c,f.type=912023232,f}return P(n)}(yi);e.IfcTelecomAddress=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TextCharacterAppearance=i,o.TextStyle=a,o.TextFontStyle=s,o.type=1447204868,o}return P(n)}(Xa);e.IfcTextStyle=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(za);e.IfcTextStyleFontModel=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}();e.IfcTextStyleForDefinedFont=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}();e.IfcTextStyleTextModel=Ks;var Ys=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BoxHeight=r,l.BoxWidth=i,l.BoxSlantAngle=a,l.BoxRotateAngle=s,l.CharacterSpacing=o,l.type=1484833681,l}return P(n)}();e.IfcTextStyleWithBoxCharacteristics=Ys;var Xs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=280115917,r}return P(n)}();e.IfcTextureCoordinate=Xs;var qs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Mode=r,a.Parameter=i,a.type=1742049831,a}return P(n)}(Xs);e.IfcTextureCoordinateGenerator=qs;var Js=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TextureMaps=r,i.type=2552916305,i}return P(n)}(Xs);e.IfcTextureMap=Js;var Zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}();e.IfcTextureVertex=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.BoilingPoint=a,l.FreezingPoint=s,l.ThermalConductivity=o,l.type=3317419933,l}return P(n)}(Da);e.IfcThermalMaterialProperties=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ReferencedTimeSeries=r,a.TimeSeriesReferences=i,a.type=1718945513,a}return P(n)}();e.IfcTimeSeriesReferenceRelationship=to;var no=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=no;var ro=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(hs);e.IfcTopologicalRepresentationItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(bs);e.IfcTopologyRepresentation=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=ao;var so=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(ro);e.IfcVertex=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TextureVertices=r,a.TexturePoints=i,a.type=3304826586,a}return P(n)}();e.IfcVertexBasedTextureMap=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(so);e.IfcVertexPoint=lo;var uo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r)).Material=r,f.IsPotable=i,f.Hardness=a,f.AlkalinityConcentration=s,f.AcidityConcentration=o,f.ImpuritiesContent=l,f.PHLevel=u,f.DissolvedSolidsContent=c,f.type=1065908215,f}return P(n)}(Da);e.IfcWaterProperties=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2442683028,s}return P(n)}(Ss);e.IfcAnnotationOccurrence=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=962685235,s}return P(n)}(fo);e.IfcAnnotationSurfaceOccurrence=po;var Ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3612888222,s}return P(n)}(fo);e.IfcAnnotationSymbolOccurrence=Ao;var vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2297822566,s}return P(n)}(fo);e.IfcAnnotationTextOccurrence=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}($a);e.IfcArbitraryClosedProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}($a);e.IfcArbitraryOpenProfileDef=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(ho);e.IfcArbitraryProfileDefWithVoids=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).RepeatS=r,u.RepeatT=i,u.TextureType=a,u.TextureTransform=s,u.RasterFormat=o,u.RasterCode=l,u.type=616511568,u}return P(n)}(Us);e.IfcBlobTexture=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Io);e.IfcCenterLineProfileDef=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Location=r,o.ItemReference=i,o.Name=a,o.ReferencedSource=s,o.type=647927063,o}return P(n)}(oa);e.IfcClassificationReference=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Fi);e.IfcColourRgb=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(ts);e.IfcComplexProperty=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}($a);e.IfcCompositeProfileDef=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(ro);e.IfcConnectedFaceSet=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(Hi);e.IfcConnectionCurveGeometry=Po;var Ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ui);e.IfcConnectionPointEccentricity=Ro;var Co=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(Oa);e.IfcContextDependentUnit=Co;var _o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(Oa);e.IfcConversionBasedUnit=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.CurveFont=i,o.CurveWidth=a,o.CurveColour=s,o.type=3800577675,o}return P(n)}(Xa);e.IfcCurveStyle=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}($a);e.IfcDerivedProfileDef=Oo;var So=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=2273265877,o}return P(n)}(aa);e.IfcDimensionCalloutRelationship=So;var No=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=1694125774,o}return P(n)}(aa);e.IfcDimensionPair=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3732053477,s}return P(n)}(oa);e.IfcDocumentReference=Lo;var xo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4170525392,i}return P(n)}(za);e.IfcDraughtingPreDefinedTextFont=xo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(ro);e.IfcEdge=Mo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(Mo);e.IfcEdgeCurve=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.ExtendedProperties=i,o.Description=a,o.Name=s,o.type=1860660968,o}return P(n)}(Da);e.IfcExtendedMaterialProperties=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(ro);e.IfcFace=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(ro);e.IfcFaceBound=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(Go);e.IfcFaceOuterBound=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(Uo);e.IfcFaceSurface=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Rs);e.IfcFailureConnectionCondition=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.FillStyles=i,a.type=738692330,a}return P(n)}(Xa);e.IfcFillAreaStyle=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.CombustionTemperature=i,l.CarbonContent=a,l.LowerHeatingValue=s,l.HigherHeatingValue=o,l.type=3857492461,l}return P(n)}(Da);e.IfcFuelProperties=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.MolecularWeight=i,o.Porosity=a,o.MassDensity=s,o.type=803998398,o}return P(n)}(Da);e.IfcGeneralMaterialProperties=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.PhysicalWeight=a,c.Perimeter=s,c.MinimumPlateThickness=o,c.MaximumPlateThickness=l,c.CrossSectionArea=u,c.type=1446786286,c}return P(n)}(es);e.IfcGeneralProfileProperties=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(vs);e.IfcGeometricRepresentationContext=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(hs);e.IfcGeometricRepresentationItem=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new h(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(Yo);e.IfcGeometricRepresentationSubContext=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(Xo);e.IfcGeometricSet=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(Sa);e.IfcGridPlacement=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(Xo);e.IfcHalfSpaceSolid=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.UpperVaporResistanceFactor=i,u.LowerVaporResistanceFactor=a,u.IsothermalMoistureCapacity=s,u.VaporPermeability=o,u.MoistureDiffusivity=l,u.type=2445078500,u}return P(n)}(Da);e.IfcHygroscopicMaterialProperties=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).RepeatS=r,l.RepeatT=i,l.TextureType=a,l.TextureTransform=s,l.UrlReference=o,l.type=3905492369,l}return P(n)}(Us);e.IfcImageTexture=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(eo);e.IfcIrregularTimeSeries=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(Xo);e.IfcLightSource=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(rl);e.IfcLightSourceAmbient=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(rl);e.IfcLightSourceDirectional=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(rl);e.IfcLightSourceGoniometric=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(rl);e.IfcLightSourcePositional=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(ol);e.IfcLightSourceSpot=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(Sa);e.IfcLocalPlacement=ul;var cl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(ro);e.IfcLoop=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(hs);e.IfcMappedItem=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ja);e.IfcMaterialDefinitionRepresentation=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l)).Material=r,v.DynamicViscosity=i,v.YoungModulus=a,v.ShearModulus=s,v.PoissonRatio=o,v.ThermalExpansionCoefficient=l,v.CompressiveStrength=u,v.MaxAggregateSize=c,v.AdmixturesDescription=f,v.Workability=p,v.ProtectivePoreRatio=A,v.WaterImpermeability=d,v.type=1430189142,v}return P(n)}(Ra);e.IfcMechanicalConcreteMaterialProperties=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(ms);e.IfcObjectDefinition=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).RepeatFactor=r,i.type=2833995503,i}return P(n)}(Xo);e.IfcOneDirectionRepeatFactor=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Do);e.IfcOpenShell=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(Mo);e.IfcOrientedEdge=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}($a);e.IfcParameterizedProfileDef=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(ro);e.IfcPath=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(Ga);e.IfcPhysicalComplexQuantity=wl;var gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).RepeatS=r,f.RepeatT=i,f.TextureType=a,f.TextureTransform=s,f.Width=o,f.Height=l,f.ColourComponents=u,f.Pixel=c,f.type=597895409,f}return P(n)}(Us);e.IfcPixelTexture=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(Xo);e.IfcPlacement=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(Xo);e.IfcPlanarExtent=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(Xo);e.IfcPoint=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(bl);e.IfcPointOnCurve=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(bl);e.IfcPointOnSurface=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(cl);e.IfcPolyLoop=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}($o);e.IfcPolygonalBoundedHalfSpace=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(Va);e.IfcPreDefinedColour=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(Va);e.IfcPreDefinedCurveFont=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=433424934,i}return P(n)}(Qa);e.IfcPreDefinedDimensionSymbol=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=179317114,i}return P(n)}(Qa);e.IfcPreDefinedPointMarkerSymbol=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ja);e.IfcProductDefinitionShape=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.UpperBoundValue=a,l.LowerBoundValue=s,l.Unit=o,l.type=871118103,l}return P(n)}(Ps);e.IfcPropertyBoundedValue=Ll;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(ms);e.IfcPropertyDefinition=xl;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Ps);e.IfcPropertyEnumeratedValue=Ml;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Ps);e.IfcPropertyListValue=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Ps);e.IfcPropertyReferenceValue=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(xl);e.IfcPropertySetDefinition=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Ps);e.IfcPropertySingleValue=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.DefiningValues=a,c.DefinedValues=s,c.Expression=o,c.DefiningUnit=l,c.DefinedUnit=u,c.type=110355661,c}return P(n)}(Ps);e.IfcPropertyTableValue=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(yl);e.IfcRectangleProfileDef=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(eo);e.IfcRegularTimeSeries=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Ul);e.IfcReinforcementDefinitionProperties=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(ms);e.IfcRelationship=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(jl);e.IfcRoundedRectangleProfileDef=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(Xo);e.IfcSectionedSpine=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.PredefinedType=o,f.UpperValue=l,f.MostUsedValue=u,f.LowerValue=c,f.type=2411513650,f}return P(n)}(Ul);e.IfcServiceLifeFactor=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(Xo);e.IfcShellBasedSurfaceModel=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Rs);e.IfcSlippageConnectionCondition=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(Xo);e.IfcSolidModel=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.IsAttenuating=o,c.SoundScale=l,c.SoundValues=u,c.type=2485662743,c}return P(n)}(Ul);e.IfcSoundProperties=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.SoundLevelTimeSeries=o,c.Frequency=l,c.SoundLevelSingleValue=u,c.type=1202362311,c}return P(n)}(Ul);e.IfcSoundValue=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ApplicableValueRatio=o,I.ThermalLoadSource=l,I.PropertySource=u,I.SourceDescription=c,I.MaximumValue=f,I.MinimumValue=p,I.ThermalLoadTimeSeriesValues=A,I.UserDefinedThermalLoadSource=d,I.UserDefinedPropertySource=v,I.ThermalLoadType=h,I.type=390701378,I}return P(n)}(Ul);e.IfcSpaceThermalLoadProperties=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(_s);e.IfcStructuralLoadLinearForce=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(_s);e.IfcStructuralLoadPlanarForce=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(_s);e.IfcStructuralLoadSingleDisplacement=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(ru);e.IfcStructuralLoadSingleDisplacementDistortion=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(_s);e.IfcStructuralLoadSingleForce=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(au);e.IfcStructuralLoadSingleForceWarping=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o,l,u)).ProfileName=r,R.ProfileDefinition=i,R.PhysicalWeight=a,R.Perimeter=s,R.MinimumPlateThickness=o,R.MaximumPlateThickness=l,R.CrossSectionArea=u,R.TorsionalConstantX=c,R.MomentOfInertiaYZ=f,R.MomentOfInertiaY=p,R.MomentOfInertiaZ=A,R.WarpingConstant=d,R.ShearCentreZ=v,R.ShearCentreY=h,R.ShearDeformationAreaZ=I,R.ShearDeformationAreaY=y,R.MaximumSectionModulusY=m,R.MinimumSectionModulusY=w,R.MaximumSectionModulusZ=g,R.MinimumSectionModulusZ=E,R.TorsionalSectionModulus=T,R.CentreOfGravityInX=D,R.CentreOfGravityInY=P,R.type=3843319758,R}return P(n)}(Ko);e.IfcStructuralProfileProperties=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P,R,C,_,B){var O;return b(this,n),(O=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P)).ProfileName=r,O.ProfileDefinition=i,O.PhysicalWeight=a,O.Perimeter=s,O.MinimumPlateThickness=o,O.MaximumPlateThickness=l,O.CrossSectionArea=u,O.TorsionalConstantX=c,O.MomentOfInertiaYZ=f,O.MomentOfInertiaY=p,O.MomentOfInertiaZ=A,O.WarpingConstant=d,O.ShearCentreZ=v,O.ShearCentreY=h,O.ShearDeformationAreaZ=I,O.ShearDeformationAreaY=y,O.MaximumSectionModulusY=m,O.MinimumSectionModulusY=w,O.MaximumSectionModulusZ=g,O.MinimumSectionModulusZ=E,O.TorsionalSectionModulus=T,O.CentreOfGravityInX=D,O.CentreOfGravityInY=P,O.ShearAreaZ=R,O.ShearAreaY=C,O.PlasticShapeFactorY=_,O.PlasticShapeFactorZ=B,O.type=3653947884,O}return P(n)}(ou);e.IfcStructuralSteelProfileProperties=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(Mo);e.IfcSubedge=uu;var cu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(Xo);e.IfcSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(Fs);e.IfcSurfaceStyleRendering=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Jl);e.IfcSweptAreaSolid=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Jl);e.IfcSweptDiskSolid=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(cu);e.IfcSweptSurface=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a)).ProfileType=r,h.ProfileName=i,h.Position=a,h.Depth=s,h.FlangeWidth=o,h.WebThickness=l,h.FlangeThickness=u,h.FilletRadius=c,h.FlangeEdgeRadius=f,h.WebEdgeRadius=p,h.WebSlope=A,h.FlangeSlope=d,h.CentreOfGravityInY=v,h.type=3071757647,h}return P(n)}(yl);e.IfcTShapeProfileDef=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Item=r,o.Styles=i,o.Name=a,o.AnnotatedCurve=s,o.type=3028897424,o}return P(n)}(Ao);e.IfcTerminatorSymbol=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(Xo);e.IfcTextLiteral=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(Iu);e.IfcTextLiteralWithExtent=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(yl);e.IfcTrapeziumProfileDef=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).RepeatFactor=r,a.SecondRepeatFactor=i,a.type=1345879162,a}return P(n)}(vl);e.IfcTwoDirectionRepeatFactor=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(dl);e.IfcTypeObject=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(gu);e.IfcTypeProduct=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.FlangeWidth=o,d.WebThickness=l,d.FlangeThickness=u,d.FilletRadius=c,d.EdgeRadius=f,d.FlangeSlope=p,d.CentreOfGravityInX=A,d.type=427810014,d}return P(n)}(yl);e.IfcUShapeProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(Xo);e.IfcVector=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(cl);e.IfcVertexLoop=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.LiningDepth=o,h.LiningThickness=l,h.TransomThickness=u,h.MullionThickness=c,h.FirstTransomOffset=f,h.SecondTransomOffset=p,h.FirstMullionOffset=A,h.SecondMullionOffset=d,h.ShapeAspectStyle=v,h.type=336235671,h}return P(n)}(Ul);e.IfcWindowLiningProperties=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Ul);e.IfcWindowPanelProperties=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(Eu);e.IfcWindowStyle=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(yl);e.IfcZShapeProfileDef=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3288037868,s}return P(n)}(fo);e.IfcAnnotationCurveOccurrence=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(Xo);e.IfcAnnotationFillArea=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Item=r,l.Styles=i,l.Name=a,l.FillStyleTarget=s,l.GlobalOrLocal=o,l.type=2265737646,l}return P(n)}(fo);e.IfcAnnotationFillAreaOccurrence=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Item=r,a.TextureCoordinates=i,a.type=1302238472,a}return P(n)}(Xo);e.IfcAnnotationSurface=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(El);e.IfcAxis1Placement=Lu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(El);e.IfcAxis2Placement2D=xu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(El);e.IfcAxis2Placement3D=Mu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(Xo);e.IfcBooleanResult=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(cu);e.IfcBoundedSurface=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(Xo);e.IfcBoundingBox=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}($o);e.IfcBoxedHalfSpace=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.WallThickness=l,p.Girth=u,p.InternalFilletRadius=c,p.CentreOfGravityInX=f,p.type=2898889636,p}return P(n)}(yl);e.IfcCShapeProfileDef=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(bl);e.IfcCartesianPoint=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(Xo);e.IfcCartesianTransformationOperator=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Vu);e.IfcCartesianTransformationOperator2D=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Qu);e.IfcCartesianTransformationOperator2DnonUniform=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Vu);e.IfcCartesianTransformationOperator3D=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(zu);e.IfcCartesianTransformationOperator3DnonUniform=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(yl);e.IfcCircleProfileDef=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Do);e.IfcClosedShell=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Xo);e.IfcCompositeCurveSegment=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.OverallHeight=s,y.BaseWidth2=o,y.Radius=l,y.HeadWidth=u,y.HeadDepth2=c,y.HeadDepth3=f,y.WebThickness=p,y.BaseWidth4=A,y.BaseDepth1=d,y.BaseDepth2=v,y.BaseDepth3=h,y.CentreOfGravityInY=I,y.type=4133800736,y}return P(n)}(yl);e.IfcCraneRailAShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallHeight=s,v.HeadWidth=o,v.Radius=l,v.HeadDepth2=u,v.HeadDepth3=c,v.WebThickness=f,v.BaseDepth1=p,v.BaseDepth2=A,v.CentreOfGravityInY=d,v.type=194851669,v}return P(n)}(yl);e.IfcCraneRailFShapeProfileDef=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(Xo);e.IfcCsgPrimitive3D=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Jl);e.IfcCsgSolid=ec;var tc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(Xo);e.IfcCurve=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(Hu);e.IfcCurveBoundedPlane=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Definition=r,a.Target=i,a.type=693772133,a}return P(n)}(Xo);e.IfcDefinedSymbol=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=606661476,s}return P(n)}(Bu);e.IfcDimensionCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Item=r,l.Styles=i,l.Name=a,l.AnnotatedCurve=s,l.Role=o,l.type=4054601972,l}return P(n)}(hu);e.IfcDimensionCurveTerminator=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(Xo);e.IfcDirection=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.LiningDepth=o,y.LiningThickness=l,y.ThresholdDepth=u,y.ThresholdThickness=c,y.TransomThickness=f,y.TransomOffset=p,y.LiningOffset=A,y.ThresholdOffset=d,y.CasingThickness=v,y.CasingDepth=h,y.ShapeAspectStyle=I,y.type=2963535650,y}return P(n)}(Ul);e.IfcDoorLiningProperties=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Ul);e.IfcDoorPanelProperties=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(Eu);e.IfcDoorStyle=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Contents=r,i.type=3073041342,i}return P(n)}(Xo);e.IfcDraughtingCallout=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(_l);e.IfcDraughtingPreDefinedColour=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Bl);e.IfcDraughtingPreDefinedCurveFont=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(cl);e.IfcEdgeLoop=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Ul);e.IfcElementQuantity=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(Eu);e.IfcElementType=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(cu);e.IfcElementarySurface=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(yl);e.IfcEllipseProfileDef=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.EnergySequence=o,u.UserDefinedEnergySequence=l,u.type=80994333,u}return P(n)}(Ul);e.IfcEnergyProperties=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(pu);e.IfcExtrudedAreaSolid=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(Xo);e.IfcFaceBasedSurfaceModel=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(Xo);e.IfcFillAreaStyleHatching=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Symbol=r,i.type=4203026998,i}return P(n)}(Xo);e.IfcFillAreaStyleTileSymbolWithStyle=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(Xo);e.IfcFillAreaStyleTiles=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g){var E;return b(this,n),(E=t.call(this,e,r,i,a,s)).GlobalId=r,E.OwnerHistory=i,E.Name=a,E.Description=s,E.PropertySource=o,E.FlowConditionTimeSeries=l,E.VelocityTimeSeries=u,E.FlowrateTimeSeries=c,E.Fluid=f,E.PressureTimeSeries=p,E.UserDefinedPropertySource=A,E.TemperatureSingleValue=d,E.WetBulbTemperatureSingleValue=v,E.WetBulbTemperatureTimeSeries=h,E.TemperatureTimeSeries=I,E.FlowrateSingleValue=y,E.FlowConditionSingleValue=m,E.VelocitySingleValue=w,E.PressureSingleValue=g,E.type=3455213021,E}return P(n)}(Ul);e.IfcFluidFlowProperties=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(vc);e.IfcFurnishingElementType=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.AssemblyPlace=p,A.type=1268542332,A}return P(n)}(Dc);e.IfcFurnitureType=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Jo);e.IfcGeometricCurveSet=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.OverallWidth=s,f.OverallDepth=o,f.WebThickness=l,f.FlangeThickness=u,f.FilletRadius=c,f.type=1484403080,f}return P(n)}(yl);e.IfcIShapeProfileDef=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.Width=o,d.Thickness=l,d.FilletRadius=u,d.EdgeRadius=c,d.LegSlope=f,d.CentreOfGravityInX=p,d.CentreOfGravityInY=A,d.type=572779678,d}return P(n)}(yl);e.IfcLShapeProfileDef=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(tc);e.IfcLine=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Jl);e.IfcManifoldSolidBrep=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(dl);e.IfcObject=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(tc);e.IfcOffsetCurve2D=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(tc);e.IfcOffsetCurve3D=Lc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Ul);e.IfcPermeableCoveringProperties=xc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(Tl);e.IfcPlanarBox=Mc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(hc);e.IfcPlane=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2945172077,l}return P(n)}(Sc);e.IfcProcess=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(Sc);e.IfcProduct=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Sc);e.IfcProject=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=4194566429,s}return P(n)}(Bu);e.IfcProjectionCurve=kc;var jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(Ul);e.IfcPropertySet=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Uc);e.IfcProxy=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(jl);e.IfcRectangleHollowProfileDef=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}($u);e.IfcRectangularPyramid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(Hu);e.IfcRectangularTrimmedSurface=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Wl);e.IfcRelAssigns=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Kc);e.IfcRelAssignsToActor=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Kc);e.IfcRelAssignsToControl=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Kc);e.IfcRelAssignsToGroup=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Kc);e.IfcRelAssignsToProcess=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Kc);e.IfcRelAssignsToProduct=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=3372526763,c}return P(n)}(Xc);e.IfcRelAssignsToProjectOrder=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Kc);e.IfcRelAssignsToResource=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Wl);e.IfcRelAssociates=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingAppliedValue=l,u.type=1327628568,u}return P(n)}(tf);e.IfcRelAssociatesAppliedValue=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(tf);e.IfcRelAssociatesApproval=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(tf);e.IfcRelAssociatesClassification=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(tf);e.IfcRelAssociatesConstraint=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(tf);e.IfcRelAssociatesDocument=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(tf);e.IfcRelAssociatesLibrary=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(tf);e.IfcRelAssociatesMaterial=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatingProfileProperties=l,f.ProfileSectionLocation=u,f.ProfileOrientation=c,f.type=2851387026,f}return P(n)}(tf);e.IfcRelAssociatesProfileProperties=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Wl);e.IfcRelConnects=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(ff);e.IfcRelConnectsElements=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(pf);e.IfcRelConnectsPathElements=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(ff);e.IfcRelConnectsPortToElement=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(ff);e.IfcRelConnectsPorts=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(ff);e.IfcRelConnectsStructuralActivity=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralMember=l,u.type=3912681535,u}return P(n)}(ff);e.IfcRelConnectsStructuralElement=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(ff);e.IfcRelConnectsStructuralMember=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(yf);e.IfcRelConnectsWithEccentricity=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(pf);e.IfcRelConnectsWithRealizingElements=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(ff);e.IfcRelContainedInSpatialStructure=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(ff);e.IfcRelCoversBldgElements=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(ff);e.IfcRelCoversSpaces=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=2551354335,u}return P(n)}(Wl);e.IfcRelDecomposes=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=693640335,l}return P(n)}(Wl);e.IfcRelDefines=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(Df);e.IfcRelDefinesByProperties=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(Df);e.IfcRelDefinesByType=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(ff);e.IfcRelFillsElement=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(ff);e.IfcRelFlowControlElements=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.DailyInteraction=o,p.ImportanceRating=l,p.LocationOfInteraction=u,p.RelatedSpaceProgram=c,p.RelatingSpaceProgram=f,p.type=4189434867,p}return P(n)}(ff);e.IfcRelInteractionRequirements=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(bf);e.IfcRelNests=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=2051452291,f}return P(n)}(Yc);e.IfcRelOccupiesSpaces=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatingPropertyDefinition=l,c.OverridingProperties=u,c.type=202636808,c}return P(n)}(Pf);e.IfcRelOverridesProperties=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(ff);e.IfcRelProjectsElement=Lf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(ff);e.IfcRelReferencedInSpatialStructure=xf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=1058617721,c}return P(n)}(Xc);e.IfcRelSchedulesCostItems=Mf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatingProcess=o,f.RelatedProcess=l,f.TimeLag=u,f.SequenceType=c,f.type=4122056220,f}return P(n)}(ff);e.IfcRelSequence=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(ff);e.IfcRelServicesBuildings=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(ff);e.IfcRelSpaceBoundary=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(ff);e.IfcRelVoidsElement=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2914609552,l}return P(n)}(Sc);e.IfcResource=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(pu);e.IfcRevolvedAreaSolid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}($u);e.IfcRightCircularCone=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}($u);e.IfcRightCircularCylinder=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Uc);e.IfcSpatialStructureElement=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(vc);e.IfcSpatialStructureElementType=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}($u);e.IfcSphere=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Uc);e.IfcStructuralActivity=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Uc);e.IfcStructuralItem=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(Xf);e.IfcStructuralMember=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Yf);e.IfcStructuralReaction=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(qf);e.IfcStructuralSurfaceMember=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.PredefinedType=c,d.Thickness=f,d.SubsequentThickness=p,d.VaryingThicknessLocation=A,d.type=2218152070,d}return P(n)}(Zf);e.IfcStructuralSurfaceMemberVarying=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4070609034,i}return P(n)}(cc);e.IfcStructuredDimensionCallout=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(pu);e.IfcSurfaceCurveSweptAreaSolid=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(du);e.IfcSurfaceOfLinearExtrusion=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(du);e.IfcSurfaceOfRevolution=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1580310250,p}return P(n)}(Dc);e.IfcSystemFurnitureElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.TaskId=l,A.Status=u,A.WorkMethod=c,A.IsMilestone=f,A.Priority=p,A.type=3473067441,A}return P(n)}(Hc);e.IfcTask=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(vc);e.IfcTransportElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(Sc);e.IfcActor=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Uc);e.IfcAnnotation=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallWidth=s,v.OverallDepth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.TopFlangeWidth=f,v.TopFlangeThickness=p,v.TopFlangeFilletRadius=A,v.CentreOfGravityInY=d,v.type=3207858831,v}return P(n)}(Cc);e.IfcAsymmetricIShapeProfileDef=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}($u);e.IfcBlock=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(Fu);e.IfcBooleanClippingResult=fp;var pp=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(tc);e.IfcBoundedCurve=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Wf);e.IfcBuilding=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(vc);e.IfcBuildingElementType=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(Wf);e.IfcBuildingStorey=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Yu);e.IfcCircleHollowProfileDef=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(dp);e.IfcColumnType=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(pp);e.IfcCompositeCurve=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(tc);e.IfcConic=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=2559216714,p}return P(n)}(kf);e.IfcConstructionResource=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3293443760,l}return P(n)}(Sc);e.IfcControl=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3895139033,l}return P(n)}(gp);e.IfcCostItem=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.SubmittedBy=l,h.PreparedBy=u,h.SubmittedOn=c,h.Status=f,h.TargetUsers=p,h.UpdateDate=A,h.ID=d,h.PredefinedType=v,h.type=1419761937,h}return P(n)}(gp);e.IfcCostSchedule=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(dp);e.IfcCoveringType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3295246426,p}return P(n)}(wp);e.IfcCrewResource=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(dp);e.IfcCurtainWallType=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=681481545,i}return P(n)}(cc);e.IfcDimensionCurveDirectedCallout=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(vc);e.IfcDistributionElementType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(Cp);e.IfcDistributionFlowElementType=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.EnergySequence=o,I.UserDefinedEnergySequence=l,I.ElectricCurrentType=u,I.InputVoltage=c,I.InputFrequency=f,I.FullLoadCurrent=p,I.MinimumCircuitCurrent=A,I.MaximumPowerInput=d,I.RatedPowerInput=v,I.InputPhase=h,I.type=360485395,I}return P(n)}(yc);e.IfcElectricalBaseProperties=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Uc);e.IfcElement=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Op);e.IfcElementAssembly=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Op);e.IfcElementComponent=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(vc);e.IfcElementComponentType=Lp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(mp);e.IfcEllipse=xp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(_p);e.IfcEnergyConversionDeviceType=Mp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1962604670,f}return P(n)}(Op);e.IfcEquipmentElement=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3272907226,l}return P(n)}(gp);e.IfcEquipmentStandard=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(Mp);e.IfcEvaporativeCoolerType=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(Mp);e.IfcEvaporatorType=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(Oc);e.IfcFacetedBrep=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(Oc);e.IfcFacetedBrepWithVoids=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=647756555,f}return P(n)}(Np);e.IfcFastener=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2489546625,p}return P(n)}(Lp);e.IfcFastenerType=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Op);e.IfcFeatureElement=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(Wp);e.IfcFeatureElementAddition=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(Wp);e.IfcFeatureElementSubtraction=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(_p);e.IfcFlowControllerType=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(_p);e.IfcFlowFittingType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Yp);e.IfcFlowMeterType=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(_p);e.IfcFlowMovingDeviceType=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(_p);e.IfcFlowSegmentType=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(_p);e.IfcFlowStorageDeviceType=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(_p);e.IfcFlowTerminalType=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(_p);e.IfcFlowTreatmentDeviceType=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Op);e.IfcFurnishingElement=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=814719939,l}return P(n)}(gp);e.IfcFurnitureStandard=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=200128114,A}return P(n)}(eA);e.IfcGasTerminalType=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.UAxes=c,A.VAxes=f,A.WAxes=p,A.type=3009204131,A}return P(n)}(Uc);e.IfcGrid=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(Sc);e.IfcGroup=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(Mp);e.IfcHeatExchangerType=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(Mp);e.IfcHumidifierType=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.InventoryType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(sA);e.IfcInventory=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Xp);e.IfcJunctionBoxType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ResourceIdentifier=l,A.ResourceGroup=u,A.ResourceConsumption=c,A.BaseQuantity=f,A.SkillSet=p,A.type=3827777499,A}return P(n)}(wp);e.IfcLaborResource=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(eA);e.IfcLampType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(eA);e.IfcLightFixtureType=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2506943328,i}return P(n)}(Rp);e.IfcLinearDimension=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.NominalDiameter=f,A.NominalLength=p,A.type=377706215,A}return P(n)}(Vp);e.IfcMechanicalFastener=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2108223431,p}return P(n)}(Qp);e.IfcMechanicalFastenerType=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(dp);e.IfcMemberType=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(Mp);e.IfcMotorConnectionType=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.TaskId=l,h.Status=u,h.WorkMethod=c,h.IsMilestone=f,h.Priority=p,h.MoveFrom=A,h.MoveTo=d,h.PunchList=v,h.type=1916936684,h}return P(n)}(ap);e.IfcMove=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(op);e.IfcOccupant=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3588315303,f}return P(n)}(Kp);e.IfcOpeningElement=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.TaskId=l,d.Status=u,d.WorkMethod=c,d.IsMilestone=f,d.Priority=p,d.ActionID=A,d.type=3425660407,d}return P(n)}(ap);e.IfcOrderAction=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(eA);e.IfcOutletType=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LifeCyclePhase=l,u.type=2382730787,u}return P(n)}(gp);e.IfcPerformanceHistory=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.PermitID=l,u.type=3327091369,u}return P(n)}(gp);e.IfcPermit=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Xp);e.IfcPipeFittingType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Zp);e.IfcPipeSegmentType=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(dp);e.IfcPlateType=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(pp);e.IfcPolyline=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Uc);e.IfcPort=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ProcedureID=l,f.ProcedureType=u,f.UserDefinedProcedureType=c,f.type=2744685151,f}return P(n)}(Hc);e.IfcProcedure=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ID=l,f.PredefinedType=u,f.Status=c,f.type=2904328755,f}return P(n)}(gp);e.IfcProjectOrder=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Records=l,c.PredefinedType=u,c.type=3642467123,c}return P(n)}(gp);e.IfcProjectOrderRecord=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3651124850,f}return P(n)}(zp);e.IfcProjectionElement=LA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Yp);e.IfcProtectiveDeviceType=xA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Jp);e.IfcPumpType=MA;var FA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=3248260540,i}return P(n)}(Rp);e.IfcRadiusDimension=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(dp);e.IfcRailingType=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(dp);e.IfcRampFlightType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(bf);e.IfcRelAggregates=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingControl=u,f.TimeForTask=c,f.type=2863920197,f}return P(n)}(Xc);e.IfcRelAssignsTasks=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(eA);e.IfcSanitaryTerminalType=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o)).GlobalId=r,R.OwnerHistory=i,R.Name=a,R.Description=s,R.ObjectType=o,R.ActualStart=l,R.EarlyStart=u,R.LateStart=c,R.ScheduleStart=f,R.ActualFinish=p,R.EarlyFinish=A,R.LateFinish=d,R.ScheduleFinish=v,R.ScheduleDuration=h,R.ActualDuration=I,R.RemainingTime=y,R.FreeFloat=m,R.TotalFloat=w,R.IsCritical=g,R.StatusTime=E,R.StartFloat=T,R.FinishFloat=D,R.Completion=P,R.type=3517283431,R}return P(n)}(gp);e.IfcScheduleTimeControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ServiceLifeType=l,c.ServiceLifeDuration=u,c.type=4105383287,c}return P(n)}(gp);e.IfcServiceLife=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(Wf);e.IfcSite=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(dp);e.IfcSlabType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.InteriorOrExteriorSpace=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(Wf);e.IfcSpace=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Mp);e.IfcSpaceHeaterType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.SpaceProgramIdentifier=l,A.MaxRequiredArea=u,A.MinRequiredArea=c,A.RequestedLocation=f,A.StandardRequiredArea=p,A.type=652456506,A}return P(n)}(gp);e.IfcSpaceProgram=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3812236995,A}return P(n)}(zf);e.IfcSpaceType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(eA);e.IfcStackTerminalType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(dp);e.IfcStairFlightType=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=682877961,d}return P(n)}(Yf);e.IfcStructuralAction=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(Xf);e.IfcStructuralConnection=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=4243806635,f}return P(n)}(ed);e.IfcStructuralCurveConnection=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=214636428,f}return P(n)}(qf);e.IfcStructuralCurveMember=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=2445595289,f}return P(n)}(nd);e.IfcStructuralCurveMemberVarying=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1807405624,v}return P(n)}($A);e.IfcStructuralLinearAction=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=1721250024,I}return P(n)}(id);e.IfcStructuralLinearActionVarying=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(sA);e.IfcStructuralLoadGroup=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1621171031,v}return P(n)}($A);e.IfcStructuralPlanarAction=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=3987759626,I}return P(n)}(od);e.IfcStructuralPlanarActionVarying=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=2082059205,d}return P(n)}($A);e.IfcStructuralPointAction=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=734778138,f}return P(n)}(ed);e.IfcStructuralPointConnection=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(Jf);e.IfcStructuralPointReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(sA);e.IfcStructuralResultGroup=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(ed);e.IfcStructuralSurfaceConnection=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.SubContractor=p,d.JobDescription=A,d.type=148013059,d}return P(n)}(wp);e.IfcSubContractResource=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Yp);e.IfcSwitchingDeviceType=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(sA);e.IfcSystem=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}($p);e.IfcTankType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ApplicableDates=l,f.TimeSeriesScheduleType=u,f.TimeSeries=c,f.type=1637806684,f}return P(n)}(gp);e.IfcTimeSeriesSchedule=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(Mp);e.IfcTransformerType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.OperationType=f,d.CapacityByWeight=p,d.CapacityByNumber=A,d.type=1620046519,d}return P(n)}(Op);e.IfcTransportElement=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(pp);e.IfcTrimmedCurve=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(Mp);e.IfcTubeBundleType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(Mp);e.IfcUnitaryEquipmentType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Yp);e.IfcValveType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(Op);e.IfcVirtualElement=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(dp);e.IfcWallType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(eA);e.IfcWasteTerminalType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=1028945134,y}return P(n)}(gp);e.IfcWorkControl=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=4218914973,y}return P(n)}(Cd);e.IfcWorkPlan=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=3342526732,y}return P(n)}(Cd);e.IfcWorkSchedule=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1033361043,l}return P(n)}(sA);e.IfcZone=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1213861670,a}return P(n)}(yp);e.Ifc2DCompositeCurve=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.RequestID=l,u.type=3821786052,u}return P(n)}(gp);e.IfcActionRequest=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Yp);e.IfcAirTerminalBoxType=Ld;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(eA);e.IfcAirTerminalType=xd;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(Mp);e.IfcAirToAirHeatRecoveryType=Md;var Fd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2470393545,i}return P(n)}(Rp);e.IfcAngularDimension=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.AssetID=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(sA);e.IfcAsset=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(pp);e.IfcBSplineCurve=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(dp);e.IfcBeamType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1916977116,l}return P(n)}(Ud);e.IfcBezierCurve=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(Mp);e.IfcBoilerType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(Op);e.IfcBuildingElement=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=52481810,f}return P(n)}(Vd);e.IfcBuildingElementComponent=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2979338954,f}return P(n)}(Qd);e.IfcBuildingElementPart=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.CompositionType=f,p.type=1095909175,p}return P(n)}(Vd);e.IfcBuildingElementProxy=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(dp);e.IfcBuildingElementProxyType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Xp);e.IfcCableCarrierFittingType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Zp);e.IfcCableCarrierSegmentType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Zp);e.IfcCableSegmentType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(Mp);e.IfcChillerType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(mp);e.IfcCircle=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(Mp);e.IfcCoilType=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=843113511,f}return P(n)}(Vd);e.IfcColumn=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Jp);e.IfcCompressorType=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(Mp);e.IfcCondenserType=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2188551683,l}return P(n)}(sA);e.IfcCondition=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Criterion=l,c.CriterionDateTime=u,c.type=1163958913,c}return P(n)}(gp);e.IfcConditionCriterion=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3898045240,p}return P(n)}(wp);e.IfcConstructionEquipmentResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.Suppliers=p,d.UsageRatio=A,d.type=1060000209,d}return P(n)}(wp);e.IfcConstructionMaterialResource=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=488727124,p}return P(n)}(wp);e.IfcConstructionProductResource=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(Mp);e.IfcCooledBeamType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(Mp);e.IfcCoolingTowerType=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Vd);e.IfcCovering=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3495092785,f}return P(n)}(Vd);e.IfcCurtainWall=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Yp);e.IfcDamperType=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4147604152,i}return P(n)}(Rp);e.IfcDiameterDimension=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1335981549,f}return P(n)}(Np);e.IfcDiscreteAccessory=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2635815018,p}return P(n)}(Lp);e.IfcDiscreteAccessoryType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(_p);e.IfcDistributionChamberElementType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(Cp);e.IfcDistributionControlElementType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Op);e.IfcDistributionElement=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(yv);e.IfcDistributionFlowElement=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.FlowDirection=c,f.type=3041715199,f}return P(n)}(BA);e.IfcDistributionPort=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=395920057,A}return P(n)}(Vd);e.IfcDoor=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Xp);e.IfcDuctFittingType=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Zp);e.IfcDuctSegmentType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(tA);e.IfcDuctSilencerType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.FeatureLength=f,p.type=855621170,p}return P(n)}(Kp);e.IfcEdgeFeature=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(eA);e.IfcElectricApplianceType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}($p);e.IfcElectricFlowStorageDeviceType=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(Mp);e.IfcElectricGeneratorType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1365060375,A}return P(n)}(eA);e.IfcElectricHeaterType=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(Mp);e.IfcElectricMotorType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Yp);e.IfcElectricTimeControlType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1634875225,l}return P(n)}(hd);e.IfcElectricalCircuit=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=857184966,f}return P(n)}(Op);e.IfcElectricalElement=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(mv);e.IfcEnergyConversionDevice=Lv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Jp);e.IfcFanType=xv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(tA);e.IfcFilterType=Mv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(eA);e.IfcFireSuppressionTerminalType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(mv);e.IfcFlowController=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(mv);e.IfcFlowFitting=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Iv);e.IfcFlowInstrumentType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(mv);e.IfcFlowMovingDevice=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(mv);e.IfcFlowSegment=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(mv);e.IfcFlowStorageDevice=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(mv);e.IfcFlowTerminal=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(mv);e.IfcFlowTreatmentDevice=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Vd);e.IfcFooting=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1073191201,f}return P(n)}(Vd);e.IfcMember=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Vd);e.IfcPile=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3171933400,f}return P(n)}(Vd);e.IfcPlate=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Vd);e.IfcRailing=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=3024970846,p}return P(n)}(Vd);e.IfcRamp=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3283111854,f}return P(n)}(Vd);e.IfcRampFlight=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Degree=r,u.ControlPointsList=i,u.CurveForm=a,u.ClosedCurve=s,u.SelfIntersect=o,u.WeightsData=l,u.type=3055160366,u}return P(n)}(kd);e.IfcRationalBezierCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(Qd);e.IfcReinforcingElement=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.MeshLength=p,w.MeshWidth=A,w.LongitudinalBarNominalDiameter=d,w.TransverseBarNominalDiameter=v,w.LongitudinalBarCrossSectionArea=h,w.TransverseBarCrossSectionArea=I,w.LongitudinalBarSpacing=y,w.TransverseBarSpacing=m,w.type=2320036040,w}return P(n)}(eh);e.IfcReinforcingMesh=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=2016517767,p}return P(n)}(Vd);e.IfcRoof=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.FeatureLength=f,A.Radius=p,A.type=1376911519,A}return P(n)}(Dv);e.IfcRoundedEdgeFeature=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Iv);e.IfcSensorType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Vd);e.IfcSlab=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=331165859,p}return P(n)}(Vd);e.IfcStair=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.Tag=c,v.NumberOfRiser=f,v.NumberOfTreads=p,v.RiserHeight=A,v.TreadLength=d,v.type=4252922144,v}return P(n)}(Vd);e.IfcStairFlight=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.PredefinedType=l,p.OrientationOf2DPlane=u,p.LoadedBy=c,p.HasResults=f,p.type=2515109513,p}return P(n)}(hd);e.IfcStructuralAnalysisModel=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eh);e.IfcTendon=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=2347447852,p}return P(n)}(eh);e.IfcTendonAnchor=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(vv);e.IfcVibrationIsolatorType=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2391406946,f}return P(n)}(Vd);e.IfcWall=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3512223829,f}return P(n)}(ph);e.IfcWallStandardCase=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=3304561284,A}return P(n)}(Vd);e.IfcWindow=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Iv);e.IfcActuatorType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Iv);e.IfcAlarmType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=753842376,f}return P(n)}(Vd);e.IfcBeam=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.FeatureLength=f,d.Width=p,d.Height=A,d.type=2454782716,d}return P(n)}(Dv);e.IfcChamferEdgeFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Iv);e.IfcControllerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1052013943,f}return P(n)}(mv);e.IfcDistributionChamberElement=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ControlElementId=f,p.type=1062813311,p}return P(n)}(yv);e.IfcDistributionControlElement=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.DistributionPointFunction=f,A.UserDefinedFunction=p,A.type=3700593921,A}return P(n)}(Hv);e.IfcElectricDistributionPoint=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.BarRole=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eh);e.IfcReinforcingBar=Th}($C||($C={})),z_[2]="IFC4",G_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},639542469:function(e,t){return new e_.IfcApplication(e,new H_(t[0].value),new e_.IfcLabel(t[1].value),new e_.IfcLabel(t[2].value),new e_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new e_.IfcApproval(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null)},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null,t[7]?K_(2,t[7]):null)},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new e_.IfcConstraint(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new e_.IfcCostValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new e_.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,new e_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(2,e)})))},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcURIReference(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null)},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,new e_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new e_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new e_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new e_.IfcLengthMeasure(t[2].value),new e_.IfcLengthMeasure(t[3].value),new e_.IfcLengthMeasure(t[4].value),t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null,t[7]?new e_.IfcReal(t[7].value):null)},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7],new e_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,new e_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,K_(2,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new e_.IfcMetric(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,new e_.IfcLabel(t[0].value))},1918398963:function(e,t){return new e_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new e_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0]?new e_.IfcIdentifier(t[0].value):null,new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new e_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new e_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new e_.IfcPerson(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new e_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null,new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0]?new e_.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return K_(2,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new e_.IfcQuantityArea(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcAreaMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new e_.IfcQuantityCount(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcCountMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new e_.IfcQuantityLength(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new e_.IfcQuantityTime(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcTimeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcVolumeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new e_.IfcQuantityWeight(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcMassMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new e_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new e_.IfcMonthInYearNumber(e.value)})):null,t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcInteger(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new e_.IfcReference(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new e_.IfcRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null)},2341007311:function(e,t){return new e_.IfcRoot(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,new e_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new e_.IfcShapeModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0]?new e_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0]?new e_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0]?new e_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new e_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new e_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new e_.IfcStyleModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[3]?new e_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0]?new e_.IfcReal(t[0].value):null,t[1]?new e_.IfcReal(t[1].value):null)},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new e_.IfcTable(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new e_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(2,e)})):null,t[1]?new e_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcLabel(e.value)})):null,t[7]?new e_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new e_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0]?K_(2,t[0]):null,t[1]?new e_.IfcTextAlignment(t[1].value):null,t[2]?new e_.IfcTextDecoration(t[2].value):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?new e_.IfcTextTransformation(t[5].value):null,t[6]?K_(2,t[6]):null)},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new e_.IfcReal(e.value)})):null)},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new e_.IfcTimePeriod(e,new e_.IfcTime(t[0].value),new e_.IfcTime(t[1].value))},3101149627:function(e,t){return new e_.IfcTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(2,e)})))},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null)},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new e_.IfcBlobTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcIdentifier(t[5].value),new e_.IfcBinary(t[6].value))},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new e_.IfcClassification(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcDate(t[2].value):null,new e_.IfcLabel(t[3].value),t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0].map((function(e){return new e_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0]?new e_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value))},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value),new e_.IfcReal(t[4].value))},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new e_.IfcPositiveRatioMeasure(t[4].value),t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,new e_.IfcIdentifier(t[0].value),new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcURIReference(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDateTime(t[11].value):null,t[12]?new e_.IfcIdentifier(t[12].value):null,t[13]?new e_.IfcDate(t[13].value):null,t[14]?new e_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new e_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new e_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new e_.IfcBoolean(t[3].value))},211053100:function(e,t){return new e_.IfcEventTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcDateTime(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new e_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new e_.IfcFaceBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcForceMeasure(t[4].value):null,t[5]?new e_.IfcForceMeasure(t[5].value):null,t[6]?new e_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new e_.IfcDimensionCount(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new e_.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new e_.IfcImageTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,K_(2,t[3]),t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new e_.IfcThermodynamicTemperatureMeasure(t[6].value),new e_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value))},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new e_.IfcReal(t[10].value):null,new e_.IfcPositivePlaneAngleMeasure(t[11].value),new e_.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new e_.IfcMaterial(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcLabel(t[3].value):null)},219451334:function(e,t){return new e_.IfcObjectDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new e_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new e_.IfcPixelTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcInteger(t[5].value),new e_.IfcInteger(t[6].value),new e_.IfcInteger(t[7].value),t[8].map((function(e){return new e_.IfcBinary(e.value)})))},2004835150:function(e,t){return new e_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,new e_.IfcLabel(t[0].value))},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,new e_.IfcLabel(t[0].value))},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new e_.IfcProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcText(t[4].value):null)},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2090586900:function(e,t){return new e_.IfcQuantitySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new e_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,new e_.IfcAreaMeasure(t[0].value),new e_.IfcLabel(t[1].value),t[2],t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new e_.IfcRelationship(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDuration(t[3].value):null,t[4]?new e_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDuration(t[8].value):null,t[9]?new e_.IfcBoolean(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new e_.IfcDateTime(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new e_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLinearForceMeasure(t[1].value):null,t[2]?new e_.IfcLinearForceMeasure(t[2].value):null,t[3]?new e_.IfcLinearForceMeasure(t[3].value):null,t[4]?new e_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new e_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new e_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new e_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new e_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new e_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null,t[7]?new e_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new e_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(2,t[7]):null,t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,t[5]?new e_.IfcPositiveLengthMeasure(t[5].value):null)},230924584:function(e,t){return new e_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new e_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new e_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new e_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return new e_.IfcTextFontName(e.value)})),t[2]?new e_.IfcFontStyle(t[2].value):null,t[3]?new e_.IfcFontVariant(t[3].value):null,t[4]?new e_.IfcFontWeight(t[4].value):null,K_(2,t[5]))},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new e_.IfcTypeObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new e_.IfcTypeProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new e_.IfcTypeProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new e_.IfcTypeResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new e_.IfcVector(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new e_.IfcVertexLoop(e,new H_(t[0].value))},1299126871:function(e,t){return new e_.IfcWindowStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,new e_.IfcPositiveLengthMeasure(t[8].value),t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new e_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new e_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new e_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new e_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new e_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0]?new e_.IfcLabel(t[0].value):null,new e_.IfcNormalisedRatioMeasure(t[1].value),new e_.IfcNormalisedRatioMeasure(t[2].value),new e_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new e_.IfcComplexProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new e_.IfcContext(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new e_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[2].value))},32440307:function(e,t){return new e_.IfcDirection(e,t[0].map((function(e){return new e_.IfcReal(e.value)})))},526551008:function(e,t){return new e_.IfcDoorStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new e_.IfcElementQuantity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new e_.IfcElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new e_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new e_.IfcEventType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new e_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new e_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new e_.IfcFurnitureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new e_.IfcLaborResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new e_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new e_.IfcObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value))},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value),new H_(t[3].value))},1682466193:function(e,t){return new e_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new e_.IfcPlanarBox(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new e_.IfcPlane(e,new H_(t[0].value))},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,new e_.IfcLabel(t[0].value))},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},569719735:function(e,t){return new e_.IfcProcedureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},4208778838:function(e,t){return new e_.IfcProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new e_.IfcProject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new e_.IfcProjectLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(2,t[5]):null)},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new e_.IfcPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?t[3].map((function(e){return K_(2,e)})):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3219374653:function(e,t){return new e_.IfcProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value),new e_.IfcParameterValue(t[3].value),new e_.IfcParameterValue(t[4].value),new e_.IfcBoolean(t[5].value),new e_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new e_.IfcRelAssigns(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new e_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new e_.IfcRelAssociates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new e_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new e_.IfcRelConnects(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new e_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new e_.IfcRelDeclares(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},693640335:function(e,t){return new e_.IfcRelDefines(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8].value)},3268803585:function(e,t){return new e_.IfcRelNests(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new e_.IfcRelSequence(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value),new e_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new e_.IfcResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new e_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new e_.IfcSpatialElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new e_.IfcSpatialZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new e_.IfcSphere(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new e_.IfcStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new e_.IfcTask(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,new e_.IfcBoolean(t[9].value),t[10]?new e_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,new H_(t[0].value))},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2097647324:function(e,t){return new e_.IfcTransportElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new e_.IfcParameterValue(e.value)})):null,t[2]?new e_.IfcBoolean(t[2].value):null,t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new e_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new e_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new e_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new e_.IfcLengthMeasure(t[13].value):null,t[14]?new e_.IfcLengthMeasure(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new e_.IfcActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new e_.IfcAnnotation(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value))},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null)},2197970202:function(e,t){return new e_.IfcChimneyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new e_.IfcCivilElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},300633059:function(e,t){return new e_.IfcColumnType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},2510884976:function(e,t){return new e_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new e_.IfcControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3895139033:function(e,t){return new e_.IfcCostItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new e_.IfcCostSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null)},1916426348:function(e,t){return new e_.IfcCoveringType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null,t[16]?new e_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new e_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new e_.IfcDoorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,new e_.IfcLabel(t[0].value))},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},1758889154:function(e,t){return new e_.IfcElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new e_.IfcElementAssembly(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new e_.IfcElementComponentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new e_.IfcEllipse(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new e_.IfcEngineType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7],t[8],t[9]?new e_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new e_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new e_.IfcFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new e_.IfcFootingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new e_.IfcFurniture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(2,e)})):null,t[2]?new e_.IfcBoolean(t[2].value):null)},3946677679:function(e,t){return new e_.IfcInterceptorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new e_.IfcPermit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1158309216:function(e,t){return new e_.IfcPileType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new e_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new e_.IfcPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new e_.IfcProcedure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},3651124850:function(e,t){return new e_.IfcProjectionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new e_.IfcReal(e.value)})))},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcAreaMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcAreaMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new e_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new e_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(2,e)})):null)},160246688:function(e,t){return new e_.IfcRelAggregates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2781568857:function(e,t){return new e_.IfcRoofType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4097777520:function(e,t){return new e_.IfcSite(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new e_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new e_.IfcSlabType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new e_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new e_.IfcStairType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new e_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new e_.IfcSubContractResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new e_.IfcTankType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcForceMeasure(t[12].value):null,t[13]?new e_.IfcPressureMeasure(t[13].value):null,t[14]?new e_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null)},1692211062:function(e,t){return new e_.IfcTransformerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new e_.IfcValveType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},926996030:function(e,t){return new e_.IfcVoidingFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new e_.IfcWorkPlan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new e_.IfcZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new e_.IfcActionRequest(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new e_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value))},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3299480353:function(e,t){return new e_.IfcBuildingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new e_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new e_.IfcBurnerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new e_.IfcCivilElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new e_.IfcCoilType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new e_.IfcColumn(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new e_.IfcDistributionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new e_.IfcDistributionPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new e_.IfcDoor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new e_.IfcDuctFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new e_.IfcEngine(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new e_.IfcFanType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new e_.IfcFlowFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new e_.IfcFlowSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new e_.IfcFooting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},76236018:function(e,t){return new e_.IfcLamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new e_.IfcMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3694346114:function(e,t){return new e_.IfcOutlet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new e_.IfcPile(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new e_.IfcPump(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new e_.IfcReal(e.value)})))},979691226:function(e,t){return new e_.IfcReinforcingBar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcAreaMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new e_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(2,e)})):null)},2016517767:function(e,t){return new e_.IfcRoof(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new e_.IfcStair(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcInteger(t[8].value):null,t[9]?new e_.IfcInteger(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new e_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new e_.IfcTank(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new e_.IfcValve(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new e_.IfcWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new e_.IfcActuatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new e_.IfcBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new e_.IfcCoil(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new e_.IfcDuctFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new e_.IfcFan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new e_.IfcFilter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new e_.IfcController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])}},j_[2]={618182010:[912023232,3355820592],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[2133299955,1437953363,2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,3243963512,1856042241,2652556860,2804161546,477187591],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_],339256511:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,M_,2945172077],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,M_],4208778838:[3041715199,L_,x_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1412071761:[1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,2916149573],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249],1950629157:[1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202],3732776249:[144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555],2590856083:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],2827207264:[3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[926996030,3079942009,3588315303],3907093117:[712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348],3009222698:[1810631287,2030761528,3946677679],263784265:[413509423,1509553395],2706460486:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],3588315303:[3079942009],3740093272:[3041715199],3027567501:[979691226,2347447852,T_,2320036040],964333572:[2572171363,2415094496,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,1177604601,O_],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],3299480353:[2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175],843113511:[905975707],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],395920057:[3242481149],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018],3508470533:[819412036,1360408905,4175244083],1073191201:[1911478936],3171933400:[1156407060],1529196076:[3027962421,3127900445],2391406946:[3512223829,4156078855],3304561284:[486154966],753842376:[2906023776],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[2]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",x_,9,!0],["PartOfV",x_,8,!0],["PartOfU",x_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],526551008:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3079942009:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],905975707:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3242481149:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1911478936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1156407060:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3127900445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3027962421:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4156078855:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],486154966:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2906023776:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new e_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new e_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new e_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new e_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new e_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new e_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new e_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new e_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new e_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new e_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new e_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new e_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new e_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new e_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new e_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new e_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new e_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new e_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new e_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new e_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new e_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new e_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new e_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new e_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new e_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new e_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new e_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new e_.IfcFace(e,t[0])},1809719519:function(e,t){return new e_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new e_.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new e_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new e_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3])},219451334:function(e,t){return new e_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new e_.IfcPath(e,t[0])},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new e_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new e_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new e_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new e_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new e_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,t[0],t[1],t[2])},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new e_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new e_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new e_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new e_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new e_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new e_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new e_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new e_.IfcVertexLoop(e,t[0])},1299126871:function(e,t){return new e_.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0])},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0])},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new e_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new e_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new e_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},32440307:function(e,t){return new e_.IfcDirection(e,t[0])},526551008:function(e,t){return new e_.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new e_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new e_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new e_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new e_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new e_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new e_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new e_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new e_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},1682466193:function(e,t){return new e_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new e_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new e_.IfcPlane(e,t[0])},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new e_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new e_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new e_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new e_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new e_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},3219374653:function(e,t){return new e_.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new e_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new e_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new e_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new e_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new e_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new e_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new e_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new e_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new e_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new e_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new e_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,t[0],t[1])},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new e_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new e_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,t[0])},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,t[0],t[1],t[2])},2097647324:function(e,t){return new e_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new e_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new e_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2197970202:function(e,t){return new e_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new e_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},300633059:function(e,t){return new e_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new e_.IfcConic(e,t[0])},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new e_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},3895139033:function(e,t){return new e_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new e_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new e_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,t[0],t[1])},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new e_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new e_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new e_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new e_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new e_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new e_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new e_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new e_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new e_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new e_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new e_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new e_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new e_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new e_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new e_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new e_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},160246688:function(e,t){return new e_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2781568857:function(e,t){return new e_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,t[0],t[1],t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4097777520:function(e,t){return new e_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new e_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new e_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new e_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new e_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1692211062:function(e,t){return new e_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new e_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},926996030:function(e,t){return new e_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new e_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new e_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new e_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0],t[1])},3299480353:function(e,t){return new e_.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new e_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new e_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new e_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new e_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new e_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new e_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new e_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new e_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new e_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new e_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new e_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new e_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new e_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new e_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new e_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new e_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new e_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new e_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new e_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new e_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new e_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new e_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new e_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new e_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new e_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new e_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new e_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new e_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new e_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new e_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new e_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[2]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.Start,e.Finish]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Location,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelorDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.Expression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Description]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},1299126871:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList]},2059837836:function(e){return[e.CoordList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},32440307:function(e){return[e.DirectionRatios]},526551008:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceType,e.ImpliedOrder]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){return[e.Coordinates]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2916149573:function(e){var t;return[e.Coordinates,e.Normals,null==(t=e.Closed)?void 0:t.toString(),e.CoordIndex,e.PnIndex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3079942009:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.Axis]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},905975707:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},3242481149:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1911478936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1156407060:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3127900445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3027962421:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4156078855:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},486154966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2906023776:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[2]={3699917729:function(e){return new e_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new e_.IfcAccelerationMeasure(e)},360377573:function(e){return new e_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new e_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new e_.IfcArcIndex(e)},1500781891:function(e){return new e_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new e_.IfcAreaMeasure(e)},2314439260:function(e){return new e_.IfcBinary(e)},2735952531:function(e){return new e_.IfcBoolean(e)},1867003952:function(e){return new e_.IfcBoxAlignment(e)},1683019596:function(e){return new e_.IfcCardinalPointReference(e)},2991860651:function(e){return new e_.IfcComplexNumber(e)},3812528620:function(e){return new e_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new e_.IfcContextDependentMeasure(e)},1778710042:function(e){return new e_.IfcCountMeasure(e)},94842927:function(e){return new e_.IfcCurvatureMeasure(e)},937566702:function(e){return new e_.IfcDate(e)},2195413836:function(e){return new e_.IfcDateTime(e)},86635668:function(e){return new e_.IfcDayInMonthNumber(e)},3701338814:function(e){return new e_.IfcDayInWeekNumber(e)},1514641115:function(e){return new e_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new e_.IfcDimensionCount(e)},524656162:function(e){return new e_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new e_.IfcDuration(e)},69416015:function(e){return new e_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new e_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new e_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new e_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new e_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new e_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new e_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new e_.IfcEnergyMeasure(e)},1102727119:function(e){return new e_.IfcFontStyle(e)},2715512545:function(e){return new e_.IfcFontVariant(e)},2590844177:function(e){return new e_.IfcFontWeight(e)},1361398929:function(e){return new e_.IfcForceMeasure(e)},3044325142:function(e){return new e_.IfcFrequencyMeasure(e)},3064340077:function(e){return new e_.IfcGloballyUniqueId(e)},3113092358:function(e){return new e_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new e_.IfcHeatingValueMeasure(e)},983778844:function(e){return new e_.IfcIdentifier(e)},3358199106:function(e){return new e_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new e_.IfcInductanceMeasure(e)},1939436016:function(e){return new e_.IfcInteger(e)},3809634241:function(e){return new e_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new e_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new e_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new e_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new e_.IfcLabel(e)},1275358634:function(e){return new e_.IfcLanguageId(e)},1243674935:function(e){return new e_.IfcLengthMeasure(e)},1774176899:function(e){return new e_.IfcLineIndex(e)},191860431:function(e){return new e_.IfcLinearForceMeasure(e)},2128979029:function(e){return new e_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new e_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new e_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new e_.IfcLogical(e)},2095003142:function(e){return new e_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new e_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new e_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new e_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new e_.IfcMassDensityMeasure(e)},4017473158:function(e){return new e_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new e_.IfcMassMeasure(e)},3531705166:function(e){return new e_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new e_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new e_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new e_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new e_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new e_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new e_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new e_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new e_.IfcMonetaryMeasure(e)},765770214:function(e){return new e_.IfcMonthInYearNumber(e)},525895558:function(e){return new e_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new e_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new e_.IfcNumericMeasure(e)},929793134:function(e){return new e_.IfcPHMeasure(e)},2260317790:function(e){return new e_.IfcParameterValue(e)},2642773653:function(e){return new e_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new e_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new e_.IfcPositiveInteger(e)},2815919920:function(e){return new e_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new e_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new e_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new e_.IfcPowerMeasure(e)},2169031380:function(e){return new e_.IfcPresentableText(e)},3665567075:function(e){return new e_.IfcPressureMeasure(e)},2798247006:function(e){return new e_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new e_.IfcRadioActivityMeasure(e)},96294661:function(e){return new e_.IfcRatioMeasure(e)},200335297:function(e){return new e_.IfcReal(e)},2133746277:function(e){return new e_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new e_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new e_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new e_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new e_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new e_.IfcShearModulusMeasure(e)},3471399674:function(e){return new e_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new e_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new e_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new e_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new e_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new e_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new e_.IfcSpecularExponent(e)},361837227:function(e){return new e_.IfcSpecularRoughness(e)},58845555:function(e){return new e_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new e_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new e_.IfcText(e)},1460886941:function(e){return new e_.IfcTextAlignment(e)},3490877962:function(e){return new e_.IfcTextDecoration(e)},603696268:function(e){return new e_.IfcTextFontName(e)},296282323:function(e){return new e_.IfcTextTransformation(e)},232962298:function(e){return new e_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new e_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new e_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new e_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new e_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new e_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new e_.IfcTime(e)},2726807636:function(e){return new e_.IfcTimeMeasure(e)},2591213694:function(e){return new e_.IfcTimeStamp(e)},1278329552:function(e){return new e_.IfcTorqueMeasure(e)},950732822:function(e){return new e_.IfcURIReference(e)},3345633955:function(e){return new e_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new e_.IfcVolumeMeasure(e)},2593997549:function(e){return new e_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new e_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new e_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=x;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=M;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=xe;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Me;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.FIRE={type:3,value:"FIRE"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.CREEP={type:3,value:"CREEP"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.ICE={type:3,value:"ICE"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.WAVE={type:3,value:"WAVE"},Ct.RAIN={type:3,value:"RAIN"},Ct.BRAKES={type:3,value:"BRAKES"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.HOME={type:3,value:"HOME"},Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var xt=P((function e(){b(this,e)}));xt.BELL={type:3,value:"BELL"},xt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},xt.LIGHT={type:3,value:"LIGHT"},xt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},xt.SIREN={type:3,value:"SIREN"},xt.WHISTLE={type:3,value:"WHISTLE"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=xt;var Mt=P((function e(){b(this,e)}));Mt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Mt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Mt.LOADING_3D={type:3,value:"LOADING_3D"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Mt;var Ft=P((function e(){b(this,e)}));Ft.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},Ft.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},Ft.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},Ft.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.ADD={type:3,value:"ADD"},Ht.DIVIDE={type:3,value:"DIVIDE"},Ht.MULTIPLY={type:3,value:"MULTIPLY"},Ht.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.SITE={type:3,value:"SITE"},Ut.FACTORY={type:3,value:"FACTORY"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.AMPLIFIER={type:3,value:"AMPLIFIER"},Gt.CAMERA={type:3,value:"CAMERA"},Gt.DISPLAY={type:3,value:"DISPLAY"},Gt.MICROPHONE={type:3,value:"MICROPHONE"},Gt.PLAYER={type:3,value:"PLAYER"},Gt.PROJECTOR={type:3,value:"PROJECTOR"},Gt.RECEIVER={type:3,value:"RECEIVER"},Gt.SPEAKER={type:3,value:"SPEAKER"},Gt.SWITCHER={type:3,value:"SWITCHER"},Gt.TELEPHONE={type:3,value:"TELEPHONE"},Gt.TUNER={type:3,value:"TUNER"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},kt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},kt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},kt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},kt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=kt;var jt=P((function e(){b(this,e)}));jt.PLANE_SURF={type:3,value:"PLANE_SURF"},jt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},jt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},jt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},jt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},jt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},jt.RULED_SURF={type:3,value:"RULED_SURF"},jt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},jt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},jt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},jt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=jt;var Vt=P((function e(){b(this,e)}));Vt.BEAM={type:3,value:"BEAM"},Vt.JOIST={type:3,value:"JOIST"},Vt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Vt.LINTEL={type:3,value:"LINTEL"},Vt.SPANDREL={type:3,value:"SPANDREL"},Vt.T_BEAM={type:3,value:"T_BEAM"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.GREATERTHAN={type:3,value:"GREATERTHAN"},Qt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Qt.LESSTHAN={type:3,value:"LESSTHAN"},Qt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Qt.EQUALTO={type:3,value:"EQUALTO"},Qt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Qt.INCLUDES={type:3,value:"INCLUDES"},Qt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},Qt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Qt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.WATER={type:3,value:"WATER"},Wt.STEAM={type:3,value:"STEAM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.UNION={type:3,value:"UNION"},zt.INTERSECTION={type:3,value:"INTERSECTION"},zt.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=zt;var Kt=P((function e(){b(this,e)}));Kt.INSULATION={type:3,value:"INSULATION"},Kt.PRECASTPANEL={type:3,value:"PRECASTPANEL"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.COMPLEX={type:3,value:"COMPLEX"},Yt.ELEMENT={type:3,value:"ELEMENT"},Yt.PARTIAL={type:3,value:"PARTIAL"},Yt.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Yt.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FENESTRATION={type:3,value:"FENESTRATION"},Xt.FOUNDATION={type:3,value:"FOUNDATION"},Xt.LOADBEARING={type:3,value:"LOADBEARING"},Xt.OUTERSHELL={type:3,value:"OUTERSHELL"},Xt.SHADING={type:3,value:"SHADING"},Xt.TRANSPORT={type:3,value:"TRANSPORT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.BEND={type:3,value:"BEND"},Jt.CROSS={type:3,value:"CROSS"},Jt.REDUCER={type:3,value:"REDUCER"},Jt.TEE={type:3,value:"TEE"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Zt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Zt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Zt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.CONNECTOR={type:3,value:"CONNECTOR"},$t.ENTRY={type:3,value:"ENTRY"},$t.EXIT={type:3,value:"EXIT"},$t.JUNCTION={type:3,value:"JUNCTION"},$t.TRANSITION={type:3,value:"TRANSITION"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=$t;var en=P((function e(){b(this,e)}));en.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},en.CABLESEGMENT={type:3,value:"CABLESEGMENT"},en.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},en.CORESEGMENT={type:3,value:"CORESEGMENT"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.NOCHANGE={type:3,value:"NOCHANGE"},tn.MODIFIED={type:3,value:"MODIFIED"},tn.ADDED={type:3,value:"ADDED"},tn.DELETED={type:3,value:"DELETED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=tn;var nn=P((function e(){b(this,e)}));nn.AIRCOOLED={type:3,value:"AIRCOOLED"},nn.WATERCOOLED={type:3,value:"WATERCOOLED"},nn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},an.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},an.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},an.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},an.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},an.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},an.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.COLUMN={type:3,value:"COLUMN"},sn.PILASTER={type:3,value:"PILASTER"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=sn;var on=P((function e(){b(this,e)}));on.ANTENNA={type:3,value:"ANTENNA"},on.COMPUTER={type:3,value:"COMPUTER"},on.FAX={type:3,value:"FAX"},on.GATEWAY={type:3,value:"GATEWAY"},on.MODEM={type:3,value:"MODEM"},on.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},on.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},on.NETWORKHUB={type:3,value:"NETWORKHUB"},on.PRINTER={type:3,value:"PRINTER"},on.REPEATER={type:3,value:"REPEATER"},on.ROUTER={type:3,value:"ROUTER"},on.SCANNER={type:3,value:"SCANNER"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.P_COMPLEX={type:3,value:"P_COMPLEX"},ln.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=ln;var un=P((function e(){b(this,e)}));un.DYNAMIC={type:3,value:"DYNAMIC"},un.RECIPROCATING={type:3,value:"RECIPROCATING"},un.ROTARY={type:3,value:"ROTARY"},un.SCROLL={type:3,value:"SCROLL"},un.TROCHOIDAL={type:3,value:"TROCHOIDAL"},un.SINGLESTAGE={type:3,value:"SINGLESTAGE"},un.BOOSTER={type:3,value:"BOOSTER"},un.OPENTYPE={type:3,value:"OPENTYPE"},un.HERMETIC={type:3,value:"HERMETIC"},un.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},un.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},un.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},un.ROTARYVANE={type:3,value:"ROTARYVANE"},un.SINGLESCREW={type:3,value:"SINGLESCREW"},un.TWINSCREW={type:3,value:"TWINSCREW"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.AIRCOOLED={type:3,value:"AIRCOOLED"},cn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},cn.WATERCOOLED={type:3,value:"WATERCOOLED"},cn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},cn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},cn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},cn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.ATPATH={type:3,value:"ATPATH"},fn.ATSTART={type:3,value:"ATSTART"},fn.ATEND={type:3,value:"ATEND"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.HARD={type:3,value:"HARD"},pn.SOFT={type:3,value:"SOFT"},pn.ADVISORY={type:3,value:"ADVISORY"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=pn;var An=P((function e(){b(this,e)}));An.DEMOLISHING={type:3,value:"DEMOLISHING"},An.EARTHMOVING={type:3,value:"EARTHMOVING"},An.ERECTING={type:3,value:"ERECTING"},An.HEATING={type:3,value:"HEATING"},An.LIGHTING={type:3,value:"LIGHTING"},An.PAVING={type:3,value:"PAVING"},An.PUMPING={type:3,value:"PUMPING"},An.TRANSPORTING={type:3,value:"TRANSPORTING"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.AGGREGATES={type:3,value:"AGGREGATES"},dn.CONCRETE={type:3,value:"CONCRETE"},dn.DRYWALL={type:3,value:"DRYWALL"},dn.FUEL={type:3,value:"FUEL"},dn.GYPSUM={type:3,value:"GYPSUM"},dn.MASONRY={type:3,value:"MASONRY"},dn.METAL={type:3,value:"METAL"},dn.PLASTIC={type:3,value:"PLASTIC"},dn.WOOD={type:3,value:"WOOD"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.ASSEMBLY={type:3,value:"ASSEMBLY"},vn.FORMWORK={type:3,value:"FORMWORK"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.FLOATING={type:3,value:"FLOATING"},hn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},hn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},hn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},hn.TWOPOSITION={type:3,value:"TWOPOSITION"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=hn;var In=P((function e(){b(this,e)}));In.ACTIVE={type:3,value:"ACTIVE"},In.PASSIVE={type:3,value:"PASSIVE"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},yn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},yn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BUDGET={type:3,value:"BUDGET"},wn.COSTPLAN={type:3,value:"COSTPLAN"},wn.ESTIMATE={type:3,value:"ESTIMATE"},wn.TENDER={type:3,value:"TENDER"},wn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},wn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},wn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.CEILING={type:3,value:"CEILING"},gn.FLOORING={type:3,value:"FLOORING"},gn.CLADDING={type:3,value:"CLADDING"},gn.ROOFING={type:3,value:"ROOFING"},gn.MOLDING={type:3,value:"MOLDING"},gn.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},gn.INSULATION={type:3,value:"INSULATION"},gn.MEMBRANE={type:3,value:"MEMBRANE"},gn.SLEEVING={type:3,value:"SLEEVING"},gn.WRAPPING={type:3,value:"WRAPPING"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=gn;var En=P((function e(){b(this,e)}));En.OFFICE={type:3,value:"OFFICE"},En.SITE={type:3,value:"SITE"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Tn;var bn=P((function e(){b(this,e)}));bn.LINEAR={type:3,value:"LINEAR"},bn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},bn.LOG_LOG={type:3,value:"LOG_LOG"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Dn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Dn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Dn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Dn.FIREDAMPER={type:3,value:"FIREDAMPER"},Dn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Dn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Dn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Dn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Dn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Dn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.MEASURED={type:3,value:"MEASURED"},Pn.PREDICTED={type:3,value:"PREDICTED"},Pn.SIMULATED={type:3,value:"SIMULATED"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Rn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Rn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Rn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Rn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Rn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Rn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Rn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Rn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Rn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Rn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Rn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Rn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Rn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Rn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Rn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Rn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Rn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Rn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Rn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Rn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Rn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Rn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Rn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Rn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Rn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Rn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Rn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Rn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Rn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Rn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Rn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Rn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Rn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Rn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Rn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Rn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Rn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Rn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Rn.PHUNIT={type:3,value:"PHUNIT"},Rn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Rn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Rn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Rn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Rn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Rn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Rn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Rn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Rn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Rn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Rn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Rn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.POSITIVE={type:3,value:"POSITIVE"},Cn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ANCHORPLATE={type:3,value:"ANCHORPLATE"},_n.BRACKET={type:3,value:"BRACKET"},_n.SHOE={type:3,value:"SHOE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Bn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Bn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Bn.MANHOLE={type:3,value:"MANHOLE"},Bn.METERCHAMBER={type:3,value:"METERCHAMBER"},Bn.SUMP={type:3,value:"SUMP"},Bn.TRENCH={type:3,value:"TRENCH"},Bn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.CABLE={type:3,value:"CABLE"},On.CABLECARRIER={type:3,value:"CABLECARRIER"},On.DUCT={type:3,value:"DUCT"},On.PIPE={type:3,value:"PIPE"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Sn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Sn.CHEMICAL={type:3,value:"CHEMICAL"},Sn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Sn.COMMUNICATION={type:3,value:"COMMUNICATION"},Sn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Sn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Sn.CONTROL={type:3,value:"CONTROL"},Sn.CONVEYING={type:3,value:"CONVEYING"},Sn.DATA={type:3,value:"DATA"},Sn.DISPOSAL={type:3,value:"DISPOSAL"},Sn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Sn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Sn.DRAINAGE={type:3,value:"DRAINAGE"},Sn.EARTHING={type:3,value:"EARTHING"},Sn.ELECTRICAL={type:3,value:"ELECTRICAL"},Sn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Sn.EXHAUST={type:3,value:"EXHAUST"},Sn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Sn.FUEL={type:3,value:"FUEL"},Sn.GAS={type:3,value:"GAS"},Sn.HAZARDOUS={type:3,value:"HAZARDOUS"},Sn.HEATING={type:3,value:"HEATING"},Sn.LIGHTING={type:3,value:"LIGHTING"},Sn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Sn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Sn.OIL={type:3,value:"OIL"},Sn.OPERATIONAL={type:3,value:"OPERATIONAL"},Sn.POWERGENERATION={type:3,value:"POWERGENERATION"},Sn.RAINWATER={type:3,value:"RAINWATER"},Sn.REFRIGERATION={type:3,value:"REFRIGERATION"},Sn.SECURITY={type:3,value:"SECURITY"},Sn.SEWAGE={type:3,value:"SEWAGE"},Sn.SIGNAL={type:3,value:"SIGNAL"},Sn.STORMWATER={type:3,value:"STORMWATER"},Sn.TELEPHONE={type:3,value:"TELEPHONE"},Sn.TV={type:3,value:"TV"},Sn.VACUUM={type:3,value:"VACUUM"},Sn.VENT={type:3,value:"VENT"},Sn.VENTILATION={type:3,value:"VENTILATION"},Sn.WASTEWATER={type:3,value:"WASTEWATER"},Sn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.PUBLIC={type:3,value:"PUBLIC"},Nn.RESTRICTED={type:3,value:"RESTRICTED"},Nn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Nn.PERSONAL={type:3,value:"PERSONAL"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.DRAFT={type:3,value:"DRAFT"},Ln.FINALDRAFT={type:3,value:"FINALDRAFT"},Ln.FINAL={type:3,value:"FINAL"},Ln.REVISION={type:3,value:"REVISION"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Ln;var xn=P((function e(){b(this,e)}));xn.SWINGING={type:3,value:"SWINGING"},xn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},xn.SLIDING={type:3,value:"SLIDING"},xn.FOLDING={type:3,value:"FOLDING"},xn.REVOLVING={type:3,value:"REVOLVING"},xn.ROLLINGUP={type:3,value:"ROLLINGUP"},xn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=xn;var Mn=P((function e(){b(this,e)}));Mn.LEFT={type:3,value:"LEFT"},Mn.MIDDLE={type:3,value:"MIDDLE"},Mn.RIGHT={type:3,value:"RIGHT"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=Mn;var Fn=P((function e(){b(this,e)}));Fn.ALUMINIUM={type:3,value:"ALUMINIUM"},Fn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Fn.STEEL={type:3,value:"STEEL"},Fn.WOOD={type:3,value:"WOOD"},Fn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Fn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Fn.PLASTIC={type:3,value:"PLASTIC"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Hn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Hn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Hn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Hn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Hn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Hn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Hn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Hn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Hn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Hn.REVOLVING={type:3,value:"REVOLVING"},Hn.ROLLINGUP={type:3,value:"ROLLINGUP"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Hn;var Un=P((function e(){b(this,e)}));Un.DOOR={type:3,value:"DOOR"},Un.GATE={type:3,value:"GATE"},Un.TRAPDOOR={type:3,value:"TRAPDOOR"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Gn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Gn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Gn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Gn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Gn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Gn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Gn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Gn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Gn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Gn.REVOLVING={type:3,value:"REVOLVING"},Gn.ROLLINGUP={type:3,value:"ROLLINGUP"},Gn.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Gn.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Gn;var kn=P((function e(){b(this,e)}));kn.BEND={type:3,value:"BEND"},kn.CONNECTOR={type:3,value:"CONNECTOR"},kn.ENTRY={type:3,value:"ENTRY"},kn.EXIT={type:3,value:"EXIT"},kn.JUNCTION={type:3,value:"JUNCTION"},kn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},kn.TRANSITION={type:3,value:"TRANSITION"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},jn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.FLATOVAL={type:3,value:"FLATOVAL"},Vn.RECTANGULAR={type:3,value:"RECTANGULAR"},Vn.ROUND={type:3,value:"ROUND"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.DISHWASHER={type:3,value:"DISHWASHER"},Qn.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Qn.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Qn.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Qn.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Qn.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Qn.FREEZER={type:3,value:"FREEZER"},Qn.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Qn.HANDDRYER={type:3,value:"HANDDRYER"},Qn.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Qn.MICROWAVE={type:3,value:"MICROWAVE"},Qn.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Qn.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Qn.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Qn.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Qn.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Wn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Wn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Wn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.BATTERY={type:3,value:"BATTERY"},zn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},zn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},zn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},zn.UPS={type:3,value:"UPS"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CHP={type:3,value:"CHP"},Kn.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Kn.STANDALONE={type:3,value:"STANDALONE"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DC={type:3,value:"DC"},Yn.INDUCTION={type:3,value:"INDUCTION"},Yn.POLYPHASE={type:3,value:"POLYPHASE"},Yn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Yn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Yn.USERDEFINED={type:3,value:"USERDEFINED"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.TIMECLOCK={type:3,value:"TIMECLOCK"},Xn.TIMEDELAY={type:3,value:"TIMEDELAY"},Xn.RELAY={type:3,value:"RELAY"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},qn.ARCH={type:3,value:"ARCH"},qn.BEAM_GRID={type:3,value:"BEAM_GRID"},qn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},qn.GIRDER={type:3,value:"GIRDER"},qn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},qn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},qn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},qn.TRUSS={type:3,value:"TRUSS"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.COMPLEX={type:3,value:"COMPLEX"},Jn.ELEMENT={type:3,value:"ELEMENT"},Jn.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},Zn.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},$n.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},$n.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},$n.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},$n.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},$n.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},$n.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},er.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},er.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},er.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},er.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},er.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.EVENTRULE={type:3,value:"EVENTRULE"},tr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},tr.EVENTTIME={type:3,value:"EVENTTIME"},tr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.STARTEVENT={type:3,value:"STARTEVENT"},nr.ENDEVENT={type:3,value:"ENDEVENT"},nr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.EXTERNAL={type:3,value:"EXTERNAL"},rr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},rr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},rr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},ir.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},ir.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},ir.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},ir.TUBEAXIAL={type:3,value:"TUBEAXIAL"},ir.VANEAXIAL={type:3,value:"VANEAXIAL"},ir.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.GLUE={type:3,value:"GLUE"},ar.MORTAR={type:3,value:"MORTAR"},ar.WELD={type:3,value:"WELD"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},sr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},sr.ODORFILTER={type:3,value:"ODORFILTER"},sr.OILFILTER={type:3,value:"OILFILTER"},sr.STRAINER={type:3,value:"STRAINER"},sr.WATERFILTER={type:3,value:"WATERFILTER"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=sr;var or=P((function e(){b(this,e)}));or.BREECHINGINLET={type:3,value:"BREECHINGINLET"},or.FIREHYDRANT={type:3,value:"FIREHYDRANT"},or.HOSEREEL={type:3,value:"HOSEREEL"},or.SPRINKLER={type:3,value:"SPRINKLER"},or.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.SOURCE={type:3,value:"SOURCE"},lr.SINK={type:3,value:"SINK"},lr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=lr;var ur=P((function e(){b(this,e)}));ur.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ur.THERMOMETER={type:3,value:"THERMOMETER"},ur.AMMETER={type:3,value:"AMMETER"},ur.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ur.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ur.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ur.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ur.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.ENERGYMETER={type:3,value:"ENERGYMETER"},cr.GASMETER={type:3,value:"GASMETER"},cr.OILMETER={type:3,value:"OILMETER"},cr.WATERMETER={type:3,value:"WATERMETER"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},fr.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},fr.PAD_FOOTING={type:3,value:"PAD_FOOTING"},fr.PILE_CAP={type:3,value:"PILE_CAP"},fr.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHAIR={type:3,value:"CHAIR"},pr.TABLE={type:3,value:"TABLE"},pr.DESK={type:3,value:"DESK"},pr.BED={type:3,value:"BED"},pr.FILECABINET={type:3,value:"FILECABINET"},pr.SHELF={type:3,value:"SHELF"},pr.SOFA={type:3,value:"SOFA"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.TERRAIN={type:3,value:"TERRAIN"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},dr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},dr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},dr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},dr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},dr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},dr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=dr;var vr=P((function e(){b(this,e)}));vr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},vr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=vr;var hr=P((function e(){b(this,e)}));hr.RECTANGULAR={type:3,value:"RECTANGULAR"},hr.RADIAL={type:3,value:"RADIAL"},hr.TRIANGULAR={type:3,value:"TRIANGULAR"},hr.IRREGULAR={type:3,value:"IRREGULAR"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.PLATE={type:3,value:"PLATE"},Ir.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},yr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},yr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},yr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},yr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},yr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},yr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},yr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},yr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},yr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},yr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},yr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},yr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.CYCLONIC={type:3,value:"CYCLONIC"},mr.GREASE={type:3,value:"GREASE"},mr.OIL={type:3,value:"OIL"},mr.PETROL={type:3,value:"PETROL"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.INTERNAL={type:3,value:"INTERNAL"},wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=wr;var gr=P((function e(){b(this,e)}));gr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},gr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},gr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.DATA={type:3,value:"DATA"},Er.POWER={type:3,value:"POWER"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Tr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Tr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Tr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Tr;var br=P((function e(){b(this,e)}));br.ADMINISTRATION={type:3,value:"ADMINISTRATION"},br.CARPENTRY={type:3,value:"CARPENTRY"},br.CLEANING={type:3,value:"CLEANING"},br.CONCRETE={type:3,value:"CONCRETE"},br.DRYWALL={type:3,value:"DRYWALL"},br.ELECTRIC={type:3,value:"ELECTRIC"},br.FINISHING={type:3,value:"FINISHING"},br.FLOORING={type:3,value:"FLOORING"},br.GENERAL={type:3,value:"GENERAL"},br.HVAC={type:3,value:"HVAC"},br.LANDSCAPING={type:3,value:"LANDSCAPING"},br.MASONRY={type:3,value:"MASONRY"},br.PAINTING={type:3,value:"PAINTING"},br.PAVING={type:3,value:"PAVING"},br.PLUMBING={type:3,value:"PLUMBING"},br.ROOFING={type:3,value:"ROOFING"},br.SITEGRADING={type:3,value:"SITEGRADING"},br.STEELWORK={type:3,value:"STEELWORK"},br.SURVEYING={type:3,value:"SURVEYING"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Dr.FLUORESCENT={type:3,value:"FLUORESCENT"},Dr.HALOGEN={type:3,value:"HALOGEN"},Dr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Dr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Dr.LED={type:3,value:"LED"},Dr.METALHALIDE={type:3,value:"METALHALIDE"},Dr.OLED={type:3,value:"OLED"},Dr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.AXIS1={type:3,value:"AXIS1"},Pr.AXIS2={type:3,value:"AXIS2"},Pr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.TYPE_A={type:3,value:"TYPE_A"},Rr.TYPE_B={type:3,value:"TYPE_B"},Rr.TYPE_C={type:3,value:"TYPE_C"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Cr.FLUORESCENT={type:3,value:"FLUORESCENT"},Cr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Cr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Cr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Cr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Cr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Cr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Cr.METALHALIDE={type:3,value:"METALHALIDE"},Cr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Cr;var _r=P((function e(){b(this,e)}));_r.POINTSOURCE={type:3,value:"POINTSOURCE"},_r.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},_r.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Br.LOAD_CASE={type:3,value:"LOAD_CASE"},Br.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.LOGICALAND={type:3,value:"LOGICALAND"},Or.LOGICALOR={type:3,value:"LOGICALOR"},Or.LOGICALXOR={type:3,value:"LOGICALXOR"},Or.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Or.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.ANCHORBOLT={type:3,value:"ANCHORBOLT"},Sr.BOLT={type:3,value:"BOLT"},Sr.DOWEL={type:3,value:"DOWEL"},Sr.NAIL={type:3,value:"NAIL"},Sr.NAILPLATE={type:3,value:"NAILPLATE"},Sr.RIVET={type:3,value:"RIVET"},Sr.SCREW={type:3,value:"SCREW"},Sr.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},Sr.STAPLE={type:3,value:"STAPLE"},Sr.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.AIRSTATION={type:3,value:"AIRSTATION"},Nr.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},Nr.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},Nr.OXYGENPLANT={type:3,value:"OXYGENPLANT"},Nr.VACUUMSTATION={type:3,value:"VACUUMSTATION"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.BRACE={type:3,value:"BRACE"},Lr.CHORD={type:3,value:"CHORD"},Lr.COLLAR={type:3,value:"COLLAR"},Lr.MEMBER={type:3,value:"MEMBER"},Lr.MULLION={type:3,value:"MULLION"},Lr.PLATE={type:3,value:"PLATE"},Lr.POST={type:3,value:"POST"},Lr.PURLIN={type:3,value:"PURLIN"},Lr.RAFTER={type:3,value:"RAFTER"},Lr.STRINGER={type:3,value:"STRINGER"},Lr.STRUT={type:3,value:"STRUT"},Lr.STUD={type:3,value:"STUD"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Lr;var xr=P((function e(){b(this,e)}));xr.BELTDRIVE={type:3,value:"BELTDRIVE"},xr.COUPLING={type:3,value:"COUPLING"},xr.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=xr;var Mr=P((function e(){b(this,e)}));Mr.NULL={type:3,value:"NULL"},e.IfcNullStyle=Mr;var Fr=P((function e(){b(this,e)}));Fr.PRODUCT={type:3,value:"PRODUCT"},Fr.PROCESS={type:3,value:"PROCESS"},Fr.CONTROL={type:3,value:"CONTROL"},Fr.RESOURCE={type:3,value:"RESOURCE"},Fr.ACTOR={type:3,value:"ACTOR"},Fr.GROUP={type:3,value:"GROUP"},Fr.PROJECT={type:3,value:"PROJECT"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Hr.CODEWAIVER={type:3,value:"CODEWAIVER"},Hr.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Hr.EXTERNAL={type:3,value:"EXTERNAL"},Hr.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Hr.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Hr.MODELVIEW={type:3,value:"MODELVIEW"},Hr.PARAMETER={type:3,value:"PARAMETER"},Hr.REQUIREMENT={type:3,value:"REQUIREMENT"},Hr.SPECIFICATION={type:3,value:"SPECIFICATION"},Hr.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.ASSIGNEE={type:3,value:"ASSIGNEE"},Ur.ASSIGNOR={type:3,value:"ASSIGNOR"},Ur.LESSEE={type:3,value:"LESSEE"},Ur.LESSOR={type:3,value:"LESSOR"},Ur.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ur.OWNER={type:3,value:"OWNER"},Ur.TENANT={type:3,value:"TENANT"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.OPENING={type:3,value:"OPENING"},Gr.RECESS={type:3,value:"RECESS"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},kr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},kr.POWEROUTLET={type:3,value:"POWEROUTLET"},kr.DATAOUTLET={type:3,value:"DATAOUTLET"},kr.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.GRILL={type:3,value:"GRILL"},Vr.LOUVER={type:3,value:"LOUVER"},Vr.SCREEN={type:3,value:"SCREEN"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.ACCESS={type:3,value:"ACCESS"},Qr.BUILDING={type:3,value:"BUILDING"},Qr.WORK={type:3,value:"WORK"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.PHYSICAL={type:3,value:"PHYSICAL"},Wr.VIRTUAL={type:3,value:"VIRTUAL"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=Wr;var zr=P((function e(){b(this,e)}));zr.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},zr.COMPOSITE={type:3,value:"COMPOSITE"},zr.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},zr.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.BORED={type:3,value:"BORED"},Kr.DRIVEN={type:3,value:"DRIVEN"},Kr.JETGROUTING={type:3,value:"JETGROUTING"},Kr.COHESION={type:3,value:"COHESION"},Kr.FRICTION={type:3,value:"FRICTION"},Kr.SUPPORT={type:3,value:"SUPPORT"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.BEND={type:3,value:"BEND"},Yr.CONNECTOR={type:3,value:"CONNECTOR"},Yr.ENTRY={type:3,value:"ENTRY"},Yr.EXIT={type:3,value:"EXIT"},Yr.JUNCTION={type:3,value:"JUNCTION"},Yr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Yr.TRANSITION={type:3,value:"TRANSITION"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.CULVERT={type:3,value:"CULVERT"},Xr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Xr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Xr.GUTTER={type:3,value:"GUTTER"},Xr.SPOOL={type:3,value:"SPOOL"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},qr.SHEET={type:3,value:"SHEET"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.CURVE3D={type:3,value:"CURVE3D"},Jr.PCURVE_S1={type:3,value:"PCURVE_S1"},Jr.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jr;var Zr=P((function e(){b(this,e)}));Zr.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Zr.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Zr.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Zr.CALIBRATION={type:3,value:"CALIBRATION"},Zr.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Zr.SHUTDOWN={type:3,value:"SHUTDOWN"},Zr.STARTUP={type:3,value:"STARTUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CURVE={type:3,value:"CURVE"},$r.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.CHANGEORDER={type:3,value:"CHANGEORDER"},ei.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},ei.MOVEORDER={type:3,value:"MOVEORDER"},ei.PURCHASEORDER={type:3,value:"PURCHASEORDER"},ei.WORKORDER={type:3,value:"WORKORDER"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ti.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=ti;var ni=P((function e(){b(this,e)}));ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ri.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ri.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ri.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ri.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ri.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ri.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ELECTRONIC={type:3,value:"ELECTRONIC"},ii.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},ii.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},ii.THERMAL={type:3,value:"THERMAL"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ai.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ai.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ai.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ai.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ai.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ai.VARISTOR={type:3,value:"VARISTOR"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.CIRCULATOR={type:3,value:"CIRCULATOR"},si.ENDSUCTION={type:3,value:"ENDSUCTION"},si.SPLITCASE={type:3,value:"SPLITCASE"},si.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},si.SUMPPUMP={type:3,value:"SUMPPUMP"},si.VERTICALINLINE={type:3,value:"VERTICALINLINE"},si.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.HANDRAIL={type:3,value:"HANDRAIL"},oi.GUARDRAIL={type:3,value:"GUARDRAIL"},oi.BALUSTRADE={type:3,value:"BALUSTRADE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=oi;var li=P((function e(){b(this,e)}));li.STRAIGHT={type:3,value:"STRAIGHT"},li.SPIRAL={type:3,value:"SPIRAL"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.DAILY={type:3,value:"DAILY"},ci.WEEKLY={type:3,value:"WEEKLY"},ci.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},ci.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},ci.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},ci.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},ci.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},ci.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.BLINN={type:3,value:"BLINN"},fi.FLAT={type:3,value:"FLAT"},fi.GLASS={type:3,value:"GLASS"},fi.MATT={type:3,value:"MATT"},fi.METAL={type:3,value:"METAL"},fi.MIRROR={type:3,value:"MIRROR"},fi.PHONG={type:3,value:"PHONG"},fi.PLASTIC={type:3,value:"PLASTIC"},fi.STRAUSS={type:3,value:"STRAUSS"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=fi;var pi=P((function e(){b(this,e)}));pi.MAIN={type:3,value:"MAIN"},pi.SHEAR={type:3,value:"SHEAR"},pi.LIGATURE={type:3,value:"LIGATURE"},pi.STUD={type:3,value:"STUD"},pi.PUNCHING={type:3,value:"PUNCHING"},pi.EDGE={type:3,value:"EDGE"},pi.RING={type:3,value:"RING"},pi.ANCHORING={type:3,value:"ANCHORING"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.PLAIN={type:3,value:"PLAIN"},Ai.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Ai;var di=P((function e(){b(this,e)}));di.ANCHORING={type:3,value:"ANCHORING"},di.EDGE={type:3,value:"EDGE"},di.LIGATURE={type:3,value:"LIGATURE"},di.MAIN={type:3,value:"MAIN"},di.PUNCHING={type:3,value:"PUNCHING"},di.RING={type:3,value:"RING"},di.SHEAR={type:3,value:"SHEAR"},di.STUD={type:3,value:"STUD"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.SUPPLIER={type:3,value:"SUPPLIER"},hi.MANUFACTURER={type:3,value:"MANUFACTURER"},hi.CONTRACTOR={type:3,value:"CONTRACTOR"},hi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},hi.ARCHITECT={type:3,value:"ARCHITECT"},hi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},hi.COSTENGINEER={type:3,value:"COSTENGINEER"},hi.CLIENT={type:3,value:"CLIENT"},hi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},hi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},hi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},hi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},hi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},hi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},hi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},hi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},hi.ENGINEER={type:3,value:"ENGINEER"},hi.OWNER={type:3,value:"OWNER"},hi.CONSULTANT={type:3,value:"CONSULTANT"},hi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},hi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},hi.RESELLER={type:3,value:"RESELLER"},hi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ii.SHED_ROOF={type:3,value:"SHED_ROOF"},Ii.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ii.HIP_ROOF={type:3,value:"HIP_ROOF"},Ii.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ii.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ii.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ii.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ii.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ii.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ii.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ii.DOME_ROOF={type:3,value:"DOME_ROOF"},Ii.FREEFORM={type:3,value:"FREEFORM"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.EXA={type:3,value:"EXA"},yi.PETA={type:3,value:"PETA"},yi.TERA={type:3,value:"TERA"},yi.GIGA={type:3,value:"GIGA"},yi.MEGA={type:3,value:"MEGA"},yi.KILO={type:3,value:"KILO"},yi.HECTO={type:3,value:"HECTO"},yi.DECA={type:3,value:"DECA"},yi.DECI={type:3,value:"DECI"},yi.CENTI={type:3,value:"CENTI"},yi.MILLI={type:3,value:"MILLI"},yi.MICRO={type:3,value:"MICRO"},yi.NANO={type:3,value:"NANO"},yi.PICO={type:3,value:"PICO"},yi.FEMTO={type:3,value:"FEMTO"},yi.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=yi;var mi=P((function e(){b(this,e)}));mi.AMPERE={type:3,value:"AMPERE"},mi.BECQUEREL={type:3,value:"BECQUEREL"},mi.CANDELA={type:3,value:"CANDELA"},mi.COULOMB={type:3,value:"COULOMB"},mi.CUBIC_METRE={type:3,value:"CUBIC_METRE"},mi.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},mi.FARAD={type:3,value:"FARAD"},mi.GRAM={type:3,value:"GRAM"},mi.GRAY={type:3,value:"GRAY"},mi.HENRY={type:3,value:"HENRY"},mi.HERTZ={type:3,value:"HERTZ"},mi.JOULE={type:3,value:"JOULE"},mi.KELVIN={type:3,value:"KELVIN"},mi.LUMEN={type:3,value:"LUMEN"},mi.LUX={type:3,value:"LUX"},mi.METRE={type:3,value:"METRE"},mi.MOLE={type:3,value:"MOLE"},mi.NEWTON={type:3,value:"NEWTON"},mi.OHM={type:3,value:"OHM"},mi.PASCAL={type:3,value:"PASCAL"},mi.RADIAN={type:3,value:"RADIAN"},mi.SECOND={type:3,value:"SECOND"},mi.SIEMENS={type:3,value:"SIEMENS"},mi.SIEVERT={type:3,value:"SIEVERT"},mi.SQUARE_METRE={type:3,value:"SQUARE_METRE"},mi.STERADIAN={type:3,value:"STERADIAN"},mi.TESLA={type:3,value:"TESLA"},mi.VOLT={type:3,value:"VOLT"},mi.WATT={type:3,value:"WATT"},mi.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=mi;var wi=P((function e(){b(this,e)}));wi.BATH={type:3,value:"BATH"},wi.BIDET={type:3,value:"BIDET"},wi.CISTERN={type:3,value:"CISTERN"},wi.SHOWER={type:3,value:"SHOWER"},wi.SINK={type:3,value:"SINK"},wi.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},wi.TOILETPAN={type:3,value:"TOILETPAN"},wi.URINAL={type:3,value:"URINAL"},wi.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},wi.WCSEAT={type:3,value:"WCSEAT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.UNIFORM={type:3,value:"UNIFORM"},gi.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.COSENSOR={type:3,value:"COSENSOR"},Ei.CO2SENSOR={type:3,value:"CO2SENSOR"},Ei.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Ei.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Ei.FIRESENSOR={type:3,value:"FIRESENSOR"},Ei.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Ei.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Ei.GASSENSOR={type:3,value:"GASSENSOR"},Ei.HEATSENSOR={type:3,value:"HEATSENSOR"},Ei.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Ei.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Ei.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Ei.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Ei.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Ei.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Ei.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Ei.PHSENSOR={type:3,value:"PHSENSOR"},Ei.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Ei.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Ei.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Ei.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Ei.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Ei.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Ei.WINDSENSOR={type:3,value:"WINDSENSOR"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.START_START={type:3,value:"START_START"},Ti.START_FINISH={type:3,value:"START_FINISH"},Ti.FINISH_START={type:3,value:"FINISH_START"},Ti.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ti;var bi=P((function e(){b(this,e)}));bi.JALOUSIE={type:3,value:"JALOUSIE"},bi.SHUTTER={type:3,value:"SHUTTER"},bi.AWNING={type:3,value:"AWNING"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=bi;var Di=P((function e(){b(this,e)}));Di.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Di.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Di.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Di.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Di.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Di.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Di.Q_LENGTH={type:3,value:"Q_LENGTH"},Di.Q_AREA={type:3,value:"Q_AREA"},Di.Q_VOLUME={type:3,value:"Q_VOLUME"},Di.Q_COUNT={type:3,value:"Q_COUNT"},Di.Q_WEIGHT={type:3,value:"Q_WEIGHT"},Di.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.FLOOR={type:3,value:"FLOOR"},Pi.ROOF={type:3,value:"ROOF"},Pi.LANDING={type:3,value:"LANDING"},Pi.BASESLAB={type:3,value:"BASESLAB"},Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ri.SOLARPANEL={type:3,value:"SOLARPANEL"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.CONVECTOR={type:3,value:"CONVECTOR"},Ci.RADIATOR={type:3,value:"RADIATOR"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Ci;var _i=P((function e(){b(this,e)}));_i.SPACE={type:3,value:"SPACE"},_i.PARKING={type:3,value:"PARKING"},_i.GFA={type:3,value:"GFA"},_i.INTERNAL={type:3,value:"INTERNAL"},_i.EXTERNAL={type:3,value:"EXTERNAL"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Bi.FIRESAFETY={type:3,value:"FIRESAFETY"},Bi.LIGHTING={type:3,value:"LIGHTING"},Bi.OCCUPANCY={type:3,value:"OCCUPANCY"},Bi.SECURITY={type:3,value:"SECURITY"},Bi.THERMAL={type:3,value:"THERMAL"},Bi.TRANSPORT={type:3,value:"TRANSPORT"},Bi.VENTILATION={type:3,value:"VENTILATION"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.BIRDCAGE={type:3,value:"BIRDCAGE"},Oi.COWL={type:3,value:"COWL"},Oi.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.STRAIGHT={type:3,value:"STRAIGHT"},Si.WINDER={type:3,value:"WINDER"},Si.SPIRAL={type:3,value:"SPIRAL"},Si.CURVED={type:3,value:"CURVED"},Si.FREEFORM={type:3,value:"FREEFORM"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ni.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ni.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ni.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ni.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ni.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ni.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ni.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ni.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ni.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ni.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ni.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ni.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ni.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.READWRITE={type:3,value:"READWRITE"},Li.READONLY={type:3,value:"READONLY"},Li.LOCKED={type:3,value:"LOCKED"},Li.READWRITELOCKED={type:3,value:"READWRITELOCKED"},Li.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=Li;var xi=P((function e(){b(this,e)}));xi.CONST={type:3,value:"CONST"},xi.LINEAR={type:3,value:"LINEAR"},xi.POLYGONAL={type:3,value:"POLYGONAL"},xi.EQUIDISTANT={type:3,value:"EQUIDISTANT"},xi.SINUS={type:3,value:"SINUS"},xi.PARABOLA={type:3,value:"PARABOLA"},xi.DISCRETE={type:3,value:"DISCRETE"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=xi;var Mi=P((function e(){b(this,e)}));Mi.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Mi.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Mi.CABLE={type:3,value:"CABLE"},Mi.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Mi.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=Mi;var Fi=P((function e(){b(this,e)}));Fi.CONST={type:3,value:"CONST"},Fi.BILINEAR={type:3,value:"BILINEAR"},Fi.DISCRETE={type:3,value:"DISCRETE"},Fi.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Hi.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Hi.SHELL={type:3,value:"SHELL"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.PURCHASE={type:3,value:"PURCHASE"},Ui.WORK={type:3,value:"WORK"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.MARK={type:3,value:"MARK"},Gi.TAG={type:3,value:"TAG"},Gi.TREATMENT={type:3,value:"TREATMENT"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.POSITIVE={type:3,value:"POSITIVE"},ki.NEGATIVE={type:3,value:"NEGATIVE"},ki.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=ki;var ji=P((function e(){b(this,e)}));ji.CONTACTOR={type:3,value:"CONTACTOR"},ji.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ji.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ji.KEYPAD={type:3,value:"KEYPAD"},ji.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ji.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ji.STARTER={type:3,value:"STARTER"},ji.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ji.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ji.USERDEFINED={type:3,value:"USERDEFINED"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.PANEL={type:3,value:"PANEL"},Vi.WORKSURFACE={type:3,value:"WORKSURFACE"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.BASIN={type:3,value:"BASIN"},Qi.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Qi.EXPANSION={type:3,value:"EXPANSION"},Qi.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Qi.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Qi.STORAGE={type:3,value:"STORAGE"},Qi.VESSEL={type:3,value:"VESSEL"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Wi.WORKTIME={type:3,value:"WORKTIME"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ATTENDANCE={type:3,value:"ATTENDANCE"},zi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},zi.DEMOLITION={type:3,value:"DEMOLITION"},zi.DISMANTLE={type:3,value:"DISMANTLE"},zi.DISPOSAL={type:3,value:"DISPOSAL"},zi.INSTALLATION={type:3,value:"INSTALLATION"},zi.LOGISTIC={type:3,value:"LOGISTIC"},zi.MAINTENANCE={type:3,value:"MAINTENANCE"},zi.MOVE={type:3,value:"MOVE"},zi.OPERATION={type:3,value:"OPERATION"},zi.REMOVAL={type:3,value:"REMOVAL"},zi.RENOVATION={type:3,value:"RENOVATION"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.COUPLER={type:3,value:"COUPLER"},Ki.FIXED_END={type:3,value:"FIXED_END"},Ki.TENSIONING_END={type:3,value:"TENSIONING_END"},Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BAR={type:3,value:"BAR"},Yi.COATED={type:3,value:"COATED"},Yi.STRAND={type:3,value:"STRAND"},Yi.WIRE={type:3,value:"WIRE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.LEFT={type:3,value:"LEFT"},Xi.RIGHT={type:3,value:"RIGHT"},Xi.UP={type:3,value:"UP"},Xi.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Xi;var qi=P((function e(){b(this,e)}));qi.CONTINUOUS={type:3,value:"CONTINUOUS"},qi.DISCRETE={type:3,value:"DISCRETE"},qi.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},qi.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},qi.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},qi.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.CURRENT={type:3,value:"CURRENT"},Ji.FREQUENCY={type:3,value:"FREQUENCY"},Ji.INVERTER={type:3,value:"INVERTER"},Ji.RECTIFIER={type:3,value:"RECTIFIER"},Ji.VOLTAGE={type:3,value:"VOLTAGE"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Zi.CONTINUOUS={type:3,value:"CONTINUOUS"},Zi.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Zi.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Zi;var $i=P((function e(){b(this,e)}));$i.ELEVATOR={type:3,value:"ELEVATOR"},$i.ESCALATOR={type:3,value:"ESCALATOR"},$i.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},$i.CRANEWAY={type:3,value:"CRANEWAY"},$i.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},$i.USERDEFINED={type:3,value:"USERDEFINED"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=$i;var ea=P((function e(){b(this,e)}));ea.CARTESIAN={type:3,value:"CARTESIAN"},ea.PARAMETER={type:3,value:"PARAMETER"},ea.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ea;var ta=P((function e(){b(this,e)}));ta.FINNED={type:3,value:"FINNED"},ta.USERDEFINED={type:3,value:"USERDEFINED"},ta.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ta;var na=P((function e(){b(this,e)}));na.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},na.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},na.AREAUNIT={type:3,value:"AREAUNIT"},na.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},na.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},na.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},na.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},na.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},na.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},na.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},na.ENERGYUNIT={type:3,value:"ENERGYUNIT"},na.FORCEUNIT={type:3,value:"FORCEUNIT"},na.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},na.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},na.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},na.LENGTHUNIT={type:3,value:"LENGTHUNIT"},na.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},na.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},na.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},na.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},na.MASSUNIT={type:3,value:"MASSUNIT"},na.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},na.POWERUNIT={type:3,value:"POWERUNIT"},na.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},na.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},na.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},na.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},na.TIMEUNIT={type:3,value:"TIMEUNIT"},na.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},na.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=na;var ra=P((function e(){b(this,e)}));ra.ALARMPANEL={type:3,value:"ALARMPANEL"},ra.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ra.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ra.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ra.MIMICPANEL={type:3,value:"MIMICPANEL"},ra.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ra.THERMOSTAT={type:3,value:"THERMOSTAT"},ra.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ra;var ia=P((function e(){b(this,e)}));ia.AIRHANDLER={type:3,value:"AIRHANDLER"},ia.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ia.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ia.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ia.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.AIRRELEASE={type:3,value:"AIRRELEASE"},aa.ANTIVACUUM={type:3,value:"ANTIVACUUM"},aa.CHANGEOVER={type:3,value:"CHANGEOVER"},aa.CHECK={type:3,value:"CHECK"},aa.COMMISSIONING={type:3,value:"COMMISSIONING"},aa.DIVERTING={type:3,value:"DIVERTING"},aa.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},aa.DOUBLECHECK={type:3,value:"DOUBLECHECK"},aa.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},aa.FAUCET={type:3,value:"FAUCET"},aa.FLUSHING={type:3,value:"FLUSHING"},aa.GASCOCK={type:3,value:"GASCOCK"},aa.GASTAP={type:3,value:"GASTAP"},aa.ISOLATING={type:3,value:"ISOLATING"},aa.MIXING={type:3,value:"MIXING"},aa.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},aa.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},aa.REGULATING={type:3,value:"REGULATING"},aa.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},aa.STEAMTRAP={type:3,value:"STEAMTRAP"},aa.STOPCOCK={type:3,value:"STOPCOCK"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.COMPRESSION={type:3,value:"COMPRESSION"},sa.SPRING={type:3,value:"SPRING"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.CUTOUT={type:3,value:"CUTOUT"},oa.NOTCH={type:3,value:"NOTCH"},oa.HOLE={type:3,value:"HOLE"},oa.MITER={type:3,value:"MITER"},oa.CHAMFER={type:3,value:"CHAMFER"},oa.EDGE={type:3,value:"EDGE"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=oa;var la=P((function e(){b(this,e)}));la.MOVABLE={type:3,value:"MOVABLE"},la.PARAPET={type:3,value:"PARAPET"},la.PARTITIONING={type:3,value:"PARTITIONING"},la.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},la.SHEAR={type:3,value:"SHEAR"},la.SOLIDWALL={type:3,value:"SOLIDWALL"},la.STANDARD={type:3,value:"STANDARD"},la.POLYGONAL={type:3,value:"POLYGONAL"},la.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.FLOORTRAP={type:3,value:"FLOORTRAP"},ua.FLOORWASTE={type:3,value:"FLOORWASTE"},ua.GULLYSUMP={type:3,value:"GULLYSUMP"},ua.GULLYTRAP={type:3,value:"GULLYTRAP"},ua.ROOFDRAIN={type:3,value:"ROOFDRAIN"},ua.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},ua.WASTETRAP={type:3,value:"WASTETRAP"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},ca.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},ca.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},ca.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},ca.TOPHUNG={type:3,value:"TOPHUNG"},ca.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},ca.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},ca.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},ca.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},ca.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},ca.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},ca.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},ca.OTHEROPERATION={type:3,value:"OTHEROPERATION"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=ca;var fa=P((function e(){b(this,e)}));fa.LEFT={type:3,value:"LEFT"},fa.MIDDLE={type:3,value:"MIDDLE"},fa.RIGHT={type:3,value:"RIGHT"},fa.BOTTOM={type:3,value:"BOTTOM"},fa.TOP={type:3,value:"TOP"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=fa;var pa=P((function e(){b(this,e)}));pa.ALUMINIUM={type:3,value:"ALUMINIUM"},pa.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},pa.STEEL={type:3,value:"STEEL"},pa.WOOD={type:3,value:"WOOD"},pa.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},pa.PLASTIC={type:3,value:"PLASTIC"},pa.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Aa.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Aa.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Aa.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Aa.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Aa.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Aa.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Aa.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Aa.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Aa;var da=P((function e(){b(this,e)}));da.WINDOW={type:3,value:"WINDOW"},da.SKYLIGHT={type:3,value:"SKYLIGHT"},da.LIGHTDOME={type:3,value:"LIGHTDOME"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=da;var va=P((function e(){b(this,e)}));va.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},va.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},va.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},va.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},va.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},va.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},va.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},va.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},va.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=va;var ha=P((function e(){b(this,e)}));ha.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},ha.SECONDSHIFT={type:3,value:"SECONDSHIFT"},ha.THIRDSHIFT={type:3,value:"THIRDSHIFT"},ha.USERDEFINED={type:3,value:"USERDEFINED"},ha.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.ACTUAL={type:3,value:"ACTUAL"},Ia.BASELINE={type:3,value:"BASELINE"},Ia.PLANNED={type:3,value:"PLANNED"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.ACTUAL={type:3,value:"ACTUAL"},ya.BASELINE={type:3,value:"BASELINE"},ya.PLANNED={type:3,value:"PLANNED"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=ba;var Da=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(ba);e.IfcBoundaryEdgeCondition=Da;var Pa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(ba);e.IfcBoundaryFaceCondition=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(ba);e.IfcBoundaryNodeCondition=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(Ra);e.IfcBoundaryNodeConditionWarping=Ca;var _a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=_a;var Ba=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(_a);e.IfcConnectionPointGeometry=Ba;var Oa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(_a);e.IfcConnectionSurfaceGeometry=Oa;var Sa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(_a);e.IfcConnectionVolumeGeometry=Sa;var Na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Na;var La=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=La;var xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=xa;var Ma=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(Ea);e.IfcCostValue=Ma;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=Ga;var ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(ka);e.IfcExternallyDefinedHatchStyle=ja;var Va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(ka);e.IfcExternallyDefinedSurfaceStyle=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(ka);e.IfcExternallyDefinedTextFont=Qa;var Wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Wa;var za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=za;var Ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(Ga);e.IfcLibraryInformation=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(ka);e.IfcLibraryReference=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=qa;var Ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).SourceCRS=r,f.TargetCRS=i,f.Eastings=a,f.Northings=s,f.OrthogonalHeight=o,f.XAxisAbscissa=l,f.XAxisOrdinate=u,f.Scale=c,f.type=3057273783,f}return P(n)}(La);e.IfcMapConversion=Ja;var Za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=$a;var es=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}($a);e.IfcMaterialLayer=es;var ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}($a);e.IfcMaterialLayerSet=ts;var ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(es);e.IfcMaterialLayerWithOffsets=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=rs;var is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}($a);e.IfcMaterialProfile=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}($a);e.IfcMaterialProfileSet=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(is);e.IfcMaterialProfileWithOffsets=ss;var os=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Na);e.IfcMetric=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=ps;var As=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Na);e.IfcObjective=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(ys);e.IfcPhysicalSimpleQuantity=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(wa);e.IfcPostalAddress=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Es;var Ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Es);e.IfcPresentationLayerWithStyle=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=bs;var Ds=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=Rs;var Cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(xa);e.IfcProjectedCRS=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(_s);e.IfcPropertyEnumeration=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(ms);e.IfcQuantityArea=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(ms);e.IfcQuantityCount=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(ms);e.IfcQuantityLength=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(ms);e.IfcQuantityTime=Ls;var xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(ms);e.IfcQuantityVolume=xs;var Ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(ms);e.IfcQuantityWeight=Ms;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=Us;var Gs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=js;var Vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=Vs;var Qs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(fs);e.IfcSIUnit=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(Us);e.IfcShapeModel=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ys);e.IfcShapeRepresentation=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(Js);e.IfcStructuralLoadConfiguration=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(Js);e.IfcStructuralLoadOrResult=$s;var eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}($s);e.IfcStructuralLoadStatic=eo;var to=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(eo);e.IfcStructuralLoadTemperature=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(Us);e.IfcStyleModel=no;var ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(ks);e.IfcStyledItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(no);e.IfcStyledRepresentation=io;var ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}($s);e.IfcSurfaceReinforcementArea=ao;var so=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(bs);e.IfcSurfaceStyle=so;var oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(gs);e.IfcSurfaceStyleLighting=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(gs);e.IfcSurfaceStyleRefraction=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(gs);e.IfcSurfaceStyleShading=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(gs);e.IfcSurfaceStyleWithTextures=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(gs);e.IfcSurfaceTexture=fo;var po=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(zs);e.IfcTaskTime=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(ho);e.IfcTaskTimeRecurring=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(wa);e.IfcTelecomAddress=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(bs);e.IfcTextStyle=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(gs);e.IfcTextStyleForDefinedFont=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(gs);e.IfcTextStyleTextModel=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(gs);e.IfcTextureCoordinate=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(Eo);e.IfcTextureCoordinateGenerator=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(Eo);e.IfcTextureMap=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(gs);e.IfcTextureVertex=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(gs);e.IfcTextureVertexList=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(ks);e.IfcTopologicalRepresentationItem=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ys);e.IfcTopologyRepresentation=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=So;var No=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(Bo);e.IfcVertex=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(No);e.IfcVertexPoint=Lo;var xo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=xo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.Start=o,u.Finish=l,u.type=1236880293,u}return P(n)}(zs);e.IfcWorkTime=Mo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(Vs);e.IfcApprovalRelationship=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(Rs);e.IfcArbitraryClosedProfileDef=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(Rs);e.IfcArbitraryOpenProfileDef=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ho);e.IfcArbitraryProfileDefWithVoids=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(fo);e.IfcBlobTexture=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Uo);e.IfcCenterLineProfileDef=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Location=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(Ga);e.IfcClassification=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(ka);e.IfcClassificationReference=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(gs);e.IfcColourRgbList=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(gs);e.IfcColourSpecification=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(Rs);e.IfcCompositeProfileDef=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(Bo);e.IfcConnectedFaceSet=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(_a);e.IfcConnectionCurveGeometry=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ba);e.IfcConnectionPointEccentricity=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(fs);e.IfcContextDependentUnit=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(fs);e.IfcConversionBasedUnit=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Zo);e.IfcConversionBasedUnitWithOffset=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(Vs);e.IfcCurrencyRelationship=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(bs);e.IfcCurveStyle=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(gs);e.IfcCurveStyleFont=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(gs);e.IfcCurveStyleFontAndScaling=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(gs);e.IfcCurveStyleFontPattern=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(Rs);e.IfcDerivedProfileDef=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(Ga);e.IfcDocumentInformation=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(Vs);e.IfcDocumentInformationRelationship=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(ka);e.IfcDocumentReference=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(Bo);e.IfcEdge=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(ul);e.IfcEdgeCurve=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(zs);e.IfcEventTime=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(_s);e.IfcExtendedProperties=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(Vs);e.IfcExternalReferenceRelationship=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(Bo);e.IfcFace=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(Bo);e.IfcFaceBound=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(vl);e.IfcFaceOuterBound=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(dl);e.IfcFaceSurface=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(qs);e.IfcFailureConnectionCondition=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelorDraughting=a,s.type=738692330,s}return P(n)}(bs);e.IfcFillAreaStyle=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Gs);e.IfcGeometricRepresentationContext=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(ks);e.IfcGeometricRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new D(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(wl);e.IfcGeometricRepresentationSubContext=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(gl);e.IfcGeometricSet=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(ps);e.IfcGridPlacement=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(gl);e.IfcHalfSpaceSolid=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(fo);e.IfcImageTexture=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(gs);e.IfcIndexedColourMap=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(Eo);e.IfcIndexedTextureMap=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(Cl);e.IfcIndexedTriangleTextureMap=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(Co);e.IfcIrregularTimeSeries=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(zs);e.IfcLagTime=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(gl);e.IfcLightSource=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Sl);e.IfcLightSourceAmbient=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Sl);e.IfcLightSourceDirectional=Ll;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Sl);e.IfcLightSourceGoniometric=xl;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Sl);e.IfcLightSourcePositional=Ml;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(Ml);e.IfcLightSourceSpot=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(ps);e.IfcLocalPlacement=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(Bo);e.IfcLoop=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(ks);e.IfcMappedItem=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}($a);e.IfcMaterial=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}($a);e.IfcMaterialConstituent=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}($a);e.IfcMaterialConstituentSet=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ps);e.IfcMaterialDefinitionRepresentation=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(os);e.IfcMaterialLayerSetUsage=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(os);e.IfcMaterialProfileSetUsage=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(zl);e.IfcMaterialProfileSetUsageTapering=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(pl);e.IfcMaterialProperties=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.Expression=o,l.type=853536259,l}return P(n)}(Vs);e.IfcMaterialRelationship=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,new H_(0),s)).ProfileType=r,o.ProfileName=i,o.ParentProfile=a,o.Label=s,o.type=2998442950,o}return P(n)}(al);e.IfcMirroredProfileDef=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Qs);e.IfcObjectDefinition=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Yo);e.IfcOpenShell=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(Vs);e.IfcOrganizationRelationship=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(ul);e.IfcOrientedEdge=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(Rs);e.IfcParameterizedProfileDef=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(Bo);e.IfcPath=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(ys);e.IfcPhysicalComplexQuantity=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(fo);e.IfcPixelTexture=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(gl);e.IfcPlacement=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(gl);e.IfcPlanarExtent=su;var ou=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(gl);e.IfcPoint=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(ou);e.IfcPointOnCurve=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(ou);e.IfcPointOnSurface=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Ul);e.IfcPolyLoop=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(Dl);e.IfcPolygonalBoundedHalfSpace=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(gs);e.IfcPreDefinedItem=pu;var Au=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(_s);e.IfcPreDefinedProperties=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(pu);e.IfcPreDefinedTextFont=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ps);e.IfcProductDefinitionShape=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(pl);e.IfcProfileProperties=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}(_s);e.IfcProperty=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Qs);e.IfcPropertyDefinition=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(Vs);e.IfcPropertyDependencyRelationship=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(yu);e.IfcPropertySetDefinition=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(yu);e.IfcPropertyTemplateDefinition=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(wu);e.IfcQuantitySet=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(tu);e.IfcRectangleProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(Co);e.IfcRegularTimeSeries=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(Au);e.IfcReinforcementBarProperties=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Qs);e.IfcRelationship=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(Vs);e.IfcResourceApprovalRelationship=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(Vs);e.IfcResourceConstraintRelationship=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(zs);e.IfcResourceTime=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(Tu);e.IfcRoundedRectangleProfileDef=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(Au);e.IfcSectionProperties=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(Au);e.IfcSectionReinforcementProperties=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(gl);e.IfcSectionedSpine=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(gl);e.IfcShellBasedSurfaceModel=Lu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(Iu);e.IfcSimpleProperty=xu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(qs);e.IfcSlippageConnectionCondition=Mu;var Fu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(gl);e.IfcSolidModel=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(eo);e.IfcStructuralLoadLinearForce=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(eo);e.IfcStructuralLoadPlanarForce=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(eo);e.IfcStructuralLoadSingleDisplacement=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Gu);e.IfcStructuralLoadSingleDisplacementDistortion=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(eo);e.IfcStructuralLoadSingleForce=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(ju);e.IfcStructuralLoadSingleForceWarping=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(ul);e.IfcSubedge=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(gl);e.IfcSurface=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(uo);e.IfcSurfaceStyleRendering=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Fu);e.IfcSweptAreaSolid=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Fu);e.IfcSweptDiskSolid=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Yu);e.IfcSweptDiskSolidPolygonal=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(Wu);e.IfcSweptSurface=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(tu);e.IfcTShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(gl);e.IfcTessellatedItem=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(gl);e.IfcTextLiteral=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}($u);e.IfcTextLiteralWithExtent=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(du);e.IfcTextStyleFontModel=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(tu);e.IfcTrapeziumProfileDef=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Jl);e.IfcTypeObject=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(rc);e.IfcTypeProcess=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(rc);e.IfcTypeProduct=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(rc);e.IfcTypeResource=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(tu);e.IfcUShapeProfileDef=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(gl);e.IfcVector=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Ul);e.IfcVertexLoop=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(ac);e.IfcWindowStyle=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(tu);e.IfcZShapeProfileDef=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(Il);e.IfcAdvancedFace=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(gl);e.IfcAnnotationFillArea=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(tu);e.IfcAsymmetricIShapeProfileDef=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(au);e.IfcAxis1Placement=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(au);e.IfcAxis2Placement2D=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(au);e.IfcAxis2Placement3D=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(gl);e.IfcBooleanResult=yc;var mc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(Wu);e.IfcBoundedSurface=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(gl);e.IfcBoundingBox=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(Dl);e.IfcBoxedHalfSpace=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(tu);e.IfcCShapeProfileDef=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(ou);e.IfcCartesianPoint=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(gl);e.IfcCartesianPointList=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=1675464909,i}return P(n)}(bc);e.IfcCartesianPointList2D=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=2059837836,i}return P(n)}(bc);e.IfcCartesianPointList3D=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(gl);e.IfcCartesianTransformationOperator=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Rc);e.IfcCartesianTransformationOperator2D=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Cc);e.IfcCartesianTransformationOperator2DnonUniform=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Rc);e.IfcCartesianTransformationOperator3D=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Bc);e.IfcCartesianTransformationOperator3DnonUniform=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(tu);e.IfcCircleProfileDef=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Yo);e.IfcClosedShell=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(zo);e.IfcColourRgb=Lc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Iu);e.IfcComplexProperty=xc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(gl);e.IfcCompositeCurveSegment=Mc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(sc);e.IfcConstructionResourceType=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Jl);e.IfcContext=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(Fc);e.IfcCrewResourceType=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(gl);e.IfcCsgPrimitive3D=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Fu);e.IfcCsgSolid=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(gl);e.IfcCurve=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(mc);e.IfcCurveBoundedPlane=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(mc);e.IfcCurveBoundedSurface=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(gl);e.IfcDirection=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(ac);e.IfcDoorStyle=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Ul);e.IfcEdgeLoop=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Eu);e.IfcElementQuantity=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(ac);e.IfcElementType=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(Wu);e.IfcElementarySurface=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(tu);e.IfcEllipseProfileDef=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(ic);e.IfcEventType=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Ku);e.IfcExtrudedAreaSolid=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}($c);e.IfcExtrudedAreaSolidTapered=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(gl);e.IfcFaceBasedSurfaceModel=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(gl);e.IfcFillAreaStyleHatching=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(gl);e.IfcFillAreaStyleTiles=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Ku);e.IfcFixedReferenceSweptAreaSolid=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Xc);e.IfcFurnishingElementType=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(sf);e.IfcFurnitureType=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Xc);e.IfcGeographicElementType=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Tl);e.IfcGeometricCurveSet=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(tu);e.IfcIShapeProfileDef=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Zu);e.IfcIndexedPolygonalFace=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(ff);e.IfcIndexedPolygonalFaceWithVoids=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(tu);e.IfcLShapeProfileDef=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(Fc);e.IfcLaborResourceType=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(jc);e.IfcLine=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Fu);e.IfcManifoldSolidBrep=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Jl);e.IfcObject=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(jc);e.IfcOffsetCurve2D=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(jc);e.IfcOffsetCurve3D=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(jc);e.IfcPcurve=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(su);e.IfcPlanarBox=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(qc);e.IfcPlane=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(pu);e.IfcPreDefinedColour=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(pu);e.IfcPreDefinedCurveFont=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(wu);e.IfcPreDefinedPropertySet=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(ic);e.IfcProcedureType=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(If);e.IfcProcess=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(If);e.IfcProduct=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Hc);e.IfcProject=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(Hc);e.IfcProjectLibrary=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(xu);e.IfcPropertyBoundedValue=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(xu);e.IfcPropertyEnumeratedValue=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(xu);e.IfcPropertyListValue=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(xu);e.IfcPropertyReferenceValue=Lf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(wu);e.IfcPropertySet=xf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(gu);e.IfcPropertySetTemplate=Mf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(xu);e.IfcPropertySingleValue=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Description=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(xu);e.IfcPropertyTableValue=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(gu);e.IfcPropertyTemplate=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Cf);e.IfcProxy=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(Tu);e.IfcRectangleHollowProfileDef=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Gc);e.IfcRectangularPyramid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(mc);e.IfcRectangularTrimmedSurface=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Df);e.IfcReinforcementDefinitionProperties=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Pu);e.IfcRelAssigns=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Wf);e.IfcRelAssignsToActor=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Wf);e.IfcRelAssignsToControl=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Wf);e.IfcRelAssignsToGroup=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Yf);e.IfcRelAssignsToGroupByFactor=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Wf);e.IfcRelAssignsToProcess=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Wf);e.IfcRelAssignsToProduct=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Wf);e.IfcRelAssignsToResource=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Pu);e.IfcRelAssociates=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}($f);e.IfcRelAssociatesApproval=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}($f);e.IfcRelAssociatesClassification=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}($f);e.IfcRelAssociatesConstraint=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}($f);e.IfcRelAssociatesDocument=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}($f);e.IfcRelAssociatesLibrary=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}($f);e.IfcRelAssociatesMaterial=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Pu);e.IfcRelConnects=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(sp);e.IfcRelConnectsElements=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(op);e.IfcRelConnectsPathElements=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(sp);e.IfcRelConnectsPortToElement=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(sp);e.IfcRelConnectsPorts=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(sp);e.IfcRelConnectsStructuralActivity=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(sp);e.IfcRelConnectsStructuralMember=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(pp);e.IfcRelConnectsWithEccentricity=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(op);e.IfcRelConnectsWithRealizingElements=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(sp);e.IfcRelContainedInSpatialStructure=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(sp);e.IfcRelCoversBldgElements=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(sp);e.IfcRelCoversSpaces=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Pu);e.IfcRelDeclares=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Pu);e.IfcRelDecomposes=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Pu);e.IfcRelDefines=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(wp);e.IfcRelDefinesByObject=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(wp);e.IfcRelDefinesByProperties=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(wp);e.IfcRelDefinesByTemplate=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(wp);e.IfcRelDefinesByType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(sp);e.IfcRelFillsElement=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(sp);e.IfcRelFlowControlElements=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingElement=o,p.RelatedElement=l,p.InterferenceGeometry=u,p.InterferenceType=c,p.ImpliedOrder=f,p.type=427948657,p}return P(n)}(sp);e.IfcRelInterferesElements=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(mp);e.IfcRelNests=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(mp);e.IfcRelProjectsElement=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(sp);e.IfcRelReferencedInSpatialStructure=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(sp);e.IfcRelSequence=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(sp);e.IfcRelServicesBuildings=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(sp);e.IfcRelSpaceBoundary=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(Np);e.IfcRelSpaceBoundary1stLevel=Lp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(Lp);e.IfcRelSpaceBoundary2ndLevel=xp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(mp);e.IfcRelVoidsElement=Mp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(Mc);e.IfcReparametrisedCompositeCurveSegment=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(If);e.IfcResource=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Ku);e.IfcRevolvedAreaSolid=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(Up);e.IfcRevolvedAreaSolidTapered=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Gc);e.IfcRightCircularCone=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Gc);e.IfcRightCircularCylinder=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(Uf);e.IfcSimplePropertyTemplate=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Cf);e.IfcSpatialElement=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(ac);e.IfcSpatialElementType=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Qp);e.IfcSpatialStructureElement=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(Wp);e.IfcSpatialStructureElementType=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(Qp);e.IfcSpatialZone=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(Wp);e.IfcSpatialZoneType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Gc);e.IfcSphere=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(qc);e.IfcSphericalSurface=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Cf);e.IfcStructuralActivity=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Cf);e.IfcStructuralItem=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}($p);e.IfcStructuralMember=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Zp);e.IfcStructuralReaction=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(eA);e.IfcStructuralSurfaceMember=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(nA);e.IfcStructuralSurfaceMemberVarying=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(tA);e.IfcStructuralSurfaceReaction=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(Fc);e.IfcSubContractResourceType=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(jc);e.IfcSurfaceCurve=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Ku);e.IfcSurfaceCurveSweptAreaSolid=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(qu);e.IfcSurfaceOfLinearExtrusion=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(qu);e.IfcSurfaceOfRevolution=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(sf);e.IfcSystemFurnitureElementType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(Rf);e.IfcTask=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(ic);e.IfcTaskType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=2387106220,i}return P(n)}(Zu);e.IfcTessellatedFaceSet=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(qc);e.IfcToroidalSurface=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Xc);e.IfcTransportElementType=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Coordinates=r,l.Normals=i,l.Closed=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(AA);e.IfcTriangulatedFaceSet=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Df);e.IfcWindowLiningProperties=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Df);e.IfcWindowPanelProperties=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(If);e.IfcActor=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(hf);e.IfcAdvancedBrep=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(wA);e.IfcAdvancedBrepWithVoids=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Cf);e.IfcAnnotation=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(mc);e.IfcBSplineSurface=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(TA);e.IfcBSplineSurfaceWithKnots=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Gc);e.IfcBlock=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(yc);e.IfcBooleanClippingResult=PA;var RA=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(jc);e.IfcBoundedCurve=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(zp);e.IfcBuilding=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(Xc);e.IfcBuildingElementType=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(zp);e.IfcBuildingStorey=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(_A);e.IfcChimneyType=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Sc);e.IfcCircleHollowProfileDef=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Xc);e.IfcCivilElementType=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(_A);e.IfcColumnType=LA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(Uf);e.IfcComplexPropertyTemplate=xA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(RA);e.IfcCompositeCurve=MA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(MA);e.IfcCompositeCurveOnSurface=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(jc);e.IfcConic=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(Fc);e.IfcConstructionEquipmentResourceType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(Fc);e.IfcConstructionMaterialResourceType=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(Fc);e.IfcConstructionProductResourceType=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(Hp);e.IfcConstructionResource=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(If);e.IfcControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}(VA);e.IfcCostItem=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}(VA);e.IfcCostSchedule=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(_A);e.IfcCoveringType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(jA);e.IfcCrewResource=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(_A);e.IfcCurtainWallType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(qc);e.IfcCylindricalSurface=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Xc);e.IfcDistributionElementType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(qA);e.IfcDistributionFlowElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Df);e.IfcDoorLiningProperties=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Df);e.IfcDoorPanelProperties=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(_A);e.IfcDoorType=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Tf);e.IfcDraughtingPreDefinedColour=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(bf);e.IfcDraughtingPreDefinedCurveFont=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Cf);e.IfcElement=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(rd);e.IfcElementAssembly=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Xc);e.IfcElementAssemblyType=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(rd);e.IfcElementComponent=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Xc);e.IfcElementComponentType=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(HA);e.IfcEllipse=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(JA);e.IfcEnergyConversionDeviceType=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(ud);e.IfcEngineType=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(ud);e.IfcEvaporativeCoolerType=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(ud);e.IfcEvaporatorType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(Rf);e.IfcEvent=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(Qp);e.IfcExternalSpatialStructureElement=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(hf);e.IfcFacetedBrep=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(vd);e.IfcFacetedBrepWithVoids=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(sd);e.IfcFastener=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(od);e.IfcFastenerType=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(rd);e.IfcFeatureElement=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(md);e.IfcFeatureElementAddition=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(md);e.IfcFeatureElementSubtraction=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(JA);e.IfcFlowControllerType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(JA);e.IfcFlowFittingType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Ed);e.IfcFlowMeterType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(JA);e.IfcFlowMovingDeviceType=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(JA);e.IfcFlowSegmentType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(JA);e.IfcFlowStorageDeviceType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(JA);e.IfcFlowTerminalType=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(JA);e.IfcFlowTreatmentDeviceType=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(_A);e.IfcFootingType=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(rd);e.IfcFurnishingElement=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Od);e.IfcFurniture=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(rd);e.IfcGeographicElement=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Cf);e.IfcGrid=Ld;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(If);e.IfcGroup=xd;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(ud);e.IfcHeatExchangerType=Md;var Fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(ud);e.IfcHumidifierType=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(RA);e.IfcIndexedPolyCurve=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(_d);e.IfcInterceptorType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(sA);e.IfcIntersectionCurve=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(xd);e.IfcInventory=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Td);e.IfcJunctionBoxType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(jA);e.IfcLaborResource=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Cd);e.IfcLampType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Cd);e.IfcLightFixtureType=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(sd);e.IfcMechanicalFastener=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(od);e.IfcMechanicalFastenerType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Cd);e.IfcMedicalDeviceType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(_A);e.IfcMemberType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(ud);e.IfcMotorConnectionType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(mA);e.IfcOccupant=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(gd);e.IfcOpeningElement=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3079942009,p}return P(n)}(Zd);e.IfcOpeningStandardCase=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Cd);e.IfcOutletType=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}(VA);e.IfcPerformanceHistory=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Df);e.IfcPermeableCoveringProperties=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}(VA);e.IfcPermit=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(_A);e.IfcPileType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Td);e.IfcPipeFittingType=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Pd);e.IfcPipeSegmentType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(_A);e.IfcPlateType=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(AA);e.IfcPolygonalFaceSet=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(RA);e.IfcPolyline=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Cf);e.IfcPort=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(Rf);e.IfcProcedure=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}(VA);e.IfcProjectOrder=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(wd);e.IfcProjectionElement=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Ed);e.IfcProtectiveDeviceType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Dd);e.IfcPumpType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(_A);e.IfcRailingType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(_A);e.IfcRampFlightType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(_A);e.IfcRampType=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(bA);e.IfcRationalBSplineSurfaceWithKnots=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(sd);e.IfcReinforcingElement=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(od);e.IfcReinforcingElementType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(wv);e.IfcReinforcingMesh=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(gv);e.IfcReinforcingMeshType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(mp);e.IfcRelAggregates=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(_A);e.IfcRoofType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Cd);e.IfcSanitaryTerminalType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(sA);e.IfcSeamCurve=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(_A);e.IfcShadingDeviceType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(zp);e.IfcSite=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(_A);e.IfcSlabType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(ud);e.IfcSolarDeviceType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(zp);e.IfcSpace=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Cd);e.IfcSpaceHeaterType=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}(Kp);e.IfcSpaceType=Lv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Cd);e.IfcStackTerminalType=xv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(_A);e.IfcStairFlightType=Mv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(_A);e.IfcStairType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(Zp);e.IfcStructuralAction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}($p);e.IfcStructuralConnection=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(Hv);e.IfcStructuralCurveAction=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.Axis=f,p.type=4243806635,p}return P(n)}(Uv);e.IfcStructuralCurveConnection=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(eA);e.IfcStructuralCurveMember=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(jv);e.IfcStructuralCurveMemberVarying=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(tA);e.IfcStructuralCurveReaction=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(Gv);e.IfcStructuralLinearAction=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(xd);e.IfcStructuralLoadGroup=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(Hv);e.IfcStructuralPointAction=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(Uv);e.IfcStructuralPointConnection=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(tA);e.IfcStructuralPointReaction=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(xd);e.IfcStructuralResultGroup=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(Hv);e.IfcStructuralSurfaceAction=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(Uv);e.IfcStructuralSurfaceConnection=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(jA);e.IfcSubContractResource=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(md);e.IfcSurfaceFeature=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Ed);e.IfcSwitchingDeviceType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(xd);e.IfcSystem=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Od);e.IfcSystemFurnitureElement=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Rd);e.IfcTankType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(wv);e.IfcTendon=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(wv);e.IfcTendonAnchor=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(gv);e.IfcTendonAnchorType=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(gv);e.IfcTendonType=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(ud);e.IfcTransformerType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(rd);e.IfcTransportElement=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(RA);e.IfcTrimmedCurve=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(ud);e.IfcTubeBundleType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(ud);e.IfcUnitaryEquipmentType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Ed);e.IfcValveType=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(sd);e.IfcVibrationIsolator=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(od);e.IfcVibrationIsolatorType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(rd);e.IfcVirtualElement=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(gd);e.IfcVoidingFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(_A);e.IfcWallType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Cd);e.IfcWasteTerminalType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(_A);e.IfcWindowType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}(VA);e.IfcWorkCalendar=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}(VA);e.IfcWorkControl=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(Th);e.IfcWorkPlan=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(Th);e.IfcWorkSchedule=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(nh);e.IfcZone=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}(VA);e.IfcActionRequest=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Ed);e.IfcAirTerminalBoxType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Cd);e.IfcAirTerminalType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(ud);e.IfcAirToAirHeatRecoveryType=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(xd);e.IfcAsset=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Cd);e.IfcAudioVisualApplianceType=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(RA);e.IfcBSplineCurve=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Nh);e.IfcBSplineCurveWithKnots=Lh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(_A);e.IfcBeamType=xh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(ud);e.IfcBoilerType=Mh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(FA);e.IfcBoundaryCurve=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(rd);e.IfcBuildingElement=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(sd);e.IfcBuildingElementPart=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(od);e.IfcBuildingElementPartType=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Hh);e.IfcBuildingElementProxy=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(_A);e.IfcBuildingElementProxyType=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(nh);e.IfcBuildingSystem=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(ud);e.IfcBurnerType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Td);e.IfcCableCarrierFittingType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Pd);e.IfcCableCarrierSegmentType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Td);e.IfcCableFittingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Pd);e.IfcCableSegmentType=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(ud);e.IfcChillerType=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Hh);e.IfcChimney=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(HA);e.IfcCircle=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(rd);e.IfcCivilElement=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(ud);e.IfcCoilType=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Hh);e.IfcColumn=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=905975707,p}return P(n)}(eI);e.IfcColumnStandardCase=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Cd);e.IfcCommunicationsApplianceType=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Dd);e.IfcCompressorType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(ud);e.IfcCondenserType=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(jA);e.IfcConstructionEquipmentResource=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(jA);e.IfcConstructionMaterialResource=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(jA);e.IfcConstructionProductResource=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(ud);e.IfcCooledBeamType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(ud);e.IfcCoolingTowerType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Hh);e.IfcCovering=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Hh);e.IfcCurtainWall=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Ed);e.IfcDamperType=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(sd);e.IfcDiscreteAccessory=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(od);e.IfcDiscreteAccessoryType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(JA);e.IfcDistributionChamberElementType=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(qA);e.IfcDistributionControlElementType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(rd);e.IfcDistributionElement=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(II);e.IfcDistributionFlowElement=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(cv);e.IfcDistributionPort=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(nh);e.IfcDistributionSystem=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Hh);e.IfcDoor=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=3242481149,h}return P(n)}(gI);e.IfcDoorStandardCase=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Td);e.IfcDuctFittingType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Pd);e.IfcDuctSegmentType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(_d);e.IfcDuctSilencerType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Cd);e.IfcElectricApplianceType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Ed);e.IfcElectricDistributionBoardType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Rd);e.IfcElectricFlowStorageDeviceType=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(ud);e.IfcElectricGeneratorType=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(ud);e.IfcElectricMotorType=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Ed);e.IfcElectricTimeControlType=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(yI);e.IfcEnergyConversionDevice=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(SI);e.IfcEngine=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(SI);e.IfcEvaporativeCooler=LI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(SI);e.IfcEvaporator=xI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(dd);e.IfcExternalSpatialElement=MI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Dd);e.IfcFanType=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(_d);e.IfcFilterType=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Cd);e.IfcFireSuppressionTerminalType=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(yI);e.IfcFlowController=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(yI);e.IfcFlowFitting=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(hI);e.IfcFlowInstrumentType=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(GI);e.IfcFlowMeter=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(yI);e.IfcFlowMovingDevice=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(yI);e.IfcFlowSegment=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(yI);e.IfcFlowStorageDevice=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(yI);e.IfcFlowTerminal=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(yI);e.IfcFlowTreatmentDevice=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Hh);e.IfcFooting=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(SI);e.IfcHeatExchanger=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(SI);e.IfcHumidifier=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(YI);e.IfcInterceptor=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}(kI);e.IfcJunctionBox=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(KI);e.IfcLamp=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(KI);e.IfcLightFixture=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(KI);e.IfcMedicalDevice=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Hh);e.IfcMember=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1911478936,p}return P(n)}(ry);e.IfcMemberStandardCase=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(SI);e.IfcMotorConnection=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Fh);e.IfcOuterBoundaryCurve=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(KI);e.IfcOutlet=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Hh);e.IfcPile=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}(kI);e.IfcPipeFitting=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(WI);e.IfcPipeSegment=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Hh);e.IfcPlate=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1156407060,p}return P(n)}(fy);e.IfcPlateStandardCase=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(GI);e.IfcProtectiveDevice=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(hI);e.IfcProtectiveDeviceTrippingUnitType=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(QI);e.IfcPump=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Hh);e.IfcRailing=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Hh);e.IfcRamp=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Hh);e.IfcRampFlight=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(Lh);e.IfcRationalBSplineCurveWithKnots=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(wv);e.IfcReinforcingBar=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(gv);e.IfcReinforcingBarType=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Hh);e.IfcRoof=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(KI);e.IfcSanitaryTerminal=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(hI);e.IfcSensorType=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Hh);e.IfcShadingDevice=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Hh);e.IfcSlab=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3127900445,p}return P(n)}(Py);e.IfcSlabElementedCase=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3027962421,p}return P(n)}(Py);e.IfcSlabStandardCase=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(SI);e.IfcSolarDevice=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(KI);e.IfcSpaceHeater=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(KI);e.IfcStackTerminal=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Hh);e.IfcStair=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Hh);e.IfcStairFlight=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(nh);e.IfcStructuralAnalysisModel=Ly;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(zv);e.IfcStructuralLoadCase=xy;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(Jv);e.IfcStructuralPlanarAction=My;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(GI);e.IfcSwitchingDevice=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(zI);e.IfcTank=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(SI);e.IfcTransformer=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(SI);e.IfcTubeBundle=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(hI);e.IfcUnitaryControlElementType=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(SI);e.IfcUnitaryEquipment=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(GI);e.IfcValve=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Hh);e.IfcWall=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4156078855,p}return P(n)}(Qy);e.IfcWallElementedCase=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(Qy);e.IfcWallStandardCase=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(KI);e.IfcWasteTerminal=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Hh);e.IfcWindow=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=486154966,h}return P(n)}(Yy);e.IfcWindowStandardCase=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(hI);e.IfcActuatorType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(KI);e.IfcAirTerminal=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(GI);e.IfcAirTerminalBox=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(SI);e.IfcAirToAirHeatRecovery=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(hI);e.IfcAlarmType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(KI);e.IfcAudioVisualAppliance=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Hh);e.IfcBeam=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2906023776,p}return P(n)}(nm);e.IfcBeamStandardCase=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(SI);e.IfcBoiler=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(SI);e.IfcBurner=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}(kI);e.IfcCableCarrierFitting=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(WI);e.IfcCableCarrierSegment=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}(kI);e.IfcCableFitting=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(WI);e.IfcCableSegment=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(SI);e.IfcChiller=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(SI);e.IfcCoil=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(KI);e.IfcCommunicationsAppliance=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(QI);e.IfcCompressor=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(SI);e.IfcCondenser=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(hI);e.IfcControllerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(SI);e.IfcCooledBeam=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(SI);e.IfcCoolingTower=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(GI);e.IfcDamper=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(yI);e.IfcDistributionChamberElement=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(wI);e.IfcDistributionCircuit=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(II);e.IfcDistributionControlElement=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}(kI);e.IfcDuctFitting=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(WI);e.IfcDuctSegment=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(YI);e.IfcDuctSilencer=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(KI);e.IfcElectricAppliance=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(GI);e.IfcElectricDistributionBoard=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(zI);e.IfcElectricFlowStorageDevice=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(SI);e.IfcElectricGenerator=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(SI);e.IfcElectricMotor=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(GI);e.IfcElectricTimeControl=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(QI);e.IfcFan=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(YI);e.IfcFilter=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(KI);e.IfcFireSuppressionTerminal=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(gm);e.IfcFlowInstrument=Lm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(gm);e.IfcProtectiveDeviceTrippingUnit=xm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(gm);e.IfcSensor=Mm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(gm);e.IfcUnitaryControlElement=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(gm);e.IfcActuator=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(gm);e.IfcAlarm=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(gm);e.IfcController=Gm}(e_||(e_={})),z_[3]="IFC4X3",G_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcRatioMeasure(t[5].value),new t_.IfcRatioMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},639542469:function(e,t){return new t_.IfcApplication(e,new H_(t[0].value),new t_.IfcLabel(t[1].value),new t_.IfcLabel(t[2].value),new t_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new t_.IfcApproval(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null)},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null,t[7]?K_(3,t[7]):null)},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new t_.IfcConstraint(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new t_.IfcCostValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null)},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,new t_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(3,e)})))},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcURIReference(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null)},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,new t_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new t_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcLengthMeasure(t[2].value),new t_.IfcLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null,t[7]?new t_.IfcReal(t[7].value):null,t[8]?new t_.IfcReal(t[8].value):null,t[9]?new t_.IfcReal(t[9].value):null)},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7],new t_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,new t_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,K_(3,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new t_.IfcMetric(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,new t_.IfcLabel(t[0].value))},1918398963:function(e,t){return new t_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0]?new H_(t[0].value):null)},2251480897:function(e,t){return new t_.IfcObjective(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new t_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0]?new t_.IfcIdentifier(t[0].value):null,new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new t_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new t_.IfcPerson(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null,new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0]?new t_.IfcLabel(t[0].value):null)},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return K_(3,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new t_.IfcQuantityArea(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcAreaMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new t_.IfcQuantityCount(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcCountMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new t_.IfcQuantityLength(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcNumericMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new t_.IfcQuantityTime(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcTimeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcVolumeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new t_.IfcQuantityWeight(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcMassMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new t_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcMonthInYearNumber(e.value)})):null,t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcInteger(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new t_.IfcReference(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new t_.IfcRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null)},2341007311:function(e,t){return new t_.IfcRoot(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},448429030:function(e,t){return new t_.IfcSIUnit(e,new H_(t[0].value),t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,new t_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new t_.IfcShapeModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0]?new t_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0]?new t_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0]?new t_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new t_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new t_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new t_.IfcStyleModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[3]?new t_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0]?new t_.IfcReal(t[0].value):null,t[1]?new t_.IfcReal(t[1].value):null)},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new t_.IfcTable(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new t_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(3,e)})):null,t[1]?new t_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcLabel(e.value)})):null,t[7]?new t_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new t_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0]?K_(3,t[0]):null,t[1]?new t_.IfcTextAlignment(t[1].value):null,t[2]?new t_.IfcTextDecoration(t[2].value):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?new t_.IfcTextTransformation(t[5].value):null,t[6]?K_(3,t[6]):null)},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null)},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value))},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value),t[2].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new t_.IfcTimePeriod(e,new t_.IfcTime(t[0].value),new t_.IfcTime(t[1].value))},3101149627:function(e,t){return new t_.IfcTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(3,e)})))},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null)},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcLengthMeasure(t[5].value):null,new t_.IfcLengthMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcLengthMeasure(t[5].value),new t_.IfcNonNegativeLengthMeasure(t[6].value),t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new t_.IfcBlobTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcIdentifier(t[5].value),new t_.IfcBinary(t[6].value))},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new t_.IfcClassification(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcDate(t[2].value):null,new t_.IfcLabel(t[3].value),t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0].map((function(e){return new t_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0]?new t_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value))},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value),new t_.IfcReal(t[4].value))},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new t_.IfcPositiveRatioMeasure(t[4].value),t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,new t_.IfcIdentifier(t[0].value),new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcURIReference(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDateTime(t[11].value):null,t[12]?new t_.IfcIdentifier(t[12].value):null,t[13]?new t_.IfcDate(t[13].value):null,t[14]?new t_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new t_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new t_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new t_.IfcBoolean(t[3].value))},211053100:function(e,t){return new t_.IfcEventTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcDateTime(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new t_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new t_.IfcFaceBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcForceMeasure(t[4].value):null,t[5]?new t_.IfcForceMeasure(t[5].value):null,t[6]?new t_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcDimensionCount(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new t_.IfcImageTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,K_(3,t[3]),t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new t_.IfcThermodynamicTemperatureMeasure(t[6].value),new t_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value))},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new t_.IfcReal(t[10].value):null,new t_.IfcPositivePlaneAngleMeasure(t[11].value),new t_.IfcPositivePlaneAngleMeasure(t[12].value))},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new t_.IfcMaterial(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},219451334:function(e,t){return new t_.IfcObjectDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcBoolean(t[2].value),t[3].map((function(e){return new t_.IfcNonNegativeLengthMeasure(e.value)})),t[4].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?new H_(t[6].value):null)},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new t_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new t_.IfcPixelTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcInteger(t[5].value),new t_.IfcInteger(t[6].value),new t_.IfcInteger(t[7].value),t[8].map((function(e){return new t_.IfcBinary(e.value)})))},2004835150:function(e,t){return new t_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,K_(3,t[0]),t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,new H_(t[4].value))},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,new t_.IfcLabel(t[0].value))},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,new t_.IfcLabel(t[0].value))},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new t_.IfcProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcText(t[4].value):null)},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2090586900:function(e,t){return new t_.IfcQuantitySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new t_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,new t_.IfcAreaMeasure(t[0].value),new t_.IfcLabel(t[1].value),t[2],t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new t_.IfcRelationship(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDuration(t[3].value):null,t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDuration(t[8].value):null,t[9]?new t_.IfcBoolean(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new t_.IfcDateTime(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new t_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLinearForceMeasure(t[1].value):null,t[2]?new t_.IfcLinearForceMeasure(t[2].value):null,t[3]?new t_.IfcLinearForceMeasure(t[3].value):null,t[4]?new t_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new t_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new t_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new t_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new t_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new t_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null,t[7]?new t_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new t_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(3,t[7]):null,t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null)},230924584:function(e,t){return new t_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new t_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new t_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new t_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return new t_.IfcTextFontName(e.value)})),t[2]?new t_.IfcFontStyle(t[2].value):null,t[3]?new t_.IfcFontVariant(t[3].value):null,t[4]?new t_.IfcFontWeight(t[4].value):null,K_(3,t[5]))},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new t_.IfcTypeObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new t_.IfcTypeProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new t_.IfcTypeProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new t_.IfcTypeResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new t_.IfcVector(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new t_.IfcVertexLoop(e,new H_(t[0].value))},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,new t_.IfcPositiveLengthMeasure(t[8].value),t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new t_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new t_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new t_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new t_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new t_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0]?new t_.IfcLabel(t[0].value):null,new t_.IfcNormalisedRatioMeasure(t[1].value),new t_.IfcNormalisedRatioMeasure(t[2].value),new t_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new t_.IfcComplexProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new t_.IfcContext(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new t_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[2].value))},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],new H_(t[1].value),K_(3,t[2]),K_(3,t[3]),new H_(t[4].value))},32440307:function(e,t){return new t_.IfcDirection(e,t[0].map((function(e){return new t_.IfcReal(e.value)})))},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null)},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new t_.IfcElementQuantity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new t_.IfcElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new t_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new t_.IfcEventType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new t_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new t_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new t_.IfcFurnitureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new t_.IfcLaborResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new t_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new t_.IfcObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},590820931:function(e,t){return new t_.IfcOffsetCurve(e,new H_(t[0].value))},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value))},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value),new H_(t[3].value))},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},1682466193:function(e,t){return new t_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new t_.IfcPlanarBox(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new t_.IfcPlane(e,new H_(t[0].value))},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new t_.IfcReal(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcReal(e.value)})):null)},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,new t_.IfcLabel(t[0].value))},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},569719735:function(e,t){return new t_.IfcProcedureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},4208778838:function(e,t){return new t_.IfcProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new t_.IfcProject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new t_.IfcProjectLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(3,t[5]):null)},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new t_.IfcPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?t[3].map((function(e){return K_(3,e)})):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value),new t_.IfcParameterValue(t[3].value),new t_.IfcParameterValue(t[4].value),new t_.IfcBoolean(t[5].value),new t_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new t_.IfcRelAssigns(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new t_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new t_.IfcRelAssociates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new t_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new t_.IfcRelConnects(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new t_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new t_.IfcRelDeclares(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},693640335:function(e,t){return new t_.IfcRelDefines(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcIdentifier(t[8].value):null,new t_.IfcLogical(t[9].value))},3268803585:function(e,t){return new t_.IfcRelNests(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1441486842:function(e,t){return new t_.IfcRelPositions(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new t_.IfcRelSequence(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value),new t_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new t_.IfcResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new t_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new t_.IfcSpatialElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new t_.IfcSpatialZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new t_.IfcSphere(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0]?new H_(t[0].value):null)},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new t_.IfcStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new t_.IfcTask(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value),t[10]?new t_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null)},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null,t[5].map((function(e){return new t_.IfcInteger(e.value)})))},3651464721:function(e,t){return new t_.IfcVehicleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new t_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new t_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new t_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new t_.IfcLengthMeasure(t[13].value):null,t[14]?new t_.IfcLengthMeasure(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new t_.IfcActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new t_.IfcAnnotation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value))},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null)},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2197970202:function(e,t){return new t_.IfcChimneyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new t_.IfcCivilElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value))},300633059:function(e,t){return new t_.IfcColumnType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},2510884976:function(e,t){return new t_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new t_.IfcControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null)},3895139033:function(e,t){return new t_.IfcCostItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new t_.IfcCostSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null)},4189326743:function(e,t){return new t_.IfcCourseType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null,t[16]?new t_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new t_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new t_.IfcDoorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,new t_.IfcLabel(t[0].value))},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},1758889154:function(e,t){return new t_.IfcElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new t_.IfcElementAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new t_.IfcElementComponentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new t_.IfcEllipse(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new t_.IfcEngineType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7],t[8],t[9]?new t_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new t_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},24185140:function(e,t){return new t_.IfcFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new t_.IfcFootingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new t_.IfcFurniture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},2706460486:function(e,t){return new t_.IfcGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(3,e)})):null,new t_.IfcLogical(t[2].value))},3946677679:function(e,t){return new t_.IfcInterceptorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value))},3827777499:function(e,t){return new t_.IfcLaborResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new t_.IfcPermit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1158309216:function(e,t){return new t_.IfcPileType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new t_.IfcPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1946335990:function(e,t){return new t_.IfcPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new t_.IfcProcedure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},3651124850:function(e,t){return new t_.IfcProjectionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new t_.IfcReal(e.value)})))},4021432810:function(e,t){return new t_.IfcReferent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcAreaMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcAreaMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new t_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new t_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(3,e)})):null)},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},160246688:function(e,t){return new t_.IfcRelAggregates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},146592293:function(e,t){return new t_.IfcRoad(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null,t[5]?new t_.IfcLengthMeasure(t[5].value):null,t[6]?new t_.IfcLengthMeasure(t[6].value):null,t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null)},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},33720170:function(e,t){return new t_.IfcSign(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},4097777520:function(e,t){return new t_.IfcSite(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new t_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new t_.IfcSlabType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new t_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new t_.IfcStairType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new t_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new t_.IfcSubContractResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new t_.IfcTankType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcForceMeasure(t[12].value):null,t[13]?new t_.IfcPressureMeasure(t[13].value):null,t[14]?new t_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null)},618700268:function(e,t){return new t_.IfcTrackElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new t_.IfcValveType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new t_.IfcWorkPlan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new t_.IfcZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new t_.IfcActionRequest(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcPositiveLengthMeasure(t[7].value))},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value))},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3460190687:function(e,t){return new t_.IfcAsset(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new t_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value))},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},644574406:function(e,t){return new t_.IfcBridge(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},1876633798:function(e,t){return new t_.IfcBuiltElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new t_.IfcBurnerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new t_.IfcCivilElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new t_.IfcCoilType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new t_.IfcColumn(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new t_.IfcDistributionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new t_.IfcDistributionPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new t_.IfcDoor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new t_.IfcDuctFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new t_.IfcEngine(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new t_.IfcFanType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new t_.IfcFlowFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new t_.IfcFlowSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new t_.IfcFooting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3009204131:function(e,t){return new t_.IfcGrid(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,new t_.IfcBoolean(t[8].value))},76236018:function(e,t){return new t_.IfcLamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new t_.IfcMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},3694346114:function(e,t){return new t_.IfcOutlet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new t_.IfcPile(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new t_.IfcPump(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3290496277:function(e,t){return new t_.IfcRail(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new t_.IfcReal(e.value)})))},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcAreaMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new t_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(3,e)})):null)},2016517767:function(e,t){return new t_.IfcRoof(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},991950508:function(e,t){return new t_.IfcSignal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new t_.IfcStair(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcInteger(t[8].value):null,t[9]?new t_.IfcInteger(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new t_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new t_.IfcTank(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new t_.IfcValve(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new t_.IfcWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new t_.IfcActuatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new t_.IfcBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new t_.IfcCoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new t_.IfcDuctFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new t_.IfcFan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new t_.IfcFilter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1971632696:function(e,t){return new t_.IfcGeoslice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new t_.IfcController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])}},j_[3]={618182010:[912023232,3355820592],2879124712:[536804194,3752311538,3633395639],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,388784114,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,3465909080,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,182550632,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[3465909080,2133299955,1437953363,2552916305,1742049831],222769930:[1010789467],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[3465909080,2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,M_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[3425423356,2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103,2165702409],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],823603102:[4212018352,816062949,2485617015],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,1229763772,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_],593015953:[2028607225,4234616927,2652556860],339256511:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],2652556860:[4234616927],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,M_,2945172077],590820931:[2485787929,3505215534,3388369263],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,M_],4208778838:[325726236,1154579445,x_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3818125796,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1862484736:[1290935644],1412071761:[1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112],3893378262:[3812236995],2735484536:[42703149,1027922057,3649235739,2000195564,3497074424,782932809],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,1229763772,2916149573],3665877780:[2097647324,3651464721],2916149573:[1229763772],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249],1626504194:[1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202],3732776249:[544395925,2898700619,144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],1306400036:[3203706013,1158309216],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555],2590856083:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],24185140:[4031249490,644574406,146592293,3992365140,525669439],1310830890:[963979645,550521510,1891881377,976884017,4228831410],2827207264:[3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[3071239417,926996030,3588315303],3907093117:[712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,2940368186,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348],3009222698:[1810631287,2142170206,2030761528,3946677679],263784265:[413509423,1509553395],4230923436:[1971632696,2680139844,3314249567,2713699986,1594536857],2706460486:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],2176059722:[1662888072,317615605,1545765605,4266260250],3740093272:[3041715199],1946335990:[325726236,1154579445,x_,4021432810],3027567501:[979691226,3663046924,2347447852,T_,2320036040],964333572:[2572171363,2415094496,2281632017,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,3862327254,1177604601,O_],1953115116:[1620046519,840318589],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],1876633798:[1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744],3426335179:[3999819293,C_],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],1077100507:[3798194928,3376911765],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,3460952963,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018],3508470533:[819412036,24726584,1360408905,4175244083],2713699986:[1971632696,2680139844,3314249567],1154579445:[325726236],2391406946:[3512223829],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[3]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",x_,9,!0],["PartOfV",x_,8,!0],["PartOfU",x_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2691318326:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],867548509:[["HasExternalReferences",1437805879,3,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],222769930:[["ToTexMap",3465909080,3,!1]],1010789467:[["ToTexMap",3465909080,3,!1]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],388784114:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],182550632:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2165702409:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],823603102:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3425423356:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4212018352:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],593015953:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],590820931:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485787929:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3381221214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1862484736:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1290935644:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1356537516:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2735484536:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],782932809:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3665877780:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1229763772:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3651464721:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1626504194:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3497074424:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],2000195564:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4189326743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1306400036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4234616927:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],24185140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1310830890:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4228831410:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4230923436:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1594536857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2898700619:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2568555532:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3948183225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],679976338:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2176059722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1770583370:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],525669439:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],976884017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1950438474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],710110818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],506776471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],514975943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],1946335990:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1763565496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3992365140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1891881377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4021432810:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],146592293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],550521510:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649235739:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],544395925:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1027922057:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],33720170:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3599934289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1894708472:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],42703149:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["AdheresToElement",3818125796,5,!1]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3663046924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2281632017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],618700268:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1953115116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],840318589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1530820697:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3956297820:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4266260250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1545765605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],317615605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1662888072:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3649138523:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],644574406:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],963979645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1876633798:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3862327254:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3203706013:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],2940368186:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1502416096:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3426335179:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],479945903:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3071239417:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1077100507:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3376911765:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2142170206:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2713699986:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2696325953:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1154579445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],1638804497:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2078563270:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],234836483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2182337498:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1383356374:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3290496277:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798194928:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],991950508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3425753595:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],325726236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4196446775:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3314249567:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3999819293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460952963:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3693000487:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],24726584:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2680139844:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1971632696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1],t[2])},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0],t[1])},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639542469:function(e,t){return new t_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new t_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new t_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new t_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0],t[1],t[2],t[3])},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new t_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new t_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new t_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0])},2251480897:function(e,t){return new t_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new t_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0])},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new t_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new t_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new t_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new t_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new t_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new t_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new t_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new t_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new t_.IfcSIUnit(e,t[0],t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new t_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new t_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new t_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new t_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0],t[1])},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0],t[1],t[2])},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new t_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new t_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new t_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new t_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new t_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new t_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new t_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new t_.IfcFace(e,t[0])},1809719519:function(e,t){return new t_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0],t[1],t[2])},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new t_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0],t[1],t[2])},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new t_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3],t[4])},219451334:function(e,t){return new t_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,t[0],t[1],t[2])},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new t_.IfcPath(e,t[0])},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new t_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new t_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,t[0],t[1],t[2],t[3],t[4])},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new t_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new t_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new t_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,t[0],t[1],t[2])},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new t_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new t_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new t_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new t_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new t_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new t_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new t_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new t_.IfcVertexLoop(e,t[0])},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,t[0],t[1],t[2])},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0],t[1])},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0],t[1])},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new t_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new t_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new t_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new t_.IfcDirection(e,t[0])},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4])},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new t_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new t_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new t_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new t_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new t_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0],t[1],t[2],t[3])},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new t_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new t_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new t_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},590820931:function(e,t){return new t_.IfcOffsetCurve(e,t[0])},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,t[0],t[1],t[2])},1682466193:function(e,t){return new t_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new t_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new t_.IfcPlane(e,t[0])},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new t_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new t_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new t_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new t_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new t_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new t_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new t_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new t_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new t_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new t_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3268803585:function(e,t){return new t_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},1441486842:function(e,t){return new t_.IfcRelPositions(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new t_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new t_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,t[0],t[1])},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,t[0],t[1],t[2])},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,t[0],t[1],t[2])},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new t_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new t_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new t_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,t[0],t[1])},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0])},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new t_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new t_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,t[0],t[1])},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4])},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,t[0],t[1],t[2])},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,t[0],t[1],t[2],t[3],t[4],t[5])},3651464721:function(e,t){return new t_.IfcVehicleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new t_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new t_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2197970202:function(e,t){return new t_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new t_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0],t[1])},300633059:function(e,t){return new t_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new t_.IfcConic(e,t[0])},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new t_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0],t[1],t[2])},3895139033:function(e,t){return new t_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new t_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4189326743:function(e,t){return new t_.IfcCourseType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,t[0],t[1])},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new t_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new t_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new t_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new t_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new t_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new t_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new t_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,t[0],t[1])},24185140:function(e,t){return new t_.IfcFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new t_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new t_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0],t[1],t[2],t[3])},2706460486:function(e,t){return new t_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new t_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new t_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new t_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new t_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new t_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1946335990:function(e,t){return new t_.IfcPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new t_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new t_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4021432810:function(e,t){return new t_.IfcReferent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},160246688:function(e,t){return new t_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},146592293:function(e,t){return new t_.IfcRoad(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,t[0],t[1],t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3])},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0],t[1],t[2],t[3])},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},33720170:function(e,t){return new t_.IfcSign(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0],t[1],t[2],t[3])},4097777520:function(e,t){return new t_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new t_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new t_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new t_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new t_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},618700268:function(e,t){return new t_.IfcTrackElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new t_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new t_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new t_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new t_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3460190687:function(e,t){return new t_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0],t[1])},644574406:function(e,t){return new t_.IfcBridge(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1876633798:function(e,t){return new t_.IfcBuiltElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new t_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new t_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new t_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new t_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new t_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new t_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new t_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new t_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new t_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new t_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new t_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new t_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new t_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3009204131:function(e,t){return new t_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new t_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new t_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new t_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new t_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new t_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3290496277:function(e,t){return new t_.IfcRail(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new t_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},991950508:function(e,t){return new t_.IfcSignal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new t_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new t_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new t_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new t_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new t_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new t_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new t_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new t_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new t_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new t_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1971632696:function(e,t){return new t_.IfcGeoslice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new t_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[3]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},2879124712:function(e){return[e.StartTag,e.EndTag]},3633395639:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartHeight,e.StartGradient,e.EndGradient,e.RadiusOfCurvature,e.PredefinedType]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType,e.Name]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale,e.ScaleY,e.ScaleZ]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[e.PlacementRelTo]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},2691318326:function(e){return[e.Name,e.Description,e.Unit,e.NumberValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},222769930:function(e){return[e.TexCoordIndex,e.TexCoordsOf]},1010789467:function(e){return[e.TexCoordIndex,e.TexCoordsOf,e.InnerTexCoordIndices]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.StartDate,e.FinishDate]},3752311538:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartCantLeft,e.EndCantLeft,e.StartCantRight,e.EndCantRight,e.PredefinedType]},536804194:function(e){return[e.StartTag,e.EndTag,e.StartPoint,e.StartDirection,e.StartRadiusOfCurvature,e.EndRadiusOfCurvature,e.SegmentLength,e.GravityCenterLineHeight,e.PredefinedType]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Specification,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveStyleFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementRelTo,e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},388784114:function(e){return[e.PlacementRelTo,e.RelativePlacement,e.CartesianPosition]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.MaterialExpression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},182550632:function(e){var t;return[e.ProfileType,e.ProfileName,null==(t=e.HorizontalWidths)?void 0:t.toString(),e.Widths,e.Slopes,e.Tags,e.OffsetPoint]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},2165702409:function(e){return[Y_(e.DistanceAlong),e.OffsetLateral,e.OffsetVertical,e.OffsetLongitudinal,e.BasisCurve]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Specification]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},823603102:function(e){return[e.Transition]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Specification]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},3425423356:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList,e.TagList]},2059837836:function(e){return[e.CoordList,e.TagList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Specification,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},4212018352:function(e){return[e.Transition,e.Placement,Y_(e.SegmentStart),Y_(e.SegmentLength),e.ParentCurve]},32440307:function(e){return[e.DirectionRatios]},593015953:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},3465909080:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},590820931:function(e){return[e.BasisCurve]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},2485787929:function(e){return[e.BasisCurve,e.OffsetValues,e.Tag]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},3381221214:function(e){return[e.Position,e.CoefficientsX,e.CoefficientsY,e.CoefficientsZ]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Specification,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Specification,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Specification,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Specification,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Specification,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Specification,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},1033248425:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileDef]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceSpace,e.InterferenceType,null==(t=e.ImpliedOrder)?void 0:t.toString()]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},1441486842:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPositioningElement,e.RelatedProducts]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},1862484736:function(e){return[e.Directrix,e.CrossSections]},1290935644:function(e){return[e.Directrix,e.CrossSections,e.CrossSectionPositions]},1356537516:function(e){return[e.Directrix,e.CrossSectionPositions,e.CrossSections]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},2735484536:function(e){return[e.Position]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString()]},782932809:function(e){return[e.Position,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},3665877780:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2916149573:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex]},1229763772:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex,e.Flags]},3651464721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},1626504194:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3497074424:function(e){return[e.Position,e.ClothoidConstant]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},2000195564:function(e){return[e.Position,e.CosineTerm,e.ConstantTerm]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},4189326743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},1306400036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},4234616927:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},24185140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},1310830890:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType]},4228831410:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4230923436:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1594536857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2898700619:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2568555532:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3948183225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},679976338:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,null==(t=e.Mountable)?void 0:t.toString()]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2176059722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1770583370:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},525669439:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},976884017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1950438474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},710110818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},506776471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},514975943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1946335990:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1763565496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3992365140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},1891881377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},4021432810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},3818125796:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedSurfaceFeatures]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},146592293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},550521510:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},3649235739:function(e){return[e.Position,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},544395925:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},1027922057:function(e){return[e.Position,e.SepticTerm,e.SexticTerm,e.QuinticTerm,e.QuarticTerm,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},33720170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3599934289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1894708472:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},42703149:function(e){return[e.Position,e.SineTerm,e.LinearTerm,e.ConstantTerm]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.AxisDirection]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3663046924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},2281632017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},618700268:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1953115116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},840318589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1530820697:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3956297820:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4266260250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.RailHeadDistance]},1545765605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},317615605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.DesignParameters]},1662888072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3649138523:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},644574406:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},963979645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},1876633798:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3862327254:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3203706013:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2940368186:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1502416096:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3426335179:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},479945903:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3071239417:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1077100507:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3376911765:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2142170206:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2713699986:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2696325953:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,null==(t=e.Mountable)?void 0:t.toString()]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1154579445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1638804497:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2078563270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},234836483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2182337498:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1383356374:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3290496277:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},3798194928:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},991950508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3425753595:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},325726236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4196446775:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3314249567:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3999819293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460952963:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3693000487:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},24726584:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2680139844:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1971632696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[3]={3699917729:function(e){return new t_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new t_.IfcAccelerationMeasure(e)},360377573:function(e){return new t_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new t_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new t_.IfcArcIndex(e)},1500781891:function(e){return new t_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new t_.IfcAreaMeasure(e)},2314439260:function(e){return new t_.IfcBinary(e)},2735952531:function(e){return new t_.IfcBoolean(e)},1867003952:function(e){return new t_.IfcBoxAlignment(e)},1683019596:function(e){return new t_.IfcCardinalPointReference(e)},2991860651:function(e){return new t_.IfcComplexNumber(e)},3812528620:function(e){return new t_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new t_.IfcContextDependentMeasure(e)},1778710042:function(e){return new t_.IfcCountMeasure(e)},94842927:function(e){return new t_.IfcCurvatureMeasure(e)},937566702:function(e){return new t_.IfcDate(e)},2195413836:function(e){return new t_.IfcDateTime(e)},86635668:function(e){return new t_.IfcDayInMonthNumber(e)},3701338814:function(e){return new t_.IfcDayInWeekNumber(e)},1514641115:function(e){return new t_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new t_.IfcDimensionCount(e)},524656162:function(e){return new t_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new t_.IfcDuration(e)},69416015:function(e){return new t_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new t_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new t_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new t_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new t_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new t_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new t_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new t_.IfcEnergyMeasure(e)},1102727119:function(e){return new t_.IfcFontStyle(e)},2715512545:function(e){return new t_.IfcFontVariant(e)},2590844177:function(e){return new t_.IfcFontWeight(e)},1361398929:function(e){return new t_.IfcForceMeasure(e)},3044325142:function(e){return new t_.IfcFrequencyMeasure(e)},3064340077:function(e){return new t_.IfcGloballyUniqueId(e)},3113092358:function(e){return new t_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new t_.IfcHeatingValueMeasure(e)},983778844:function(e){return new t_.IfcIdentifier(e)},3358199106:function(e){return new t_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new t_.IfcInductanceMeasure(e)},1939436016:function(e){return new t_.IfcInteger(e)},3809634241:function(e){return new t_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new t_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new t_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new t_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new t_.IfcLabel(e)},1275358634:function(e){return new t_.IfcLanguageId(e)},1243674935:function(e){return new t_.IfcLengthMeasure(e)},1774176899:function(e){return new t_.IfcLineIndex(e)},191860431:function(e){return new t_.IfcLinearForceMeasure(e)},2128979029:function(e){return new t_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new t_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new t_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new t_.IfcLogical(e)},2095003142:function(e){return new t_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new t_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new t_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new t_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new t_.IfcMassDensityMeasure(e)},4017473158:function(e){return new t_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new t_.IfcMassMeasure(e)},3531705166:function(e){return new t_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new t_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new t_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new t_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new t_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new t_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new t_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new t_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new t_.IfcMonetaryMeasure(e)},765770214:function(e){return new t_.IfcMonthInYearNumber(e)},525895558:function(e){return new t_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new t_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new t_.IfcNumericMeasure(e)},929793134:function(e){return new t_.IfcPHMeasure(e)},2260317790:function(e){return new t_.IfcParameterValue(e)},2642773653:function(e){return new t_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new t_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new t_.IfcPositiveInteger(e)},2815919920:function(e){return new t_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new t_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new t_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new t_.IfcPowerMeasure(e)},2169031380:function(e){return new t_.IfcPresentableText(e)},3665567075:function(e){return new t_.IfcPressureMeasure(e)},2798247006:function(e){return new t_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new t_.IfcRadioActivityMeasure(e)},96294661:function(e){return new t_.IfcRatioMeasure(e)},200335297:function(e){return new t_.IfcReal(e)},2133746277:function(e){return new t_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new t_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new t_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new t_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new t_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new t_.IfcShearModulusMeasure(e)},3471399674:function(e){return new t_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new t_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new t_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new t_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new t_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new t_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new t_.IfcSpecularExponent(e)},361837227:function(e){return new t_.IfcSpecularRoughness(e)},58845555:function(e){return new t_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new t_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new t_.IfcText(e)},1460886941:function(e){return new t_.IfcTextAlignment(e)},3490877962:function(e){return new t_.IfcTextDecoration(e)},603696268:function(e){return new t_.IfcTextFontName(e)},296282323:function(e){return new t_.IfcTextTransformation(e)},232962298:function(e){return new t_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new t_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new t_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new t_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new t_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new t_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new t_.IfcTime(e)},2726807636:function(e){return new t_.IfcTimeMeasure(e)},2591213694:function(e){return new t_.IfcTimeStamp(e)},1278329552:function(e){return new t_.IfcTorqueMeasure(e)},950732822:function(e){return new t_.IfcURIReference(e)},3345633955:function(e){return new t_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new t_.IfcVolumeMeasure(e)},2593997549:function(e){return new t_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new t_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new t_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=x;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=M;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=xe;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Me;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.BRAKES={type:3,value:"BRAKES"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.CREEP={type:3,value:"CREEP"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.FIRE={type:3,value:"FIRE"},Ct.ICE={type:3,value:"ICE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.RAIN={type:3,value:"RAIN"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.WAVE={type:3,value:"WAVE"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.HOME={type:3,value:"HOME"},Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var xt=P((function e(){b(this,e)}));xt.BELL={type:3,value:"BELL"},xt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},xt.LIGHT={type:3,value:"LIGHT"},xt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},xt.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},xt.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},xt.SIREN={type:3,value:"SIREN"},xt.WHISTLE={type:3,value:"WHISTLE"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=xt;var Mt=P((function e(){b(this,e)}));Mt.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Mt.CONSTANTCANT={type:3,value:"CONSTANTCANT"},Mt.COSINECURVE={type:3,value:"COSINECURVE"},Mt.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Mt.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},Mt.SINECURVE={type:3,value:"SINECURVE"},Mt.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=Mt;var Ft=P((function e(){b(this,e)}));Ft.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Ft.CIRCULARARC={type:3,value:"CIRCULARARC"},Ft.CLOTHOID={type:3,value:"CLOTHOID"},Ft.COSINECURVE={type:3,value:"COSINECURVE"},Ft.CUBIC={type:3,value:"CUBIC"},Ft.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Ft.LINE={type:3,value:"LINE"},Ft.SINECURVE={type:3,value:"SINECURVE"},Ft.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.CIRCULARARC={type:3,value:"CIRCULARARC"},Ut.CLOTHOID={type:3,value:"CLOTHOID"},Ut.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},Ut.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Gt.LOADING_3D={type:3,value:"LOADING_3D"},Gt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},kt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},kt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},kt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ASBUILTAREA={type:3,value:"ASBUILTAREA"},jt.ASBUILTLINE={type:3,value:"ASBUILTLINE"},jt.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},jt.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},jt.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},jt.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},jt.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},jt.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},jt.WIDTHEVENT={type:3,value:"WIDTHEVENT"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.ADD={type:3,value:"ADD"},Vt.DIVIDE={type:3,value:"DIVIDE"},Vt.MULTIPLY={type:3,value:"MULTIPLY"},Vt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FACTORY={type:3,value:"FACTORY"},Qt.SITE={type:3,value:"SITE"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.AMPLIFIER={type:3,value:"AMPLIFIER"},Wt.CAMERA={type:3,value:"CAMERA"},Wt.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},Wt.DISPLAY={type:3,value:"DISPLAY"},Wt.MICROPHONE={type:3,value:"MICROPHONE"},Wt.PLAYER={type:3,value:"PLAYER"},Wt.PROJECTOR={type:3,value:"PROJECTOR"},Wt.RECEIVER={type:3,value:"RECEIVER"},Wt.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},Wt.SPEAKER={type:3,value:"SPEAKER"},Wt.SWITCHER={type:3,value:"SWITCHER"},Wt.TELEPHONE={type:3,value:"TELEPHONE"},Wt.TUNER={type:3,value:"TUNER"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},zt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},zt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},zt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},zt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},zt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=zt;var Kt=P((function e(){b(this,e)}));Kt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},Kt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},Kt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},Kt.PLANE_SURF={type:3,value:"PLANE_SURF"},Kt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},Kt.RULED_SURF={type:3,value:"RULED_SURF"},Kt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},Kt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},Kt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},Kt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},Kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=Kt;var Yt=P((function e(){b(this,e)}));Yt.BEAM={type:3,value:"BEAM"},Yt.CORNICE={type:3,value:"CORNICE"},Yt.DIAPHRAGM={type:3,value:"DIAPHRAGM"},Yt.EDGEBEAM={type:3,value:"EDGEBEAM"},Yt.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},Yt.HATSTONE={type:3,value:"HATSTONE"},Yt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Yt.JOIST={type:3,value:"JOIST"},Yt.LINTEL={type:3,value:"LINTEL"},Yt.PIERCAP={type:3,value:"PIERCAP"},Yt.SPANDREL={type:3,value:"SPANDREL"},Yt.T_BEAM={type:3,value:"T_BEAM"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},Xt.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},Xt.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},Xt.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=Xt;var qt=P((function e(){b(this,e)}));qt.CYLINDRICAL={type:3,value:"CYLINDRICAL"},qt.DISK={type:3,value:"DISK"},qt.ELASTOMERIC={type:3,value:"ELASTOMERIC"},qt.GUIDE={type:3,value:"GUIDE"},qt.POT={type:3,value:"POT"},qt.ROCKER={type:3,value:"ROCKER"},qt.ROLLER={type:3,value:"ROLLER"},qt.SPHERICAL={type:3,value:"SPHERICAL"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.EQUALTO={type:3,value:"EQUALTO"},Jt.GREATERTHAN={type:3,value:"GREATERTHAN"},Jt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Jt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Jt.INCLUDES={type:3,value:"INCLUDES"},Jt.LESSTHAN={type:3,value:"LESSTHAN"},Jt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Jt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Jt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},Jt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.STEAM={type:3,value:"STEAM"},Zt.WATER={type:3,value:"WATER"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.DIFFERENCE={type:3,value:"DIFFERENCE"},$t.INTERSECTION={type:3,value:"INTERSECTION"},$t.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=$t;var en=P((function e(){b(this,e)}));en.ABUTMENT={type:3,value:"ABUTMENT"},en.DECK={type:3,value:"DECK"},en.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},en.FOUNDATION={type:3,value:"FOUNDATION"},en.PIER={type:3,value:"PIER"},en.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},en.PYLON={type:3,value:"PYLON"},en.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},en.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},en.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.ARCHED={type:3,value:"ARCHED"},tn.CABLE_STAYED={type:3,value:"CABLE_STAYED"},tn.CANTILEVER={type:3,value:"CANTILEVER"},tn.CULVERT={type:3,value:"CULVERT"},tn.FRAMEWORK={type:3,value:"FRAMEWORK"},tn.GIRDER={type:3,value:"GIRDER"},tn.SUSPENSION={type:3,value:"SUSPENSION"},tn.TRUSS={type:3,value:"TRUSS"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=tn;var nn=P((function e(){b(this,e)}));nn.APRON={type:3,value:"APRON"},nn.ARMOURUNIT={type:3,value:"ARMOURUNIT"},nn.INSULATION={type:3,value:"INSULATION"},nn.PRECASTPANEL={type:3,value:"PRECASTPANEL"},nn.SAFETYCAGE={type:3,value:"SAFETYCAGE"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.COMPLEX={type:3,value:"COMPLEX"},rn.ELEMENT={type:3,value:"ELEMENT"},rn.PARTIAL={type:3,value:"PARTIAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},an.FENESTRATION={type:3,value:"FENESTRATION"},an.FOUNDATION={type:3,value:"FOUNDATION"},an.LOADBEARING={type:3,value:"LOADBEARING"},an.OUTERSHELL={type:3,value:"OUTERSHELL"},an.PRESTRESSING={type:3,value:"PRESTRESSING"},an.REINFORCING={type:3,value:"REINFORCING"},an.SHADING={type:3,value:"SHADING"},an.TRANSPORT={type:3,value:"TRANSPORT"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},sn.FENESTRATION={type:3,value:"FENESTRATION"},sn.FOUNDATION={type:3,value:"FOUNDATION"},sn.LOADBEARING={type:3,value:"LOADBEARING"},sn.MOORING={type:3,value:"MOORING"},sn.OUTERSHELL={type:3,value:"OUTERSHELL"},sn.PRESTRESSING={type:3,value:"PRESTRESSING"},sn.RAILWAYLINE={type:3,value:"RAILWAYLINE"},sn.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},sn.REINFORCING={type:3,value:"REINFORCING"},sn.SHADING={type:3,value:"SHADING"},sn.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},sn.TRANSPORT={type:3,value:"TRANSPORT"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=sn;var on=P((function e(){b(this,e)}));on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.BEND={type:3,value:"BEND"},ln.CONNECTOR={type:3,value:"CONNECTOR"},ln.CROSS={type:3,value:"CROSS"},ln.JUNCTION={type:3,value:"JUNCTION"},ln.TEE={type:3,value:"TEE"},ln.TRANSITION={type:3,value:"TRANSITION"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=ln;var un=P((function e(){b(this,e)}));un.CABLEBRACKET={type:3,value:"CABLEBRACKET"},un.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},un.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},un.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},un.CATENARYWIRE={type:3,value:"CATENARYWIRE"},un.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},un.DROPPER={type:3,value:"DROPPER"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.FANOUT={type:3,value:"FANOUT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},fn.CABLESEGMENT={type:3,value:"CABLESEGMENT"},fn.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},fn.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},fn.CORESEGMENT={type:3,value:"CORESEGMENT"},fn.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},fn.FIBERTUBE={type:3,value:"FIBERTUBE"},fn.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},fn.STITCHWIRE={type:3,value:"STITCHWIRE"},fn.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.CAISSON={type:3,value:"CAISSON"},pn.WELL={type:3,value:"WELL"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=pn;var An=P((function e(){b(this,e)}));An.ADDED={type:3,value:"ADDED"},An.DELETED={type:3,value:"DELETED"},An.MODIFIED={type:3,value:"MODIFIED"},An.NOCHANGE={type:3,value:"NOCHANGE"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=An;var dn=P((function e(){b(this,e)}));dn.AIRCOOLED={type:3,value:"AIRCOOLED"},dn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},dn.WATERCOOLED={type:3,value:"WATERCOOLED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},hn.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},hn.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},hn.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},hn.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},hn.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},hn.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=hn;var In=P((function e(){b(this,e)}));In.COLUMN={type:3,value:"COLUMN"},In.PIERSTEM={type:3,value:"PIERSTEM"},In.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},In.PILASTER={type:3,value:"PILASTER"},In.STANDCOLUMN={type:3,value:"STANDCOLUMN"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ANTENNA={type:3,value:"ANTENNA"},yn.AUTOMATON={type:3,value:"AUTOMATON"},yn.COMPUTER={type:3,value:"COMPUTER"},yn.FAX={type:3,value:"FAX"},yn.GATEWAY={type:3,value:"GATEWAY"},yn.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},yn.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},yn.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},yn.MODEM={type:3,value:"MODEM"},yn.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},yn.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},yn.NETWORKHUB={type:3,value:"NETWORKHUB"},yn.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},yn.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},yn.PRINTER={type:3,value:"PRINTER"},yn.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},yn.REPEATER={type:3,value:"REPEATER"},yn.ROUTER={type:3,value:"ROUTER"},yn.SCANNER={type:3,value:"SCANNER"},yn.TELECOMMAND={type:3,value:"TELECOMMAND"},yn.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},yn.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},yn.TRANSPONDER={type:3,value:"TRANSPONDER"},yn.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.P_COMPLEX={type:3,value:"P_COMPLEX"},mn.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BOOSTER={type:3,value:"BOOSTER"},wn.DYNAMIC={type:3,value:"DYNAMIC"},wn.HERMETIC={type:3,value:"HERMETIC"},wn.OPENTYPE={type:3,value:"OPENTYPE"},wn.RECIPROCATING={type:3,value:"RECIPROCATING"},wn.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},wn.ROTARY={type:3,value:"ROTARY"},wn.ROTARYVANE={type:3,value:"ROTARYVANE"},wn.SCROLL={type:3,value:"SCROLL"},wn.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},wn.SINGLESCREW={type:3,value:"SINGLESCREW"},wn.SINGLESTAGE={type:3,value:"SINGLESTAGE"},wn.TROCHOIDAL={type:3,value:"TROCHOIDAL"},wn.TWINSCREW={type:3,value:"TWINSCREW"},wn.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.AIRCOOLED={type:3,value:"AIRCOOLED"},gn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},gn.WATERCOOLED={type:3,value:"WATERCOOLED"},gn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},gn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},gn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},gn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=gn;var En=P((function e(){b(this,e)}));En.ATEND={type:3,value:"ATEND"},En.ATPATH={type:3,value:"ATPATH"},En.ATSTART={type:3,value:"ATSTART"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.ADVISORY={type:3,value:"ADVISORY"},Tn.HARD={type:3,value:"HARD"},Tn.SOFT={type:3,value:"SOFT"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Tn;var bn=P((function e(){b(this,e)}));bn.DEMOLISHING={type:3,value:"DEMOLISHING"},bn.EARTHMOVING={type:3,value:"EARTHMOVING"},bn.ERECTING={type:3,value:"ERECTING"},bn.HEATING={type:3,value:"HEATING"},bn.LIGHTING={type:3,value:"LIGHTING"},bn.PAVING={type:3,value:"PAVING"},bn.PUMPING={type:3,value:"PUMPING"},bn.TRANSPORTING={type:3,value:"TRANSPORTING"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.AGGREGATES={type:3,value:"AGGREGATES"},Dn.CONCRETE={type:3,value:"CONCRETE"},Dn.DRYWALL={type:3,value:"DRYWALL"},Dn.FUEL={type:3,value:"FUEL"},Dn.GYPSUM={type:3,value:"GYPSUM"},Dn.MASONRY={type:3,value:"MASONRY"},Dn.METAL={type:3,value:"METAL"},Dn.PLASTIC={type:3,value:"PLASTIC"},Dn.WOOD={type:3,value:"WOOD"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.ASSEMBLY={type:3,value:"ASSEMBLY"},Pn.FORMWORK={type:3,value:"FORMWORK"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.FLOATING={type:3,value:"FLOATING"},Rn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},Rn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},Rn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Rn.TWOPOSITION={type:3,value:"TWOPOSITION"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},Cn.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},Cn.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},Cn.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ACTIVE={type:3,value:"ACTIVE"},_n.PASSIVE={type:3,value:"PASSIVE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Bn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Bn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.BUDGET={type:3,value:"BUDGET"},Sn.COSTPLAN={type:3,value:"COSTPLAN"},Sn.ESTIMATE={type:3,value:"ESTIMATE"},Sn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Sn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Sn.TENDER={type:3,value:"TENDER"},Sn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.ARMOUR={type:3,value:"ARMOUR"},Nn.BALLASTBED={type:3,value:"BALLASTBED"},Nn.CORE={type:3,value:"CORE"},Nn.FILTER={type:3,value:"FILTER"},Nn.PAVEMENT={type:3,value:"PAVEMENT"},Nn.PROTECTION={type:3,value:"PROTECTION"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.CEILING={type:3,value:"CEILING"},Ln.CLADDING={type:3,value:"CLADDING"},Ln.COPING={type:3,value:"COPING"},Ln.FLOORING={type:3,value:"FLOORING"},Ln.INSULATION={type:3,value:"INSULATION"},Ln.MEMBRANE={type:3,value:"MEMBRANE"},Ln.MOLDING={type:3,value:"MOLDING"},Ln.ROOFING={type:3,value:"ROOFING"},Ln.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},Ln.SLEEVING={type:3,value:"SLEEVING"},Ln.TOPPING={type:3,value:"TOPPING"},Ln.WRAPPING={type:3,value:"WRAPPING"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Ln;var xn=P((function e(){b(this,e)}));xn.OFFICE={type:3,value:"OFFICE"},xn.SITE={type:3,value:"SITE"},xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=xn;var Mn=P((function e(){b(this,e)}));Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Mn;var Fn=P((function e(){b(this,e)}));Fn.LINEAR={type:3,value:"LINEAR"},Fn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Fn.LOG_LOG={type:3,value:"LOG_LOG"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Hn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Hn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Hn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Hn.FIREDAMPER={type:3,value:"FIREDAMPER"},Hn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Hn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Hn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Hn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Hn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Hn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.MEASURED={type:3,value:"MEASURED"},Un.PREDICTED={type:3,value:"PREDICTED"},Un.SIMULATED={type:3,value:"SIMULATED"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Gn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Gn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Gn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Gn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Gn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Gn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Gn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Gn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Gn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Gn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Gn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Gn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Gn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Gn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Gn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Gn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Gn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Gn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Gn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Gn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Gn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Gn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Gn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Gn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Gn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Gn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Gn.PHUNIT={type:3,value:"PHUNIT"},Gn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Gn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Gn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Gn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Gn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Gn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Gn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Gn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Gn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Gn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Gn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Gn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Gn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Gn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Gn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Gn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Gn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Gn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Gn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Gn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Gn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Gn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Gn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Gn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Gn;var kn=P((function e(){b(this,e)}));kn.NEGATIVE={type:3,value:"NEGATIVE"},kn.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=kn;var jn=P((function e(){b(this,e)}));jn.ANCHORPLATE={type:3,value:"ANCHORPLATE"},jn.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},jn.BRACKET={type:3,value:"BRACKET"},jn.CABLEARRANGER={type:3,value:"CABLEARRANGER"},jn.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},jn.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},jn.FILLER={type:3,value:"FILLER"},jn.FLASHING={type:3,value:"FLASHING"},jn.INSULATOR={type:3,value:"INSULATOR"},jn.LOCK={type:3,value:"LOCK"},jn.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},jn.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},jn.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},jn.RAILBRACE={type:3,value:"RAILBRACE"},jn.RAILPAD={type:3,value:"RAILPAD"},jn.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},jn.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},jn.SHOE={type:3,value:"SHOE"},jn.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},jn.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},jn.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Vn.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Vn.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Qn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Qn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Qn.MANHOLE={type:3,value:"MANHOLE"},Qn.METERCHAMBER={type:3,value:"METERCHAMBER"},Qn.SUMP={type:3,value:"SUMP"},Qn.TRENCH={type:3,value:"TRENCH"},Qn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CABLE={type:3,value:"CABLE"},Wn.CABLECARRIER={type:3,value:"CABLECARRIER"},Wn.DUCT={type:3,value:"DUCT"},Wn.PIPE={type:3,value:"PIPE"},Wn.WIRELESS={type:3,value:"WIRELESS"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},zn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},zn.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},zn.CHEMICAL={type:3,value:"CHEMICAL"},zn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},zn.COMMUNICATION={type:3,value:"COMMUNICATION"},zn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},zn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},zn.CONTROL={type:3,value:"CONTROL"},zn.CONVEYING={type:3,value:"CONVEYING"},zn.DATA={type:3,value:"DATA"},zn.DISPOSAL={type:3,value:"DISPOSAL"},zn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},zn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},zn.DRAINAGE={type:3,value:"DRAINAGE"},zn.EARTHING={type:3,value:"EARTHING"},zn.ELECTRICAL={type:3,value:"ELECTRICAL"},zn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},zn.EXHAUST={type:3,value:"EXHAUST"},zn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},zn.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},zn.FUEL={type:3,value:"FUEL"},zn.GAS={type:3,value:"GAS"},zn.HAZARDOUS={type:3,value:"HAZARDOUS"},zn.HEATING={type:3,value:"HEATING"},zn.LIGHTING={type:3,value:"LIGHTING"},zn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},zn.MOBILENETWORK={type:3,value:"MOBILENETWORK"},zn.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},zn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},zn.OIL={type:3,value:"OIL"},zn.OPERATIONAL={type:3,value:"OPERATIONAL"},zn.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},zn.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},zn.POWERGENERATION={type:3,value:"POWERGENERATION"},zn.RAINWATER={type:3,value:"RAINWATER"},zn.REFRIGERATION={type:3,value:"REFRIGERATION"},zn.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},zn.SECURITY={type:3,value:"SECURITY"},zn.SEWAGE={type:3,value:"SEWAGE"},zn.SIGNAL={type:3,value:"SIGNAL"},zn.STORMWATER={type:3,value:"STORMWATER"},zn.TELEPHONE={type:3,value:"TELEPHONE"},zn.TV={type:3,value:"TV"},zn.VACUUM={type:3,value:"VACUUM"},zn.VENT={type:3,value:"VENT"},zn.VENTILATION={type:3,value:"VENTILATION"},zn.WASTEWATER={type:3,value:"WASTEWATER"},zn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Kn.PERSONAL={type:3,value:"PERSONAL"},Kn.PUBLIC={type:3,value:"PUBLIC"},Kn.RESTRICTED={type:3,value:"RESTRICTED"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DRAFT={type:3,value:"DRAFT"},Yn.FINAL={type:3,value:"FINAL"},Yn.FINALDRAFT={type:3,value:"FINALDRAFT"},Yn.REVISION={type:3,value:"REVISION"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Xn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Xn.FOLDING={type:3,value:"FOLDING"},Xn.REVOLVING={type:3,value:"REVOLVING"},Xn.ROLLINGUP={type:3,value:"ROLLINGUP"},Xn.SLIDING={type:3,value:"SLIDING"},Xn.SWINGING={type:3,value:"SWINGING"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Xn;var qn=P((function e(){b(this,e)}));qn.LEFT={type:3,value:"LEFT"},qn.MIDDLE={type:3,value:"MIDDLE"},qn.RIGHT={type:3,value:"RIGHT"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.ALUMINIUM={type:3,value:"ALUMINIUM"},Jn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Jn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Jn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Jn.PLASTIC={type:3,value:"PLASTIC"},Jn.STEEL={type:3,value:"STEEL"},Jn.WOOD={type:3,value:"WOOD"},Jn.USERDEFINED={type:3,value:"USERDEFINED"},Jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Zn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Zn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Zn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Zn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Zn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Zn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Zn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Zn.REVOLVING={type:3,value:"REVOLVING"},Zn.ROLLINGUP={type:3,value:"ROLLINGUP"},Zn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Zn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Zn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Zn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Zn;var $n=P((function e(){b(this,e)}));$n.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},$n.DOOR={type:3,value:"DOOR"},$n.GATE={type:3,value:"GATE"},$n.TRAPDOOR={type:3,value:"TRAPDOOR"},$n.TURNSTILE={type:3,value:"TURNSTILE"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},er.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},er.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},er.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},er.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},er.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},er.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},er.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},er.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},er.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},er.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},er.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},er.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},er.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},er.ROLLINGUP={type:3,value:"ROLLINGUP"},er.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},er.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},er.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},er.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},er.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},er.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=er;var tr=P((function e(){b(this,e)}));tr.BEND={type:3,value:"BEND"},tr.CONNECTOR={type:3,value:"CONNECTOR"},tr.ENTRY={type:3,value:"ENTRY"},tr.EXIT={type:3,value:"EXIT"},tr.JUNCTION={type:3,value:"JUNCTION"},tr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},tr.TRANSITION={type:3,value:"TRANSITION"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},nr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.FLATOVAL={type:3,value:"FLATOVAL"},rr.RECTANGULAR={type:3,value:"RECTANGULAR"},rr.ROUND={type:3,value:"ROUND"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},ir.CUT={type:3,value:"CUT"},ir.DREDGING={type:3,value:"DREDGING"},ir.EXCAVATION={type:3,value:"EXCAVATION"},ir.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},ir.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},ir.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},ir.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},ir.TRENCH={type:3,value:"TRENCH"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.BACKFILL={type:3,value:"BACKFILL"},ar.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},ar.EMBANKMENT={type:3,value:"EMBANKMENT"},ar.SLOPEFILL={type:3,value:"SLOPEFILL"},ar.SUBGRADE={type:3,value:"SUBGRADE"},ar.SUBGRADEBED={type:3,value:"SUBGRADEBED"},ar.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.DISHWASHER={type:3,value:"DISHWASHER"},sr.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},sr.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},sr.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},sr.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},sr.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},sr.FREEZER={type:3,value:"FREEZER"},sr.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},sr.HANDDRYER={type:3,value:"HANDDRYER"},sr.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},sr.MICROWAVE={type:3,value:"MICROWAVE"},sr.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},sr.REFRIGERATOR={type:3,value:"REFRIGERATOR"},sr.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},sr.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},sr.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=sr;var or=P((function e(){b(this,e)}));or.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},or.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},or.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},or.SWITCHBOARD={type:3,value:"SWITCHBOARD"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.BATTERY={type:3,value:"BATTERY"},lr.CAPACITOR={type:3,value:"CAPACITOR"},lr.CAPACITORBANK={type:3,value:"CAPACITORBANK"},lr.COMPENSATOR={type:3,value:"COMPENSATOR"},lr.HARMONICFILTER={type:3,value:"HARMONICFILTER"},lr.INDUCTOR={type:3,value:"INDUCTOR"},lr.INDUCTORBANK={type:3,value:"INDUCTORBANK"},lr.RECHARGER={type:3,value:"RECHARGER"},lr.UPS={type:3,value:"UPS"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CHP={type:3,value:"CHP"},cr.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},cr.STANDALONE={type:3,value:"STANDALONE"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.DC={type:3,value:"DC"},fr.INDUCTION={type:3,value:"INDUCTION"},fr.POLYPHASE={type:3,value:"POLYPHASE"},fr.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},fr.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.RELAY={type:3,value:"RELAY"},pr.TIMECLOCK={type:3,value:"TIMECLOCK"},pr.TIMEDELAY={type:3,value:"TIMEDELAY"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.ABUTMENT={type:3,value:"ABUTMENT"},Ar.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ar.ARCH={type:3,value:"ARCH"},Ar.BEAM_GRID={type:3,value:"BEAM_GRID"},Ar.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ar.CROSS_BRACING={type:3,value:"CROSS_BRACING"},Ar.DECK={type:3,value:"DECK"},Ar.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},Ar.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},Ar.GIRDER={type:3,value:"GIRDER"},Ar.GRID={type:3,value:"GRID"},Ar.MAST={type:3,value:"MAST"},Ar.PIER={type:3,value:"PIER"},Ar.PYLON={type:3,value:"PYLON"},Ar.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},Ar.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ar.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ar.SHELTER={type:3,value:"SHELTER"},Ar.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},Ar.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ar.SUMPBUSTER={type:3,value:"SUMPBUSTER"},Ar.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},Ar.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},Ar.TRACKPANEL={type:3,value:"TRACKPANEL"},Ar.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},Ar.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},Ar.TRUSS={type:3,value:"TRUSS"},Ar.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.COMPLEX={type:3,value:"COMPLEX"},dr.ELEMENT={type:3,value:"ELEMENT"},dr.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=dr;var vr=P((function e(){b(this,e)}));vr.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},vr.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},hr.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},hr.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},hr.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},hr.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},hr.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},hr.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ir.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ir.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ir.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ir.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ir.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},yr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},yr.EVENTRULE={type:3,value:"EVENTRULE"},yr.EVENTTIME={type:3,value:"EVENTTIME"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.ENDEVENT={type:3,value:"ENDEVENT"},mr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},mr.STARTEVENT={type:3,value:"STARTEVENT"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.USERDEFINED={type:3,value:"USERDEFINED"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=wr;var gr=P((function e(){b(this,e)}));gr.ABOVEGROUND={type:3,value:"ABOVEGROUND"},gr.BELOWGROUND={type:3,value:"BELOWGROUND"},gr.JUNCTION={type:3,value:"JUNCTION"},gr.LEVELCROSSING={type:3,value:"LEVELCROSSING"},gr.SEGMENT={type:3,value:"SEGMENT"},gr.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},gr.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},gr.TERMINAL={type:3,value:"TERMINAL"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.LATERAL={type:3,value:"LATERAL"},Er.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Er.REGION={type:3,value:"REGION"},Er.VERTICAL={type:3,value:"VERTICAL"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Tr.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Tr.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Tr.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Tr.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Tr.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Tr.VANEAXIAL={type:3,value:"VANEAXIAL"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Tr;var br=P((function e(){b(this,e)}));br.GLUE={type:3,value:"GLUE"},br.MORTAR={type:3,value:"MORTAR"},br.WELD={type:3,value:"WELD"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Dr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Dr.ODORFILTER={type:3,value:"ODORFILTER"},Dr.OILFILTER={type:3,value:"OILFILTER"},Dr.STRAINER={type:3,value:"STRAINER"},Dr.WATERFILTER={type:3,value:"WATERFILTER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Pr.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Pr.FIREMONITOR={type:3,value:"FIREMONITOR"},Pr.HOSEREEL={type:3,value:"HOSEREEL"},Pr.SPRINKLER={type:3,value:"SPRINKLER"},Pr.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.SINK={type:3,value:"SINK"},Rr.SOURCE={type:3,value:"SOURCE"},Rr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMMETER={type:3,value:"AMMETER"},Cr.COMBINED={type:3,value:"COMBINED"},Cr.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Cr.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Cr.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Cr.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Cr.THERMOMETER={type:3,value:"THERMOMETER"},Cr.VOLTMETER={type:3,value:"VOLTMETER"},Cr.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Cr.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=Cr;var _r=P((function e(){b(this,e)}));_r.ENERGYMETER={type:3,value:"ENERGYMETER"},_r.GASMETER={type:3,value:"GASMETER"},_r.OILMETER={type:3,value:"OILMETER"},_r.WATERMETER={type:3,value:"WATERMETER"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Br.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Br.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Br.PILE_CAP={type:3,value:"PILE_CAP"},Br.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.BED={type:3,value:"BED"},Or.CHAIR={type:3,value:"CHAIR"},Or.DESK={type:3,value:"DESK"},Or.FILECABINET={type:3,value:"FILECABINET"},Or.SHELF={type:3,value:"SHELF"},Or.SOFA={type:3,value:"SOFA"},Or.TABLE={type:3,value:"TABLE"},Or.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},Sr.TERRAIN={type:3,value:"TERRAIN"},Sr.VEGETATION={type:3,value:"VEGETATION"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Nr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Nr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Nr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Nr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Nr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Nr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.SOLID={type:3,value:"SOLID"},Lr.VOID={type:3,value:"VOID"},Lr.WATER={type:3,value:"WATER"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=Lr;var xr=P((function e(){b(this,e)}));xr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},xr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=xr;var Mr=P((function e(){b(this,e)}));Mr.IRREGULAR={type:3,value:"IRREGULAR"},Mr.RADIAL={type:3,value:"RADIAL"},Mr.RECTANGULAR={type:3,value:"RECTANGULAR"},Mr.TRIANGULAR={type:3,value:"TRIANGULAR"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=Mr;var Fr=P((function e(){b(this,e)}));Fr.PLATE={type:3,value:"PLATE"},Fr.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fr.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BUMPER={type:3,value:"BUMPER"},Ur.CRASHCUSHION={type:3,value:"CRASHCUSHION"},Ur.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},Ur.FENDER={type:3,value:"FENDER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.CYCLONIC={type:3,value:"CYCLONIC"},Gr.GREASE={type:3,value:"GREASE"},Gr.OIL={type:3,value:"OIL"},Gr.PETROL={type:3,value:"PETROL"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.EXTERNAL={type:3,value:"EXTERNAL"},kr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},kr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},kr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},kr.INTERNAL={type:3,value:"INTERNAL"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=kr;var jr=P((function e(){b(this,e)}));jr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},jr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},jr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.DATA={type:3,value:"DATA"},Vr.POWER={type:3,value:"POWER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Qr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Qr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Qr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Qr;var Wr=P((function e(){b(this,e)}));Wr.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Wr.CARPENTRY={type:3,value:"CARPENTRY"},Wr.CLEANING={type:3,value:"CLEANING"},Wr.CONCRETE={type:3,value:"CONCRETE"},Wr.DRYWALL={type:3,value:"DRYWALL"},Wr.ELECTRIC={type:3,value:"ELECTRIC"},Wr.FINISHING={type:3,value:"FINISHING"},Wr.FLOORING={type:3,value:"FLOORING"},Wr.GENERAL={type:3,value:"GENERAL"},Wr.HVAC={type:3,value:"HVAC"},Wr.LANDSCAPING={type:3,value:"LANDSCAPING"},Wr.MASONRY={type:3,value:"MASONRY"},Wr.PAINTING={type:3,value:"PAINTING"},Wr.PAVING={type:3,value:"PAVING"},Wr.PLUMBING={type:3,value:"PLUMBING"},Wr.ROOFING={type:3,value:"ROOFING"},Wr.SITEGRADING={type:3,value:"SITEGRADING"},Wr.STEELWORK={type:3,value:"STEELWORK"},Wr.SURVEYING={type:3,value:"SURVEYING"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Wr;var zr=P((function e(){b(this,e)}));zr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},zr.FLUORESCENT={type:3,value:"FLUORESCENT"},zr.HALOGEN={type:3,value:"HALOGEN"},zr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},zr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},zr.LED={type:3,value:"LED"},zr.METALHALIDE={type:3,value:"METALHALIDE"},zr.OLED={type:3,value:"OLED"},zr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.AXIS1={type:3,value:"AXIS1"},Kr.AXIS2={type:3,value:"AXIS2"},Kr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.TYPE_A={type:3,value:"TYPE_A"},Yr.TYPE_B={type:3,value:"TYPE_B"},Yr.TYPE_C={type:3,value:"TYPE_C"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Xr.FLUORESCENT={type:3,value:"FLUORESCENT"},Xr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Xr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Xr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Xr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Xr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Xr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Xr.METALHALIDE={type:3,value:"METALHALIDE"},Xr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Xr;var qr=P((function e(){b(this,e)}));qr.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},qr.POINTSOURCE={type:3,value:"POINTSOURCE"},qr.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.HOSEREEL={type:3,value:"HOSEREEL"},Jr.LOADINGARM={type:3,value:"LOADINGARM"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.LOAD_CASE={type:3,value:"LOAD_CASE"},Zr.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Zr.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.LOGICALAND={type:3,value:"LOGICALAND"},$r.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},$r.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},$r.LOGICALOR={type:3,value:"LOGICALOR"},$r.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=$r;var ei=P((function e(){b(this,e)}));ei.BARRIERBEACH={type:3,value:"BARRIERBEACH"},ei.BREAKWATER={type:3,value:"BREAKWATER"},ei.CANAL={type:3,value:"CANAL"},ei.DRYDOCK={type:3,value:"DRYDOCK"},ei.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},ei.HYDROLIFT={type:3,value:"HYDROLIFT"},ei.JETTY={type:3,value:"JETTY"},ei.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},ei.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},ei.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},ei.PORT={type:3,value:"PORT"},ei.QUAY={type:3,value:"QUAY"},ei.REVETMENT={type:3,value:"REVETMENT"},ei.SHIPLIFT={type:3,value:"SHIPLIFT"},ei.SHIPLOCK={type:3,value:"SHIPLOCK"},ei.SHIPYARD={type:3,value:"SHIPYARD"},ei.SLIPWAY={type:3,value:"SLIPWAY"},ei.WATERWAY={type:3,value:"WATERWAY"},ei.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},ti.ANCHORAGE={type:3,value:"ANCHORAGE"},ti.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},ti.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},ti.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},ti.CHAMBER={type:3,value:"CHAMBER"},ti.CILL_LEVEL={type:3,value:"CILL_LEVEL"},ti.COPELEVEL={type:3,value:"COPELEVEL"},ti.CORE={type:3,value:"CORE"},ti.CREST={type:3,value:"CREST"},ti.GATEHEAD={type:3,value:"GATEHEAD"},ti.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},ti.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},ti.LANDFIELD={type:3,value:"LANDFIELD"},ti.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},ti.LOWWATERLINE={type:3,value:"LOWWATERLINE"},ti.MANUFACTURING={type:3,value:"MANUFACTURING"},ti.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},ti.PROTECTION={type:3,value:"PROTECTION"},ti.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},ti.STORAGEAREA={type:3,value:"STORAGEAREA"},ti.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},ti.WATERFIELD={type:3,value:"WATERFIELD"},ti.WEATHERSIDE={type:3,value:"WEATHERSIDE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.ANCHORBOLT={type:3,value:"ANCHORBOLT"},ni.BOLT={type:3,value:"BOLT"},ni.CHAIN={type:3,value:"CHAIN"},ni.COUPLER={type:3,value:"COUPLER"},ni.DOWEL={type:3,value:"DOWEL"},ni.NAIL={type:3,value:"NAIL"},ni.NAILPLATE={type:3,value:"NAILPLATE"},ni.RAILFASTENING={type:3,value:"RAILFASTENING"},ni.RAILJOINT={type:3,value:"RAILJOINT"},ni.RIVET={type:3,value:"RIVET"},ni.ROPE={type:3,value:"ROPE"},ni.SCREW={type:3,value:"SCREW"},ni.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},ni.STAPLE={type:3,value:"STAPLE"},ni.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.AIRSTATION={type:3,value:"AIRSTATION"},ri.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},ri.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},ri.OXYGENPLANT={type:3,value:"OXYGENPLANT"},ri.VACUUMSTATION={type:3,value:"VACUUMSTATION"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},ii.BRACE={type:3,value:"BRACE"},ii.CHORD={type:3,value:"CHORD"},ii.COLLAR={type:3,value:"COLLAR"},ii.MEMBER={type:3,value:"MEMBER"},ii.MULLION={type:3,value:"MULLION"},ii.PLATE={type:3,value:"PLATE"},ii.POST={type:3,value:"POST"},ii.PURLIN={type:3,value:"PURLIN"},ii.RAFTER={type:3,value:"RAFTER"},ii.STAY_CABLE={type:3,value:"STAY_CABLE"},ii.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},ii.STRINGER={type:3,value:"STRINGER"},ii.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},ii.STRUT={type:3,value:"STRUT"},ii.STUD={type:3,value:"STUD"},ii.SUSPENDER={type:3,value:"SUSPENDER"},ii.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},ii.TIEBAR={type:3,value:"TIEBAR"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.ACCESSPOINT={type:3,value:"ACCESSPOINT"},ai.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},ai.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},ai.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},ai.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},ai.MASTERUNIT={type:3,value:"MASTERUNIT"},ai.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},ai.MSCSERVER={type:3,value:"MSCSERVER"},ai.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},ai.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},ai.REMOTEUNIT={type:3,value:"REMOTEUNIT"},ai.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},ai.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.BOLLARD={type:3,value:"BOLLARD"},si.LINETENSIONER={type:3,value:"LINETENSIONER"},si.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},si.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},si.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.BELTDRIVE={type:3,value:"BELTDRIVE"},oi.COUPLING={type:3,value:"COUPLING"},oi.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=oi;var li=P((function e(){b(this,e)}));li.BEACON={type:3,value:"BEACON"},li.BUOY={type:3,value:"BUOY"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.ACTOR={type:3,value:"ACTOR"},ui.CONTROL={type:3,value:"CONTROL"},ui.GROUP={type:3,value:"GROUP"},ui.PROCESS={type:3,value:"PROCESS"},ui.PRODUCT={type:3,value:"PRODUCT"},ui.PROJECT={type:3,value:"PROJECT"},ui.RESOURCE={type:3,value:"RESOURCE"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},ci.CODEWAIVER={type:3,value:"CODEWAIVER"},ci.DESIGNINTENT={type:3,value:"DESIGNINTENT"},ci.EXTERNAL={type:3,value:"EXTERNAL"},ci.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},ci.MERGECONFLICT={type:3,value:"MERGECONFLICT"},ci.MODELVIEW={type:3,value:"MODELVIEW"},ci.PARAMETER={type:3,value:"PARAMETER"},ci.REQUIREMENT={type:3,value:"REQUIREMENT"},ci.SPECIFICATION={type:3,value:"SPECIFICATION"},ci.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=ci;var fi=P((function e(){b(this,e)}));fi.ASSIGNEE={type:3,value:"ASSIGNEE"},fi.ASSIGNOR={type:3,value:"ASSIGNOR"},fi.LESSEE={type:3,value:"LESSEE"},fi.LESSOR={type:3,value:"LESSOR"},fi.LETTINGAGENT={type:3,value:"LETTINGAGENT"},fi.OWNER={type:3,value:"OWNER"},fi.TENANT={type:3,value:"TENANT"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.OPENING={type:3,value:"OPENING"},pi.RECESS={type:3,value:"RECESS"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ai.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ai.DATAOUTLET={type:3,value:"DATAOUTLET"},Ai.POWEROUTLET={type:3,value:"POWEROUTLET"},Ai.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ai;var di=P((function e(){b(this,e)}));di.FLEXIBLE={type:3,value:"FLEXIBLE"},di.RIGID={type:3,value:"RIGID"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.GRILL={type:3,value:"GRILL"},hi.LOUVER={type:3,value:"LOUVER"},hi.SCREEN={type:3,value:"SCREEN"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.ACCESS={type:3,value:"ACCESS"},Ii.BUILDING={type:3,value:"BUILDING"},Ii.WORK={type:3,value:"WORK"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.PHYSICAL={type:3,value:"PHYSICAL"},yi.VIRTUAL={type:3,value:"VIRTUAL"},yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=yi;var mi=P((function e(){b(this,e)}));mi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},mi.COMPOSITE={type:3,value:"COMPOSITE"},mi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},mi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=mi;var wi=P((function e(){b(this,e)}));wi.BORED={type:3,value:"BORED"},wi.COHESION={type:3,value:"COHESION"},wi.DRIVEN={type:3,value:"DRIVEN"},wi.FRICTION={type:3,value:"FRICTION"},wi.JETGROUTING={type:3,value:"JETGROUTING"},wi.SUPPORT={type:3,value:"SUPPORT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.BEND={type:3,value:"BEND"},gi.CONNECTOR={type:3,value:"CONNECTOR"},gi.ENTRY={type:3,value:"ENTRY"},gi.EXIT={type:3,value:"EXIT"},gi.JUNCTION={type:3,value:"JUNCTION"},gi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},gi.TRANSITION={type:3,value:"TRANSITION"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.CULVERT={type:3,value:"CULVERT"},Ei.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ei.GUTTER={type:3,value:"GUTTER"},Ei.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ei.SPOOL={type:3,value:"SPOOL"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.BASE_PLATE={type:3,value:"BASE_PLATE"},Ti.COVER_PLATE={type:3,value:"COVER_PLATE"},Ti.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ti.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Ti.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Ti.SHEET={type:3,value:"SHEET"},Ti.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Ti.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Ti.WEB_PLATE={type:3,value:"WEB_PLATE"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Ti;var bi=P((function e(){b(this,e)}));bi.CURVE3D={type:3,value:"CURVE3D"},bi.PCURVE_S1={type:3,value:"PCURVE_S1"},bi.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=bi;var Di=P((function e(){b(this,e)}));Di.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Di.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Di.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Di.CALIBRATION={type:3,value:"CALIBRATION"},Di.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Di.SHUTDOWN={type:3,value:"SHUTDOWN"},Di.STARTUP={type:3,value:"STARTUP"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.AREA={type:3,value:"AREA"},Pi.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.CHANGEORDER={type:3,value:"CHANGEORDER"},Ri.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ri.MOVEORDER={type:3,value:"MOVEORDER"},Ri.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ri.WORKORDER={type:3,value:"WORKORDER"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ci.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ci;var _i=P((function e(){b(this,e)}));_i.BLISTER={type:3,value:"BLISTER"},_i.DEVIATOR={type:3,value:"DEVIATOR"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},Bi.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},Bi.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},Bi.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},Bi.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},Bi.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},Bi.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},Bi.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},Bi.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Oi.ELECTRONIC={type:3,value:"ELECTRONIC"},Oi.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Oi.THERMAL={type:3,value:"THERMAL"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},Si.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},Si.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},Si.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},Si.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},Si.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},Si.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},Si.SPARKGAP={type:3,value:"SPARKGAP"},Si.VARISTOR={type:3,value:"VARISTOR"},Si.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.CIRCULATOR={type:3,value:"CIRCULATOR"},Ni.ENDSUCTION={type:3,value:"ENDSUCTION"},Ni.SPLITCASE={type:3,value:"SPLITCASE"},Ni.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Ni.SUMPPUMP={type:3,value:"SUMPPUMP"},Ni.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Ni.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.BLADE={type:3,value:"BLADE"},Li.CHECKRAIL={type:3,value:"CHECKRAIL"},Li.GUARDRAIL={type:3,value:"GUARDRAIL"},Li.RACKRAIL={type:3,value:"RACKRAIL"},Li.RAIL={type:3,value:"RAIL"},Li.STOCKRAIL={type:3,value:"STOCKRAIL"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=Li;var xi=P((function e(){b(this,e)}));xi.BALUSTRADE={type:3,value:"BALUSTRADE"},xi.FENCE={type:3,value:"FENCE"},xi.GUARDRAIL={type:3,value:"GUARDRAIL"},xi.HANDRAIL={type:3,value:"HANDRAIL"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=xi;var Mi=P((function e(){b(this,e)}));Mi.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},Mi.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},Mi.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},Mi.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},Mi.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},Mi.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},Mi.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},Mi.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=Mi;var Fi=P((function e(){b(this,e)}));Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.SPIRAL={type:3,value:"SPIRAL"},Hi.STRAIGHT={type:3,value:"STRAIGHT"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Gi.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Gi.DAILY={type:3,value:"DAILY"},Gi.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Gi.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Gi.WEEKLY={type:3,value:"WEEKLY"},Gi.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Gi.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.BOUNDARY={type:3,value:"BOUNDARY"},ki.INTERSECTION={type:3,value:"INTERSECTION"},ki.KILOPOINT={type:3,value:"KILOPOINT"},ki.LANDMARK={type:3,value:"LANDMARK"},ki.MILEPOINT={type:3,value:"MILEPOINT"},ki.POSITION={type:3,value:"POSITION"},ki.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},ki.STATION={type:3,value:"STATION"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=ki;var ji=P((function e(){b(this,e)}));ji.BLINN={type:3,value:"BLINN"},ji.FLAT={type:3,value:"FLAT"},ji.GLASS={type:3,value:"GLASS"},ji.MATT={type:3,value:"MATT"},ji.METAL={type:3,value:"METAL"},ji.MIRROR={type:3,value:"MIRROR"},ji.PHONG={type:3,value:"PHONG"},ji.PHYSICAL={type:3,value:"PHYSICAL"},ji.PLASTIC={type:3,value:"PLASTIC"},ji.STRAUSS={type:3,value:"STRAUSS"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Vi.GROUTED={type:3,value:"GROUTED"},Vi.REPLACED={type:3,value:"REPLACED"},Vi.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Vi.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Vi.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.ANCHORING={type:3,value:"ANCHORING"},Qi.EDGE={type:3,value:"EDGE"},Qi.LIGATURE={type:3,value:"LIGATURE"},Qi.MAIN={type:3,value:"MAIN"},Qi.PUNCHING={type:3,value:"PUNCHING"},Qi.RING={type:3,value:"RING"},Qi.SHEAR={type:3,value:"SHEAR"},Qi.STUD={type:3,value:"STUD"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.PLAIN={type:3,value:"PLAIN"},Wi.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ANCHORING={type:3,value:"ANCHORING"},zi.EDGE={type:3,value:"EDGE"},zi.LIGATURE={type:3,value:"LIGATURE"},zi.MAIN={type:3,value:"MAIN"},zi.PUNCHING={type:3,value:"PUNCHING"},zi.RING={type:3,value:"RING"},zi.SHEAR={type:3,value:"SHEAR"},zi.SPACEBAR={type:3,value:"SPACEBAR"},zi.STUD={type:3,value:"STUD"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Yi.BUS_STOP={type:3,value:"BUS_STOP"},Yi.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Yi.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Yi.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Yi.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Yi.INTERSECTION={type:3,value:"INTERSECTION"},Yi.LAYBY={type:3,value:"LAYBY"},Yi.PARKINGBAY={type:3,value:"PARKINGBAY"},Yi.PASSINGBAY={type:3,value:"PASSINGBAY"},Yi.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Yi.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Yi.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Yi.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Yi.ROADSIDE={type:3,value:"ROADSIDE"},Yi.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Yi.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Yi.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Yi.SHOULDER={type:3,value:"SHOULDER"},Yi.SIDEWALK={type:3,value:"SIDEWALK"},Yi.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Yi.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Yi.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Yi.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.USERDEFINED={type:3,value:"USERDEFINED"},Xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=Xi;var qi=P((function e(){b(this,e)}));qi.ARCHITECT={type:3,value:"ARCHITECT"},qi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},qi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},qi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},qi.CLIENT={type:3,value:"CLIENT"},qi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},qi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},qi.CONSULTANT={type:3,value:"CONSULTANT"},qi.CONTRACTOR={type:3,value:"CONTRACTOR"},qi.COSTENGINEER={type:3,value:"COSTENGINEER"},qi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},qi.ENGINEER={type:3,value:"ENGINEER"},qi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},qi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},qi.MANUFACTURER={type:3,value:"MANUFACTURER"},qi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},qi.OWNER={type:3,value:"OWNER"},qi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},qi.RESELLER={type:3,value:"RESELLER"},qi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},qi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},qi.SUPPLIER={type:3,value:"SUPPLIER"},qi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ji.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ji.DOME_ROOF={type:3,value:"DOME_ROOF"},Ji.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ji.FREEFORM={type:3,value:"FREEFORM"},Ji.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ji.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ji.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ji.HIP_ROOF={type:3,value:"HIP_ROOF"},Ji.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ji.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ji.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ji.SHED_ROOF={type:3,value:"SHED_ROOF"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.ATTO={type:3,value:"ATTO"},Zi.CENTI={type:3,value:"CENTI"},Zi.DECA={type:3,value:"DECA"},Zi.DECI={type:3,value:"DECI"},Zi.EXA={type:3,value:"EXA"},Zi.FEMTO={type:3,value:"FEMTO"},Zi.GIGA={type:3,value:"GIGA"},Zi.HECTO={type:3,value:"HECTO"},Zi.KILO={type:3,value:"KILO"},Zi.MEGA={type:3,value:"MEGA"},Zi.MICRO={type:3,value:"MICRO"},Zi.MILLI={type:3,value:"MILLI"},Zi.NANO={type:3,value:"NANO"},Zi.PETA={type:3,value:"PETA"},Zi.PICO={type:3,value:"PICO"},Zi.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Zi;var $i=P((function e(){b(this,e)}));$i.AMPERE={type:3,value:"AMPERE"},$i.BECQUEREL={type:3,value:"BECQUEREL"},$i.CANDELA={type:3,value:"CANDELA"},$i.COULOMB={type:3,value:"COULOMB"},$i.CUBIC_METRE={type:3,value:"CUBIC_METRE"},$i.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},$i.FARAD={type:3,value:"FARAD"},$i.GRAM={type:3,value:"GRAM"},$i.GRAY={type:3,value:"GRAY"},$i.HENRY={type:3,value:"HENRY"},$i.HERTZ={type:3,value:"HERTZ"},$i.JOULE={type:3,value:"JOULE"},$i.KELVIN={type:3,value:"KELVIN"},$i.LUMEN={type:3,value:"LUMEN"},$i.LUX={type:3,value:"LUX"},$i.METRE={type:3,value:"METRE"},$i.MOLE={type:3,value:"MOLE"},$i.NEWTON={type:3,value:"NEWTON"},$i.OHM={type:3,value:"OHM"},$i.PASCAL={type:3,value:"PASCAL"},$i.RADIAN={type:3,value:"RADIAN"},$i.SECOND={type:3,value:"SECOND"},$i.SIEMENS={type:3,value:"SIEMENS"},$i.SIEVERT={type:3,value:"SIEVERT"},$i.SQUARE_METRE={type:3,value:"SQUARE_METRE"},$i.STERADIAN={type:3,value:"STERADIAN"},$i.TESLA={type:3,value:"TESLA"},$i.VOLT={type:3,value:"VOLT"},$i.WATT={type:3,value:"WATT"},$i.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=$i;var ea=P((function e(){b(this,e)}));ea.BATH={type:3,value:"BATH"},ea.BIDET={type:3,value:"BIDET"},ea.CISTERN={type:3,value:"CISTERN"},ea.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},ea.SHOWER={type:3,value:"SHOWER"},ea.SINK={type:3,value:"SINK"},ea.TOILETPAN={type:3,value:"TOILETPAN"},ea.URINAL={type:3,value:"URINAL"},ea.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},ea.WCSEAT={type:3,value:"WCSEAT"},ea.USERDEFINED={type:3,value:"USERDEFINED"},ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=ea;var ta=P((function e(){b(this,e)}));ta.TAPERED={type:3,value:"TAPERED"},ta.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=ta;var na=P((function e(){b(this,e)}));na.CO2SENSOR={type:3,value:"CO2SENSOR"},na.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},na.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},na.COSENSOR={type:3,value:"COSENSOR"},na.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},na.FIRESENSOR={type:3,value:"FIRESENSOR"},na.FLOWSENSOR={type:3,value:"FLOWSENSOR"},na.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},na.FROSTSENSOR={type:3,value:"FROSTSENSOR"},na.GASSENSOR={type:3,value:"GASSENSOR"},na.HEATSENSOR={type:3,value:"HEATSENSOR"},na.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},na.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},na.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},na.LEVELSENSOR={type:3,value:"LEVELSENSOR"},na.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},na.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},na.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},na.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},na.PHSENSOR={type:3,value:"PHSENSOR"},na.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},na.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},na.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},na.RAINSENSOR={type:3,value:"RAINSENSOR"},na.SMOKESENSOR={type:3,value:"SMOKESENSOR"},na.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},na.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},na.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},na.TRAINSENSOR={type:3,value:"TRAINSENSOR"},na.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},na.WHEELSENSOR={type:3,value:"WHEELSENSOR"},na.WINDSENSOR={type:3,value:"WINDSENSOR"},na.USERDEFINED={type:3,value:"USERDEFINED"},na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=na;var ra=P((function e(){b(this,e)}));ra.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ra.FINISH_START={type:3,value:"FINISH_START"},ra.START_FINISH={type:3,value:"START_FINISH"},ra.START_START={type:3,value:"START_START"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=ra;var ia=P((function e(){b(this,e)}));ia.AWNING={type:3,value:"AWNING"},ia.JALOUSIE={type:3,value:"JALOUSIE"},ia.SHUTTER={type:3,value:"SHUTTER"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.MARKER={type:3,value:"MARKER"},aa.MIRROR={type:3,value:"MIRROR"},aa.PICTORAL={type:3,value:"PICTORAL"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.AUDIO={type:3,value:"AUDIO"},sa.MIXED={type:3,value:"MIXED"},sa.VISUAL={type:3,value:"VISUAL"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},oa.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},oa.P_LISTVALUE={type:3,value:"P_LISTVALUE"},oa.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},oa.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},oa.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},oa.Q_AREA={type:3,value:"Q_AREA"},oa.Q_COUNT={type:3,value:"Q_COUNT"},oa.Q_LENGTH={type:3,value:"Q_LENGTH"},oa.Q_NUMBER={type:3,value:"Q_NUMBER"},oa.Q_TIME={type:3,value:"Q_TIME"},oa.Q_VOLUME={type:3,value:"Q_VOLUME"},oa.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=oa;var la=P((function e(){b(this,e)}));la.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},la.BASESLAB={type:3,value:"BASESLAB"},la.FLOOR={type:3,value:"FLOOR"},la.LANDING={type:3,value:"LANDING"},la.PAVING={type:3,value:"PAVING"},la.ROOF={type:3,value:"ROOF"},la.SIDEWALK={type:3,value:"SIDEWALK"},la.TRACKSLAB={type:3,value:"TRACKSLAB"},la.WEARING={type:3,value:"WEARING"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ua.SOLARPANEL={type:3,value:"SOLARPANEL"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.CONVECTOR={type:3,value:"CONVECTOR"},ca.RADIATOR={type:3,value:"RADIATOR"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=ca;var fa=P((function e(){b(this,e)}));fa.BERTH={type:3,value:"BERTH"},fa.EXTERNAL={type:3,value:"EXTERNAL"},fa.GFA={type:3,value:"GFA"},fa.INTERNAL={type:3,value:"INTERNAL"},fa.PARKING={type:3,value:"PARKING"},fa.SPACE={type:3,value:"SPACE"},fa.USERDEFINED={type:3,value:"USERDEFINED"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=fa;var pa=P((function e(){b(this,e)}));pa.CONSTRUCTION={type:3,value:"CONSTRUCTION"},pa.FIRESAFETY={type:3,value:"FIRESAFETY"},pa.INTERFERENCE={type:3,value:"INTERFERENCE"},pa.LIGHTING={type:3,value:"LIGHTING"},pa.OCCUPANCY={type:3,value:"OCCUPANCY"},pa.RESERVATION={type:3,value:"RESERVATION"},pa.SECURITY={type:3,value:"SECURITY"},pa.THERMAL={type:3,value:"THERMAL"},pa.TRANSPORT={type:3,value:"TRANSPORT"},pa.VENTILATION={type:3,value:"VENTILATION"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.BIRDCAGE={type:3,value:"BIRDCAGE"},Aa.COWL={type:3,value:"COWL"},Aa.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Aa;var da=P((function e(){b(this,e)}));da.CURVED={type:3,value:"CURVED"},da.FREEFORM={type:3,value:"FREEFORM"},da.SPIRAL={type:3,value:"SPIRAL"},da.STRAIGHT={type:3,value:"STRAIGHT"},da.WINDER={type:3,value:"WINDER"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=da;var va=P((function e(){b(this,e)}));va.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},va.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},va.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},va.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},va.LADDER={type:3,value:"LADDER"},va.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},va.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},va.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},va.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},va.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},va.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},va.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},va.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},va.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},va.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=va;var ha=P((function e(){b(this,e)}));ha.LOCKED={type:3,value:"LOCKED"},ha.READONLY={type:3,value:"READONLY"},ha.READONLYLOCKED={type:3,value:"READONLYLOCKED"},ha.READWRITE={type:3,value:"READWRITE"},ha.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.CONST={type:3,value:"CONST"},Ia.DISCRETE={type:3,value:"DISCRETE"},Ia.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ia.LINEAR={type:3,value:"LINEAR"},Ia.PARABOLA={type:3,value:"PARABOLA"},Ia.POLYGONAL={type:3,value:"POLYGONAL"},Ia.SINUS={type:3,value:"SINUS"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.CABLE={type:3,value:"CABLE"},ya.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},ya.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},ya.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},ya.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=ya;var ma=P((function e(){b(this,e)}));ma.BILINEAR={type:3,value:"BILINEAR"},ma.CONST={type:3,value:"CONST"},ma.DISCRETE={type:3,value:"DISCRETE"},ma.ISOCONTOUR={type:3,value:"ISOCONTOUR"},ma.USERDEFINED={type:3,value:"USERDEFINED"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=ma;var wa=P((function e(){b(this,e)}));wa.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},wa.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},wa.SHELL={type:3,value:"SHELL"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=wa;var ga=P((function e(){b(this,e)}));ga.PURCHASE={type:3,value:"PURCHASE"},ga.WORK={type:3,value:"WORK"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=ga;var Ea=P((function e(){b(this,e)}));Ea.DEFECT={type:3,value:"DEFECT"},Ea.HATCHMARKING={type:3,value:"HATCHMARKING"},Ea.LINEMARKING={type:3,value:"LINEMARKING"},Ea.MARK={type:3,value:"MARK"},Ea.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Ea.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Ea.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Ea.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Ea.TAG={type:3,value:"TAG"},Ea.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Ea.TREATMENT={type:3,value:"TREATMENT"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Ea;var Ta=P((function e(){b(this,e)}));Ta.BOTH={type:3,value:"BOTH"},Ta.NEGATIVE={type:3,value:"NEGATIVE"},Ta.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=Ta;var ba=P((function e(){b(this,e)}));ba.CONTACTOR={type:3,value:"CONTACTOR"},ba.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ba.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ba.KEYPAD={type:3,value:"KEYPAD"},ba.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ba.RELAY={type:3,value:"RELAY"},ba.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ba.STARTER={type:3,value:"STARTER"},ba.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},ba.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ba.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ba;var Da=P((function e(){b(this,e)}));Da.PANEL={type:3,value:"PANEL"},Da.SUBRACK={type:3,value:"SUBRACK"},Da.WORKSURFACE={type:3,value:"WORKSURFACE"},Da.USERDEFINED={type:3,value:"USERDEFINED"},Da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Da;var Pa=P((function e(){b(this,e)}));Pa.BASIN={type:3,value:"BASIN"},Pa.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Pa.EXPANSION={type:3,value:"EXPANSION"},Pa.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Pa.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Pa.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Pa.STORAGE={type:3,value:"STORAGE"},Pa.VESSEL={type:3,value:"VESSEL"},Pa.USERDEFINED={type:3,value:"USERDEFINED"},Pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Pa;var Ra=P((function e(){b(this,e)}));Ra.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Ra.WORKTIME={type:3,value:"WORKTIME"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Ra;var Ca=P((function e(){b(this,e)}));Ca.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Ca.ATTENDANCE={type:3,value:"ATTENDANCE"},Ca.CALIBRATION={type:3,value:"CALIBRATION"},Ca.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ca.DEMOLITION={type:3,value:"DEMOLITION"},Ca.DISMANTLE={type:3,value:"DISMANTLE"},Ca.DISPOSAL={type:3,value:"DISPOSAL"},Ca.EMERGENCY={type:3,value:"EMERGENCY"},Ca.INSPECTION={type:3,value:"INSPECTION"},Ca.INSTALLATION={type:3,value:"INSTALLATION"},Ca.LOGISTIC={type:3,value:"LOGISTIC"},Ca.MAINTENANCE={type:3,value:"MAINTENANCE"},Ca.MOVE={type:3,value:"MOVE"},Ca.OPERATION={type:3,value:"OPERATION"},Ca.REMOVAL={type:3,value:"REMOVAL"},Ca.RENOVATION={type:3,value:"RENOVATION"},Ca.SAFETY={type:3,value:"SAFETY"},Ca.SHUTDOWN={type:3,value:"SHUTDOWN"},Ca.STARTUP={type:3,value:"STARTUP"},Ca.TESTING={type:3,value:"TESTING"},Ca.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Ca.USERDEFINED={type:3,value:"USERDEFINED"},Ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=Ca;var _a=P((function e(){b(this,e)}));_a.COUPLER={type:3,value:"COUPLER"},_a.FIXED_END={type:3,value:"FIXED_END"},_a.TENSIONING_END={type:3,value:"TENSIONING_END"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=_a;var Ba=P((function e(){b(this,e)}));Ba.COUPLER={type:3,value:"COUPLER"},Ba.DIABOLO={type:3,value:"DIABOLO"},Ba.DUCT={type:3,value:"DUCT"},Ba.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},Ba.TRUMPET={type:3,value:"TRUMPET"},Ba.USERDEFINED={type:3,value:"USERDEFINED"},Ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=Ba;var Oa=P((function e(){b(this,e)}));Oa.BAR={type:3,value:"BAR"},Oa.COATED={type:3,value:"COATED"},Oa.STRAND={type:3,value:"STRAND"},Oa.WIRE={type:3,value:"WIRE"},Oa.USERDEFINED={type:3,value:"USERDEFINED"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Oa;var Sa=P((function e(){b(this,e)}));Sa.DOWN={type:3,value:"DOWN"},Sa.LEFT={type:3,value:"LEFT"},Sa.RIGHT={type:3,value:"RIGHT"},Sa.UP={type:3,value:"UP"},e.IfcTextPath=Sa;var Na=P((function e(){b(this,e)}));Na.CONTINUOUS={type:3,value:"CONTINUOUS"},Na.DISCRETE={type:3,value:"DISCRETE"},Na.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Na.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Na.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Na.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Na;var La=P((function e(){b(this,e)}));La.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},La.DERAILER={type:3,value:"DERAILER"},La.FROG={type:3,value:"FROG"},La.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},La.SLEEPER={type:3,value:"SLEEPER"},La.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},La.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},La.VEHICLESTOP={type:3,value:"VEHICLESTOP"},La.USERDEFINED={type:3,value:"USERDEFINED"},La.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=La;var xa=P((function e(){b(this,e)}));xa.CHOPPER={type:3,value:"CHOPPER"},xa.COMBINED={type:3,value:"COMBINED"},xa.CURRENT={type:3,value:"CURRENT"},xa.FREQUENCY={type:3,value:"FREQUENCY"},xa.INVERTER={type:3,value:"INVERTER"},xa.RECTIFIER={type:3,value:"RECTIFIER"},xa.VOLTAGE={type:3,value:"VOLTAGE"},xa.USERDEFINED={type:3,value:"USERDEFINED"},xa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=xa;var Ma=P((function e(){b(this,e)}));Ma.CONTINUOUS={type:3,value:"CONTINUOUS"},Ma.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Ma.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},Ma.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=Ma;var Fa=P((function e(){b(this,e)}));Fa.CRANEWAY={type:3,value:"CRANEWAY"},Fa.ELEVATOR={type:3,value:"ELEVATOR"},Fa.ESCALATOR={type:3,value:"ESCALATOR"},Fa.HAULINGGEAR={type:3,value:"HAULINGGEAR"},Fa.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Fa.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=Fa;var Ha=P((function e(){b(this,e)}));Ha.CARTESIAN={type:3,value:"CARTESIAN"},Ha.PARAMETER={type:3,value:"PARAMETER"},Ha.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Ha;var Ua=P((function e(){b(this,e)}));Ua.FINNED={type:3,value:"FINNED"},Ua.USERDEFINED={type:3,value:"USERDEFINED"},Ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=Ua;var Ga=P((function e(){b(this,e)}));Ga.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Ga.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Ga.AREAUNIT={type:3,value:"AREAUNIT"},Ga.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Ga.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Ga.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Ga.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Ga.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Ga.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Ga.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Ga.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Ga.FORCEUNIT={type:3,value:"FORCEUNIT"},Ga.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Ga.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Ga.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Ga.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Ga.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Ga.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Ga.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Ga.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Ga.MASSUNIT={type:3,value:"MASSUNIT"},Ga.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Ga.POWERUNIT={type:3,value:"POWERUNIT"},Ga.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Ga.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Ga.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Ga.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Ga.TIMEUNIT={type:3,value:"TIMEUNIT"},Ga.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Ga.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Ga;var ka=P((function e(){b(this,e)}));ka.ALARMPANEL={type:3,value:"ALARMPANEL"},ka.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},ka.COMBINED={type:3,value:"COMBINED"},ka.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ka.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ka.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ka.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ka.MIMICPANEL={type:3,value:"MIMICPANEL"},ka.THERMOSTAT={type:3,value:"THERMOSTAT"},ka.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ka.USERDEFINED={type:3,value:"USERDEFINED"},ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ka;var ja=P((function e(){b(this,e)}));ja.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ja.AIRHANDLER={type:3,value:"AIRHANDLER"},ja.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ja.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ja.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ja.USERDEFINED={type:3,value:"USERDEFINED"},ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ja;var Va=P((function e(){b(this,e)}));Va.AIRRELEASE={type:3,value:"AIRRELEASE"},Va.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Va.CHANGEOVER={type:3,value:"CHANGEOVER"},Va.CHECK={type:3,value:"CHECK"},Va.COMMISSIONING={type:3,value:"COMMISSIONING"},Va.DIVERTING={type:3,value:"DIVERTING"},Va.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Va.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Va.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Va.FAUCET={type:3,value:"FAUCET"},Va.FLUSHING={type:3,value:"FLUSHING"},Va.GASCOCK={type:3,value:"GASCOCK"},Va.GASTAP={type:3,value:"GASTAP"},Va.ISOLATING={type:3,value:"ISOLATING"},Va.MIXING={type:3,value:"MIXING"},Va.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Va.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Va.REGULATING={type:3,value:"REGULATING"},Va.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Va.STEAMTRAP={type:3,value:"STEAMTRAP"},Va.STOPCOCK={type:3,value:"STOPCOCK"},Va.USERDEFINED={type:3,value:"USERDEFINED"},Va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Va;var Qa=P((function e(){b(this,e)}));Qa.CARGO={type:3,value:"CARGO"},Qa.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Qa.VEHICLE={type:3,value:"VEHICLE"},Qa.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Qa.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Qa.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Qa.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Qa.USERDEFINED={type:3,value:"USERDEFINED"},Qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=Qa;var Wa=P((function e(){b(this,e)}));Wa.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},Wa.BENDING_YIELD={type:3,value:"BENDING_YIELD"},Wa.FRICTION={type:3,value:"FRICTION"},Wa.RUBBER={type:3,value:"RUBBER"},Wa.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},Wa.VISCOUS={type:3,value:"VISCOUS"},Wa.USERDEFINED={type:3,value:"USERDEFINED"},Wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=Wa;var za=P((function e(){b(this,e)}));za.BASE={type:3,value:"BASE"},za.COMPRESSION={type:3,value:"COMPRESSION"},za.SPRING={type:3,value:"SPRING"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=za;var Ka=P((function e(){b(this,e)}));Ka.BOUNDARY={type:3,value:"BOUNDARY"},Ka.CLEARANCE={type:3,value:"CLEARANCE"},Ka.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Ka.USERDEFINED={type:3,value:"USERDEFINED"},Ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=Ka;var Ya=P((function e(){b(this,e)}));Ya.CHAMFER={type:3,value:"CHAMFER"},Ya.CUTOUT={type:3,value:"CUTOUT"},Ya.EDGE={type:3,value:"EDGE"},Ya.HOLE={type:3,value:"HOLE"},Ya.MITER={type:3,value:"MITER"},Ya.NOTCH={type:3,value:"NOTCH"},Ya.USERDEFINED={type:3,value:"USERDEFINED"},Ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Ya;var Xa=P((function e(){b(this,e)}));Xa.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Xa.MOVABLE={type:3,value:"MOVABLE"},Xa.PARAPET={type:3,value:"PARAPET"},Xa.PARTITIONING={type:3,value:"PARTITIONING"},Xa.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Xa.POLYGONAL={type:3,value:"POLYGONAL"},Xa.RETAININGWALL={type:3,value:"RETAININGWALL"},Xa.SHEAR={type:3,value:"SHEAR"},Xa.SOLIDWALL={type:3,value:"SOLIDWALL"},Xa.STANDARD={type:3,value:"STANDARD"},Xa.WAVEWALL={type:3,value:"WAVEWALL"},Xa.USERDEFINED={type:3,value:"USERDEFINED"},Xa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Xa;var qa=P((function e(){b(this,e)}));qa.FLOORTRAP={type:3,value:"FLOORTRAP"},qa.FLOORWASTE={type:3,value:"FLOORWASTE"},qa.GULLYSUMP={type:3,value:"GULLYSUMP"},qa.GULLYTRAP={type:3,value:"GULLYTRAP"},qa.ROOFDRAIN={type:3,value:"ROOFDRAIN"},qa.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},qa.WASTETRAP={type:3,value:"WASTETRAP"},qa.USERDEFINED={type:3,value:"USERDEFINED"},qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=qa;var Ja=P((function e(){b(this,e)}));Ja.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Ja.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Ja.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Ja.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Ja.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Ja.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Ja.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Ja.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Ja.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Ja.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Ja.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Ja.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Ja.TOPHUNG={type:3,value:"TOPHUNG"},Ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Ja;var Za=P((function e(){b(this,e)}));Za.BOTTOM={type:3,value:"BOTTOM"},Za.LEFT={type:3,value:"LEFT"},Za.MIDDLE={type:3,value:"MIDDLE"},Za.RIGHT={type:3,value:"RIGHT"},Za.TOP={type:3,value:"TOP"},Za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Za;var $a=P((function e(){b(this,e)}));$a.ALUMINIUM={type:3,value:"ALUMINIUM"},$a.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},$a.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},$a.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},$a.PLASTIC={type:3,value:"PLASTIC"},$a.STEEL={type:3,value:"STEEL"},$a.WOOD={type:3,value:"WOOD"},$a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=$a;var es=P((function e(){b(this,e)}));es.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},es.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},es.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},es.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},es.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},es.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},es.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},es.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},es.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=es;var ts=P((function e(){b(this,e)}));ts.LIGHTDOME={type:3,value:"LIGHTDOME"},ts.SKYLIGHT={type:3,value:"SKYLIGHT"},ts.WINDOW={type:3,value:"WINDOW"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=ts;var ns=P((function e(){b(this,e)}));ns.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ns.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ns.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ns.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ns.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ns.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ns.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ns.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ns.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=ns;var rs=P((function e(){b(this,e)}));rs.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},rs.SECONDSHIFT={type:3,value:"SECONDSHIFT"},rs.THIRDSHIFT={type:3,value:"THIRDSHIFT"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=rs;var is=P((function e(){b(this,e)}));is.ACTUAL={type:3,value:"ACTUAL"},is.BASELINE={type:3,value:"BASELINE"},is.PLANNED={type:3,value:"PLANNED"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=is;var as=P((function e(){b(this,e)}));as.ACTUAL={type:3,value:"ACTUAL"},as.BASELINE={type:3,value:"BASELINE"},as.PLANNED={type:3,value:"PLANNED"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=as;var ss=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ss;var os=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTag=r,a.EndTag=i,a.type=2879124712,a}return P(n)}();e.IfcAlignmentParameterSegment=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartHeight=o,p.StartGradient=l,p.EndGradient=u,p.RadiusOfCurvature=c,p.PredefinedType=f,p.type=3633395639,p}return P(n)}(ls);e.IfcAlignmentVerticalSegment=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=As;var ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(As);e.IfcBoundaryEdgeCondition=ds;var vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(As);e.IfcBoundaryFaceCondition=vs;var hs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(As);e.IfcBoundaryNodeCondition=hs;var Is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(hs);e.IfcBoundaryNodeConditionWarping=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(ys);e.IfcConnectionPointGeometry=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(ys);e.IfcConnectionSurfaceGeometry=ws;var gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(ys);e.IfcConnectionVolumeGeometry=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(fs);e.IfcCostValue=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Elements=r,o.UnitType=i,o.UserDefinedType=a,o.Name=s,o.type=1765591967,o}return P(n)}();e.IfcDerivedUnit=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=_s;var Bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(Bs);e.IfcExternallyDefinedHatchStyle=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(Bs);e.IfcExternallyDefinedSurfaceStyle=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(Bs);e.IfcExternallyDefinedTextFont=Ns;var Ls=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Ls;var xs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=xs;var Ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(_s);e.IfcLibraryInformation=Ms;var Fs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(Bs);e.IfcLibraryReference=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i)).SourceCRS=r,A.TargetCRS=i,A.Eastings=a,A.Northings=s,A.OrthogonalHeight=o,A.XAxisAbscissa=l,A.XAxisOrdinate=u,A.Scale=c,A.ScaleY=f,A.ScaleZ=p,A.type=3057273783,A}return P(n)}(Ts);e.IfcMapConversion=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=ks;var js=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}(js);e.IfcMaterialLayer=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}(js);e.IfcMaterialLayerSet=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(Vs);e.IfcMaterialLayerWithOffsets=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=zs;var Ks=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}(js);e.IfcMaterialProfile=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}(js);e.IfcMaterialProfileSet=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(Ks);e.IfcMaterialProfileWithOffsets=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Es);e.IfcMetric=Zs;var $s=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).PlacementRelTo=r,i.type=3701648758,i}return P(n)}();e.IfcObjectPlacement=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Es);e.IfcObjective=no;var ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ro;var io=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=ao;var so=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(oo);e.IfcPhysicalSimpleQuantity=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(os);e.IfcPostalAddress=uo;var co=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=co;var fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(fo);e.IfcPresentationLayerWithStyle=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=vo;var ho=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(bs);e.IfcProjectedCRS=Io;var yo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(yo);e.IfcPropertyEnumeration=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(lo);e.IfcQuantityArea=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(lo);e.IfcQuantityCount=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(lo);e.IfcQuantityLength=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.NumberValue=s,l.Formula=o,l.type=2691318326,l}return P(n)}(lo);e.IfcQuantityNumber=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(lo);e.IfcQuantityTime=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(lo);e.IfcQuantityVolume=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(lo);e.IfcQuantityWeight=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=_o;var Bo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Bo;var Oo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=So;var No=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=No;var Lo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Lo;var xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Prefix=a,o.Name=s,o.type=448429030,o}return P(n)}(eo);e.IfcSIUnit=xo;var Mo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=Mo;var Fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(_o);e.IfcShapeModel=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ho);e.IfcShapeRepresentation=Uo;var Go=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Go;var ko=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(ko);e.IfcStructuralLoadConfiguration=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(ko);e.IfcStructuralLoadOrResult=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Vo);e.IfcStructuralLoadStatic=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(Qo);e.IfcStructuralLoadTemperature=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(_o);e.IfcStyleModel=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(Oo);e.IfcStyledItem=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(zo);e.IfcStyledRepresentation=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}(Vo);e.IfcSurfaceReinforcementArea=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Ao);e.IfcSurfaceStyle=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(co);e.IfcSurfaceStyleLighting=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(co);e.IfcSurfaceStyleRefraction=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(co);e.IfcSurfaceStyleShading=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(co);e.IfcSurfaceStyleWithTextures=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(co);e.IfcSurfaceTexture=tl;var nl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=nl;var rl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=rl;var il=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(Mo);e.IfcTaskTime=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(al);e.IfcTaskTimeRecurring=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(os);e.IfcTelecomAddress=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(Ao);e.IfcTextStyle=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(co);e.IfcTextStyleForDefinedFont=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(co);e.IfcTextStyleTextModel=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(co);e.IfcTextureCoordinate=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(fl);e.IfcTextureCoordinateGenerator=pl;var Al=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TexCoordIndex=r,a.TexCoordsOf=i,a.type=222769930,a}return P(n)}();e.IfcTextureCoordinateIndices=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).TexCoordIndex=r,s.TexCoordsOf=i,s.InnerTexCoordIndices=a,s.type=1010789467,s}return P(n)}(Al);e.IfcTextureCoordinateIndicesWithVoids=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(fl);e.IfcTextureMap=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(co);e.IfcTextureVertex=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(co);e.IfcTextureVertexList=Il;var yl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=yl;var ml=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=ml;var wl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(Oo);e.IfcTopologicalRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ho);e.IfcTopologyRepresentation=El;var Tl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(gl);e.IfcVertex=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(bl);e.IfcVertexPoint=Dl;var Pl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.StartDate=o,u.FinishDate=l,u.type=1236880293,u}return P(n)}(Mo);e.IfcWorkTime=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartCantLeft=o,p.EndCantLeft=l,p.StartCantRight=u,p.EndCantRight=c,p.PredefinedType=f,p.type=3752311538,p}return P(n)}(ls);e.IfcAlignmentCantSegment=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartPoint=a,p.StartDirection=s,p.StartRadiusOfCurvature=o,p.EndRadiusOfCurvature=l,p.SegmentLength=u,p.GravityCenterLineHeight=c,p.PredefinedType=f,p.type=536804194,p}return P(n)}(ls);e.IfcAlignmentHorizontalSegment=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(No);e.IfcApprovalRelationship=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(ho);e.IfcArbitraryClosedProfileDef=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(ho);e.IfcArbitraryOpenProfileDef=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ol);e.IfcArbitraryProfileDefWithVoids=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(tl);e.IfcBlobTexture=Ll;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Sl);e.IfcCenterLineProfileDef=xl;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Specification=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(_s);e.IfcClassification=Ml;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(Bs);e.IfcClassificationReference=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(co);e.IfcColourRgbList=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(co);e.IfcColourSpecification=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(ho);e.IfcCompositeProfileDef=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(gl);e.IfcConnectedFaceSet=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(ys);e.IfcConnectionCurveGeometry=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(ms);e.IfcConnectionPointEccentricity=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(eo);e.IfcContextDependentUnit=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(eo);e.IfcConversionBasedUnit=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Wl);e.IfcConversionBasedUnitWithOffset=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(No);e.IfcCurrencyRelationship=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(Ao);e.IfcCurveStyle=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(co);e.IfcCurveStyleFont=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveStyleFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(co);e.IfcCurveStyleFontAndScaling=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(co);e.IfcCurveStyleFontPattern=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(ho);e.IfcDerivedProfileDef=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(_s);e.IfcDocumentInformation=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(No);e.IfcDocumentInformationRelationship=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(Bs);e.IfcDocumentReference=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(gl);e.IfcEdge=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(nu);e.IfcEdgeCurve=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(Mo);e.IfcEventTime=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(yo);e.IfcExtendedProperties=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(No);e.IfcExternalReferenceRelationship=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(gl);e.IfcFace=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(gl);e.IfcFaceBound=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(lu);e.IfcFaceOuterBound=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(ou);e.IfcFaceSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Go);e.IfcFailureConnectionCondition=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelOrDraughting=a,s.type=738692330,s}return P(n)}(Ao);e.IfcFillAreaStyle=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Bo);e.IfcGeometricRepresentationContext=Au;var du=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(Oo);e.IfcGeometricRepresentationItem=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,new D(0),null,a,null)).ContextIdentifier=r,c.ContextType=i,c.WorldCoordinateSystem=a,c.ParentContext=s,c.TargetScale=o,c.TargetView=l,c.UserDefinedTargetView=u,c.type=4142052618,c}return P(n)}(Au);e.IfcGeometricRepresentationSubContext=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(du);e.IfcGeometricSet=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.PlacementLocation=i,s.PlacementRefDirection=a,s.type=178086475,s}return P(n)}(to);e.IfcGridPlacement=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(du);e.IfcHalfSpaceSolid=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(tl);e.IfcImageTexture=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(co);e.IfcIndexedColourMap=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(fl);e.IfcIndexedTextureMap=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(gu);e.IfcIndexedTriangleTextureMap=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(ml);e.IfcIrregularTimeSeries=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(Mo);e.IfcLagTime=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(du);e.IfcLightSource=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Du);e.IfcLightSourceAmbient=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Du);e.IfcLightSourceDirectional=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Du);e.IfcLightSourceGoniometric=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Du);e.IfcLightSourcePositional=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(_u);e.IfcLightSourceSpot=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.RelativePlacement=i,s.CartesianPosition=a,s.type=388784114,s}return P(n)}(to);e.IfcLinearPlacement=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(to);e.IfcLocalPlacement=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(gl);e.IfcLoop=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(Oo);e.IfcMappedItem=Lu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}(js);e.IfcMaterial=xu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}(js);e.IfcMaterialConstituent=Mu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}(js);e.IfcMaterialConstituentSet=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(vo);e.IfcMaterialDefinitionRepresentation=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(qs);e.IfcMaterialLayerSetUsage=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(qs);e.IfcMaterialProfileSetUsage=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(Gu);e.IfcMaterialProfileSetUsageTapering=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(au);e.IfcMaterialProperties=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.MaterialExpression=o,l.type=853536259,l}return P(n)}(No);e.IfcMaterialRelationship=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=2998442950,l}return P(n)}(Zl);e.IfcMirroredProfileDef=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Lo);e.IfcObjectDefinition=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileType=r,c.ProfileName=i,c.HorizontalWidths=a,c.Widths=s,c.Slopes=o,c.Tags=l,c.OffsetPoint=u,c.type=182550632,c}return P(n)}(ho);e.IfcOpenCrossProfileDef=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(kl);e.IfcOpenShell=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(No);e.IfcOrganizationRelationship=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,new H_(0))).EdgeStart=r,s.EdgeElement=i,s.Orientation=a,s.type=1029017970,s}return P(n)}(nu);e.IfcOrientedEdge=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(ho);e.IfcParameterizedProfileDef=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(gl);e.IfcPath=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(oo);e.IfcPhysicalComplexQuantity=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(tl);e.IfcPixelTexture=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(du);e.IfcPlacement=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(du);e.IfcPlanarExtent=tc;var nc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(du);e.IfcPoint=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DistanceAlong=r,l.OffsetLateral=i,l.OffsetVertical=a,l.OffsetLongitudinal=s,l.BasisCurve=o,l.type=2165702409,l}return P(n)}(nc);e.IfcPointByDistanceExpression=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(nc);e.IfcPointOnCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(nc);e.IfcPointOnSurface=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Nu);e.IfcPolyLoop=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(yu);e.IfcPolygonalBoundedHalfSpace=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(co);e.IfcPreDefinedItem=lc;var uc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(yo);e.IfcPreDefinedProperties=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(lc);e.IfcPreDefinedTextFont=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(vo);e.IfcProductDefinitionShape=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(au);e.IfcProfileProperties=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Specification=i,a.type=2598011224,a}return P(n)}(yo);e.IfcProperty=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Lo);e.IfcPropertyDefinition=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(No);e.IfcPropertyDependencyRelationship=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(dc);e.IfcPropertySetDefinition=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(dc);e.IfcPropertyTemplateDefinition=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(hc);e.IfcQuantitySet=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(qu);e.IfcRectangleProfileDef=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(ml);e.IfcRegularTimeSeries=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(uc);e.IfcReinforcementBarProperties=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Lo);e.IfcRelationship=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(No);e.IfcResourceApprovalRelationship=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(No);e.IfcResourceConstraintRelationship=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(Mo);e.IfcResourceTime=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(mc);e.IfcRoundedRectangleProfileDef=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(uc);e.IfcSectionProperties=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(uc);e.IfcSectionReinforcementProperties=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(du);e.IfcSectionedSpine=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Transition=r,i.type=823603102,i}return P(n)}(du);e.IfcSegment=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(du);e.IfcShellBasedSurfaceModel=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Specification=i,a.type=3692461612,a}return P(n)}(Ac);e.IfcSimpleProperty=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Go);e.IfcSlippageConnectionCondition=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(du);e.IfcSolidModel=Lc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(Qo);e.IfcStructuralLoadLinearForce=xc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(Qo);e.IfcStructuralLoadPlanarForce=Mc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(Qo);e.IfcStructuralLoadSingleDisplacement=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Fc);e.IfcStructuralLoadSingleDisplacementDistortion=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(Qo);e.IfcStructuralLoadSingleForce=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(Uc);e.IfcStructuralLoadSingleForceWarping=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(nu);e.IfcSubedge=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(du);e.IfcSurface=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}($o);e.IfcSurfaceStyleRendering=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Lc);e.IfcSweptAreaSolid=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Lc);e.IfcSweptDiskSolid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Wc);e.IfcSweptDiskSolidPolygonal=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(jc);e.IfcSweptSurface=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(qu);e.IfcTShapeProfileDef=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(du);e.IfcTessellatedItem=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(du);e.IfcTextLiteral=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(qc);e.IfcTextLiteralWithExtent=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(cc);e.IfcTextStyleFontModel=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(qu);e.IfcTrapeziumProfileDef=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Wu);e.IfcTypeObject=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(ef);e.IfcTypeProcess=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(ef);e.IfcTypeProduct=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(ef);e.IfcTypeResource=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(qu);e.IfcUShapeProfileDef=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(du);e.IfcVector=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Nu);e.IfcVertexLoop=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(qu);e.IfcZShapeProfileDef=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(cu);e.IfcAdvancedFace=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(du);e.IfcAnnotationFillArea=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(qu);e.IfcAsymmetricIShapeProfileDef=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(ec);e.IfcAxis1Placement=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(ec);e.IfcAxis2Placement2D=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(ec);e.IfcAxis2Placement3D=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=3425423356,s}return P(n)}(ec);e.IfcAxis2PlacementLinear=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(du);e.IfcBooleanResult=hf;var If=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(jc);e.IfcBoundedSurface=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(du);e.IfcBoundingBox=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(yu);e.IfcBoxedHalfSpace=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(qu);e.IfcCShapeProfileDef=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(nc);e.IfcCartesianPoint=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(du);e.IfcCartesianPointList=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=1675464909,a}return P(n)}(Ef);e.IfcCartesianPointList2D=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=2059837836,a}return P(n)}(Ef);e.IfcCartesianPointList3D=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(du);e.IfcCartesianTransformationOperator=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Df);e.IfcCartesianTransformationOperator2D=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Pf);e.IfcCartesianTransformationOperator2DnonUniform=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Df);e.IfcCartesianTransformationOperator3D=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Cf);e.IfcCartesianTransformationOperator3DnonUniform=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(qu);e.IfcCircleProfileDef=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(kl);e.IfcClosedShell=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Ul);e.IfcColourRgb=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Ac);e.IfcComplexProperty=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Bc);e.IfcCompositeCurveSegment=Lf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(rf);e.IfcConstructionResourceType=xf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Wu);e.IfcContext=Mf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(xf);e.IfcCrewResourceType=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(du);e.IfcCsgPrimitive3D=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Lc);e.IfcCsgSolid=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(du);e.IfcCurve=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(If);e.IfcCurveBoundedPlane=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(If);e.IfcCurveBoundedSurface=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Transition=r,l.Placement=i,l.SegmentStart=a,l.SegmentLength=s,l.ParentCurve=o,l.type=4212018352,l}return P(n)}(Bc);e.IfcCurveSegment=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(du);e.IfcDirection=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).SweptArea=r,l.Position=i,l.Directrix=a,l.StartParam=s,l.EndParam=o,l.type=593015953,l}return P(n)}(Qc);e.IfcDirectrixCurveSweptAreaSolid=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Nu);e.IfcEdgeLoop=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(yc);e.IfcElementQuantity=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(nf);e.IfcElementType=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(jc);e.IfcElementarySurface=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(qu);e.IfcEllipseProfileDef=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(tf);e.IfcEventType=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Qc);e.IfcExtrudedAreaSolid=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}(Zf);e.IfcExtrudedAreaSolidTapered=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(du);e.IfcFaceBasedSurfaceModel=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(du);e.IfcFillAreaStyleHatching=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(du);e.IfcFillAreaStyleTiles=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Wf);e.IfcFixedReferenceSweptAreaSolid=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Yf);e.IfcFurnishingElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(ip);e.IfcFurnitureType=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Yf);e.IfcGeographicElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(hu);e.IfcGeometricCurveSet=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(qu);e.IfcIShapeProfileDef=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Xc);e.IfcIndexedPolygonalFace=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(up);e.IfcIndexedPolygonalFaceWithVoids=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndices=s,o.type=3465909080,o}return P(n)}(gu);e.IfcIndexedPolygonalTextureMap=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(qu);e.IfcLShapeProfileDef=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(xf);e.IfcLaborResourceType=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(Gf);e.IfcLine=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Lc);e.IfcManifoldSolidBrep=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Wu);e.IfcObject=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).BasisCurve=r,i.type=590820931,i}return P(n)}(Gf);e.IfcOffsetCurve=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(Ip);e.IfcOffsetCurve2D=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(Ip);e.IfcOffsetCurve3D=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.OffsetValues=i,s.Tag=a,s.type=2485787929,s}return P(n)}(Ip);e.IfcOffsetCurveByDistances=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(Gf);e.IfcPcurve=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(tc);e.IfcPlanarBox=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(Xf);e.IfcPlane=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Position=r,o.CoefficientsX=i,o.CoefficientsY=a,o.CoefficientsZ=s,o.type=3381221214,o}return P(n)}(Gf);e.IfcPolynomialCurve=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(lc);e.IfcPreDefinedColour=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(lc);e.IfcPreDefinedCurveFont=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(hc);e.IfcPreDefinedPropertySet=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(tf);e.IfcProcedureType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(hp);e.IfcProcess=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(hp);e.IfcProduct=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Mf);e.IfcProject=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(Mf);e.IfcProjectLibrary=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Specification=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(Sc);e.IfcPropertyBoundedValue=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Sc);e.IfcPropertyEnumeratedValue=Lp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Sc);e.IfcPropertyListValue=xp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Sc);e.IfcPropertyReferenceValue=Mp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(hc);e.IfcPropertySet=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(Ic);e.IfcPropertySetTemplate=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Sc);e.IfcPropertySingleValue=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Specification=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(Sc);e.IfcPropertyTableValue=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(Ic);e.IfcPropertyTemplate=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(mc);e.IfcRectangleHollowProfileDef=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Hf);e.IfcRectangularPyramid=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(If);e.IfcRectangularTrimmedSurface=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Rp);e.IfcReinforcementDefinitionProperties=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Ec);e.IfcRelAssigns=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(zp);e.IfcRelAssignsToActor=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(zp);e.IfcRelAssignsToControl=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(zp);e.IfcRelAssignsToGroup=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Xp);e.IfcRelAssignsToGroupByFactor=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(zp);e.IfcRelAssignsToProcess=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(zp);e.IfcRelAssignsToProduct=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(zp);e.IfcRelAssignsToResource=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Ec);e.IfcRelAssociates=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(eA);e.IfcRelAssociatesApproval=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(eA);e.IfcRelAssociatesClassification=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(eA);e.IfcRelAssociatesConstraint=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(eA);e.IfcRelAssociatesDocument=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(eA);e.IfcRelAssociatesLibrary=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(eA);e.IfcRelAssociatesMaterial=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingProfileDef=l,u.type=1033248425,u}return P(n)}(eA);e.IfcRelAssociatesProfileDef=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Ec);e.IfcRelConnects=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(lA);e.IfcRelConnectsElements=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(uA);e.IfcRelConnectsPathElements=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(lA);e.IfcRelConnectsPortToElement=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(lA);e.IfcRelConnectsPorts=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(lA);e.IfcRelConnectsStructuralActivity=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(lA);e.IfcRelConnectsStructuralMember=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(dA);e.IfcRelConnectsWithEccentricity=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(uA);e.IfcRelConnectsWithRealizingElements=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(lA);e.IfcRelContainedInSpatialStructure=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(lA);e.IfcRelCoversBldgElements=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(lA);e.IfcRelCoversSpaces=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Ec);e.IfcRelDeclares=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Ec);e.IfcRelDecomposes=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Ec);e.IfcRelDefines=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(EA);e.IfcRelDefinesByObject=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(EA);e.IfcRelDefinesByProperties=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(EA);e.IfcRelDefinesByTemplate=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(EA);e.IfcRelDefinesByType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(lA);e.IfcRelFillsElement=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(lA);e.IfcRelFlowControlElements=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingElement=o,A.RelatedElement=l,A.InterferenceGeometry=u,A.InterferenceSpace=c,A.InterferenceType=f,A.ImpliedOrder=p,A.type=427948657,A}return P(n)}(lA);e.IfcRelInterferesElements=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(gA);e.IfcRelNests=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPositioningElement=o,u.RelatedProducts=l,u.type=1441486842,u}return P(n)}(lA);e.IfcRelPositions=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(gA);e.IfcRelProjectsElement=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(lA);e.IfcRelReferencedInSpatialStructure=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(lA);e.IfcRelSequence=LA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(lA);e.IfcRelServicesBuildings=xA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(lA);e.IfcRelSpaceBoundary=MA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(MA);e.IfcRelSpaceBoundary1stLevel=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(FA);e.IfcRelSpaceBoundary2ndLevel=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(gA);e.IfcRelVoidsElement=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(Lf);e.IfcReparametrisedCompositeCurveSegment=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(hp);e.IfcResource=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Qc);e.IfcRevolvedAreaSolid=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(jA);e.IfcRevolvedAreaSolidTapered=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Hf);e.IfcRightCircularCone=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Hf);e.IfcRightCircularCylinder=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Directrix=r,a.CrossSections=i,a.type=1862484736,a}return P(n)}(Lc);e.IfcSectionedSolid=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Directrix=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1290935644,s}return P(n)}(zA);e.IfcSectionedSolidHorizontal=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Directrix=r,s.CrossSectionPositions=i,s.CrossSections=a,s.type=1356537516,s}return P(n)}(jc);e.IfcSectionedSurface=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(kp);e.IfcSimplePropertyTemplate=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Bp);e.IfcSpatialElement=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(nf);e.IfcSpatialElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(qA);e.IfcSpatialStructureElement=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(JA);e.IfcSpatialStructureElementType=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(qA);e.IfcSpatialZone=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(JA);e.IfcSpatialZoneType=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Hf);e.IfcSphere=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(Xf);e.IfcSphericalSurface=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2735484536,i}return P(n)}(Gf);e.IfcSpiral=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Bp);e.IfcStructuralActivity=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Bp);e.IfcStructuralItem=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(sd);e.IfcStructuralMember=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(ad);e.IfcStructuralReaction=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(od);e.IfcStructuralSurfaceMember=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(ud);e.IfcStructuralSurfaceMemberVarying=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(ld);e.IfcStructuralSurfaceReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(xf);e.IfcSubContractResourceType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(Gf);e.IfcSurfaceCurve=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Wf);e.IfcSurfaceCurveSweptAreaSolid=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(Kc);e.IfcSurfaceOfLinearExtrusion=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(Kc);e.IfcSurfaceOfRevolution=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(ip);e.IfcSystemFurnitureElementType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(_p);e.IfcTask=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(tf);e.IfcTaskType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Coordinates=r,a.Closed=i,a.type=2387106220,a}return P(n)}(Xc);e.IfcTessellatedFaceSet=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Position=r,l.CubicTerm=i,l.QuadraticTerm=a,l.LinearTerm=s,l.ConstantTerm=o,l.type=782932809,l}return P(n)}(id);e.IfcThirdOrderPolynomialSpiral=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(Xf);e.IfcToroidalSurface=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3665877780,p}return P(n)}(Yf);e.IfcTransportationDeviceType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Coordinates=r,l.Closed=i,l.Normals=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(wd);e.IfcTriangulatedFaceSet=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Coordinates=r,u.Closed=i,u.Normals=a,u.CoordIndex=s,u.PnIndex=o,u.Flags=l,u.type=1229763772,u}return P(n)}(bd);e.IfcTriangulatedIrregularNetwork=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3651464721,A}return P(n)}(Td);e.IfcVehicleType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Rp);e.IfcWindowLiningProperties=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Rp);e.IfcWindowPanelProperties=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(hp);e.IfcActor=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(vp);e.IfcAdvancedBrep=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(Bd);e.IfcAdvancedBrepWithVoids=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=1674181508,f}return P(n)}(Bp);e.IfcAnnotation=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(If);e.IfcBSplineSurface=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(Nd);e.IfcBSplineSurfaceWithKnots=Ld;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Hf);e.IfcBlock=xd;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(hf);e.IfcBooleanClippingResult=Md;var Fd=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(Gf);e.IfcBoundedCurve=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(ZA);e.IfcBuildingStorey=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1626504194,p}return P(n)}(Yf);e.IfcBuiltElementType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(Ud);e.IfcChimneyType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Bf);e.IfcCircleHollowProfileDef=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Yf);e.IfcCivilElementType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.ClothoidConstant=i,a.type=3497074424,a}return P(n)}(id);e.IfcClothoid=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(Ud);e.IfcColumnType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(kp);e.IfcComplexPropertyTemplate=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(Fd);e.IfcCompositeCurve=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(zd);e.IfcCompositeCurveOnSurface=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(Gf);e.IfcConic=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(xf);e.IfcConstructionEquipmentResourceType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(xf);e.IfcConstructionMaterialResourceType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(xf);e.IfcConstructionProductResourceType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(kA);e.IfcConstructionResource=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(hp);e.IfcControl=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.CosineTerm=i,s.ConstantTerm=a,s.type=2000195564,s}return P(n)}(id);e.IfcCosineSpiral=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}($d);e.IfcCostItem=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}($d);e.IfcCostSchedule=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4189326743,A}return P(n)}(Ud);e.IfcCourseType=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(Ud);e.IfcCoveringType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(Zd);e.IfcCrewResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(Ud);e.IfcCurtainWallType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(Xf);e.IfcCylindricalSurface=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1306400036,p}return P(n)}(Ud);e.IfcDeepFoundationType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=4234616927,u}return P(n)}(rp);e.IfcDirectrixDerivedReferenceSweptAreaSolid=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Yf);e.IfcDistributionElementType=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(cv);e.IfcDistributionFlowElementType=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Rp);e.IfcDoorLiningProperties=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Rp);e.IfcDoorPanelProperties=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(Ud);e.IfcDoorType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Dp);e.IfcDraughtingPreDefinedColour=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Pp);e.IfcDraughtingPreDefinedCurveFont=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Bp);e.IfcElement=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Iv);e.IfcElementAssembly=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Yf);e.IfcElementAssemblyType=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Iv);e.IfcElementComponent=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Yf);e.IfcElementComponentType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(Yd);e.IfcEllipse=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(fv);e.IfcEnergyConversionDeviceType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(Tv);e.IfcEngineType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(Tv);e.IfcEvaporativeCoolerType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(Tv);e.IfcEvaporatorType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(_p);e.IfcEvent=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(qA);e.IfcExternalSpatialStructureElement=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(vp);e.IfcFacetedBrep=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(_v);e.IfcFacetedBrepWithVoids=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=24185140,p}return P(n)}(ZA);e.IfcFacility=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.UsageType=p,A.type=1310830890,A}return P(n)}(ZA);e.IfcFacilityPart=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=4228831410,d}return P(n)}(Sv);e.IfcFacilityPartCommon=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(wv);e.IfcFastener=Lv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(gv);e.IfcFastenerType=xv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Iv);e.IfcFeatureElement=Mv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(Mv);e.IfcFeatureElementAddition=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(Mv);e.IfcFeatureElementSubtraction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(fv);e.IfcFlowControllerType=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(fv);e.IfcFlowFittingType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Uv);e.IfcFlowMeterType=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(fv);e.IfcFlowMovingDeviceType=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(fv);e.IfcFlowSegmentType=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(fv);e.IfcFlowStorageDeviceType=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(fv);e.IfcFlowTerminalType=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(fv);e.IfcFlowTreatmentDeviceType=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(Ud);e.IfcFootingType=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Iv);e.IfcFurnishingElement=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Yv);e.IfcFurniture=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(Iv);e.IfcGeographicElement=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4230923436,f}return P(n)}(Iv);e.IfcGeotechnicalElement=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1594536857,p}return P(n)}(Jv);e.IfcGeotechnicalStratum=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=2898700619,o}return P(n)}(zd);e.IfcGradientCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(hp);e.IfcGroup=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(Tv);e.IfcHeatExchangerType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(Tv);e.IfcHumidifierType=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2568555532,p}return P(n)}(wv);e.IfcImpactProtectionDevice=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3948183225,A}return P(n)}(gv);e.IfcImpactProtectionDeviceType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(Fd);e.IfcIndexedPolyCurve=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(zv);e.IfcInterceptorType=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(Ad);e.IfcIntersectionCurve=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(eh);e.IfcInventory=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Gv);e.IfcJunctionBoxType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.Mountable=p,A.type=679976338,A}return P(n)}(Ud);e.IfcKerbType=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(Zd);e.IfcLaborResource=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Wv);e.IfcLampType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Wv);e.IfcLightFixtureType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=2176059722,c}return P(n)}(Bp);e.IfcLinearElement=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1770583370,A}return P(n)}(Wv);e.IfcLiquidTerminalType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=525669439,A}return P(n)}(Ov);e.IfcMarineFacility=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=976884017,d}return P(n)}(Sv);e.IfcMarinePart=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(wv);e.IfcMechanicalFastener=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(gv);e.IfcMechanicalFastenerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Wv);e.IfcMedicalDeviceType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(Ud);e.IfcMemberType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1950438474,A}return P(n)}(Wv);e.IfcMobileTelecommunicationsApplianceType=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=710110818,A}return P(n)}(Ud);e.IfcMooringDeviceType=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(Tv);e.IfcMotorConnectionType=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=506776471,A}return P(n)}(Ud);e.IfcNavigationElementType=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(_d);e.IfcOccupant=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(Hv);e.IfcOpeningElement=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Wv);e.IfcOutletType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=514975943,A}return P(n)}(Ud);e.IfcPavementType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}($d);e.IfcPerformanceHistory=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Rp);e.IfcPermeableCoveringProperties=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}($d);e.IfcPermit=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(lv);e.IfcPileType=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Gv);e.IfcPipeFittingType=Lh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Vv);e.IfcPipeSegmentType=xh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(Ud);e.IfcPlateType=Mh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(wd);e.IfcPolygonalFaceSet=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(Fd);e.IfcPolyline=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Bp);e.IfcPort=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1946335990,c}return P(n)}(Bp);e.IfcPositioningElement=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(_p);e.IfcProcedure=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}($d);e.IfcProjectOrder=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(Fv);e.IfcProjectionElement=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Uv);e.IfcProtectiveDeviceType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(jv);e.IfcPumpType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1763565496,A}return P(n)}(Ud);e.IfcRailType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(Ud);e.IfcRailingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=3992365140,A}return P(n)}(Ov);e.IfcRailway=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=1891881377,d}return P(n)}(Sv);e.IfcRailwayPart=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(Ud);e.IfcRampFlightType=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(Ud);e.IfcRampType=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(Ld);e.IfcRationalBSplineSurfaceWithKnots=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=4021432810,f}return P(n)}(Gh);e.IfcReferent=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(wv);e.IfcReinforcingElement=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(gv);e.IfcReinforcingElementType=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(eI);e.IfcReinforcingMesh=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(tI);e.IfcReinforcingMeshType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedSurfaceFeatures=l,u.type=3818125796,u}return P(n)}(gA);e.IfcRelAdheresToElement=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(gA);e.IfcRelAggregates=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=146592293,A}return P(n)}(Ov);e.IfcRoad=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=550521510,d}return P(n)}(Sv);e.IfcRoadPart=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(Ud);e.IfcRoofType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Wv);e.IfcSanitaryTerminalType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(Ad);e.IfcSeamCurve=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.QuadraticTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=3649235739,o}return P(n)}(id);e.IfcSecondOrderPolynomialSpiral=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=544395925,o}return P(n)}(zd);e.IfcSegmentedReferenceCurve=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).Position=r,p.SepticTerm=i,p.SexticTerm=a,p.QuinticTerm=s,p.QuarticTerm=o,p.CubicTerm=l,p.QuadraticTerm=u,p.LinearTerm=c,p.ConstantTerm=f,p.type=1027922057,p}return P(n)}(id);e.IfcSeventhOrderPolynomialSpiral=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(Ud);e.IfcShadingDeviceType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=33720170,p}return P(n)}(wv);e.IfcSign=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3599934289,A}return P(n)}(gv);e.IfcSignType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1894708472,A}return P(n)}(Wv);e.IfcSignalType=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.SineTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=42703149,o}return P(n)}(id);e.IfcSineSpiral=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(ZA);e.IfcSite=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(Ud);e.IfcSlabType=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(Tv);e.IfcSolarDeviceType=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(ZA);e.IfcSpace=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Wv);e.IfcSpaceHeaterType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}($A);e.IfcSpaceType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Wv);e.IfcStackTerminalType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(Ud);e.IfcStairFlightType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(Ud);e.IfcStairType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(ad);e.IfcStructuralAction=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(sd);e.IfcStructuralConnection=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(CI);e.IfcStructuralCurveAction=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.AxisDirection=f,p.type=4243806635,p}return P(n)}(_I);e.IfcStructuralCurveConnection=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(od);e.IfcStructuralCurveMember=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(SI);e.IfcStructuralCurveMemberVarying=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(ld);e.IfcStructuralCurveReaction=LI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(BI);e.IfcStructuralLinearAction=xI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(eh);e.IfcStructuralLoadGroup=MI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(CI);e.IfcStructuralPointAction=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(_I);e.IfcStructuralPointConnection=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(ld);e.IfcStructuralPointReaction=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(eh);e.IfcStructuralResultGroup=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(CI);e.IfcStructuralSurfaceAction=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(_I);e.IfcStructuralSurfaceConnection=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(Zd);e.IfcSubContractResource=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(Mv);e.IfcSurfaceFeature=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Uv);e.IfcSwitchingDeviceType=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(eh);e.IfcSystem=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Yv);e.IfcSystemFurnitureElement=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Qv);e.IfcTankType=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eI);e.IfcTendon=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(eI);e.IfcTendonAnchor=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(tI);e.IfcTendonAnchorType=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=3663046924,A}return P(n)}(eI);e.IfcTendonConduit=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2281632017,A}return P(n)}(tI);e.IfcTendonConduitType=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(tI);e.IfcTendonType=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=618700268,A}return P(n)}(Ud);e.IfcTrackElementType=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(Tv);e.IfcTransformerType=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Td);e.IfcTransportElementType=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1953115116,f}return P(n)}(Iv);e.IfcTransportationDevice=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(Fd);e.IfcTrimmedCurve=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(Tv);e.IfcTubeBundleType=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(Tv);e.IfcUnitaryEquipmentType=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Uv);e.IfcValveType=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=840318589,p}return P(n)}(iy);e.IfcVehicle=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1530820697,p}return P(n)}(wv);e.IfcVibrationDamper=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3956297820,A}return P(n)}(gv);e.IfcVibrationDamperType=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(wv);e.IfcVibrationIsolator=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(gv);e.IfcVibrationIsolatorType=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2769231204,p}return P(n)}(Iv);e.IfcVirtualElement=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(Hv);e.IfcVoidingFeature=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(Ud);e.IfcWallType=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Wv);e.IfcWasteTerminalType=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(Ud);e.IfcWindowType=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}($d);e.IfcWorkCalendar=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}($d);e.IfcWorkControl=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(wy);e.IfcWorkPlan=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(wy);e.IfcWorkSchedule=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(zI);e.IfcZone=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}($d);e.IfcActionRequest=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Uv);e.IfcAirTerminalBoxType=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Wv);e.IfcAirTerminalType=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(Tv);e.IfcAirToAirHeatRecoveryType=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.RailHeadDistance=c,f.type=4266260250,f}return P(n)}(dh);e.IfcAlignmentCant=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1545765605,c}return P(n)}(dh);e.IfcAlignmentHorizontal=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.DesignParameters=c,f.type=317615605,f}return P(n)}(dh);e.IfcAlignmentSegment=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1662888072,c}return P(n)}(dh);e.IfcAlignmentVertical=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(eh);e.IfcAsset=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Wv);e.IfcAudioVisualApplianceType=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(Fd);e.IfcBSplineCurve=Ly;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Ly);e.IfcBSplineCurveWithKnots=xy;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(Ud);e.IfcBeamType=My;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3649138523,A}return P(n)}(Ud);e.IfcBearingType=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(Tv);e.IfcBoilerType=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(Kd);e.IfcBoundaryCurve=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=644574406,A}return P(n)}(Ov);e.IfcBridge=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=963979645,d}return P(n)}(Sv);e.IfcBridgePart=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Ov);e.IfcBuilding=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(wv);e.IfcBuildingElementPart=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(gv);e.IfcBuildingElementPartType=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(Ud);e.IfcBuildingElementProxyType=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(zI);e.IfcBuildingSystem=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1876633798,f}return P(n)}(Iv);e.IfcBuiltElement=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=3862327254,c}return P(n)}(zI);e.IfcBuiltSystem=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(Tv);e.IfcBurnerType=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Gv);e.IfcCableCarrierFittingType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Vv);e.IfcCableCarrierSegmentType=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Gv);e.IfcCableFittingType=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Vv);e.IfcCableSegmentType=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3203706013,A}return P(n)}(lv);e.IfcCaissonFoundationType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(Tv);e.IfcChillerType=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Ky);e.IfcChimney=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(Yd);e.IfcCircle=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(Iv);e.IfcCivilElement=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(Tv);e.IfcCoilType=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Ky);e.IfcColumn=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Wv);e.IfcCommunicationsApplianceType=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(jv);e.IfcCompressorType=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(Tv);e.IfcCondenserType=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(Zd);e.IfcConstructionEquipmentResource=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(Zd);e.IfcConstructionMaterialResource=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(Zd);e.IfcConstructionProductResource=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2940368186,A}return P(n)}(Vv);e.IfcConveyorSegmentType=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(Tv);e.IfcCooledBeamType=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(Tv);e.IfcCoolingTowerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1502416096,p}return P(n)}(Ky);e.IfcCourse=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Ky);e.IfcCovering=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Ky);e.IfcCurtainWall=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Uv);e.IfcDamperType=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3426335179,f}return P(n)}(Ky);e.IfcDeepFoundation=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(wv);e.IfcDiscreteAccessory=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(gv);e.IfcDiscreteAccessoryType=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=479945903,A}return P(n)}(Uv);e.IfcDistributionBoardType=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(fv);e.IfcDistributionChamberElementType=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(cv);e.IfcDistributionControlElementType=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Iv);e.IfcDistributionElement=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(Pm);e.IfcDistributionFlowElement=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(Uh);e.IfcDistributionPort=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(zI);e.IfcDistributionSystem=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Ky);e.IfcDoor=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Gv);e.IfcDuctFittingType=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Vv);e.IfcDuctSegmentType=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(zv);e.IfcDuctSilencerType=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3071239417,p}return P(n)}(Hv);e.IfcEarthworksCut=Lm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1077100507,f}return P(n)}(Ky);e.IfcEarthworksElement=xm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3376911765,p}return P(n)}(xm);e.IfcEarthworksFill=Mm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Wv);e.IfcElectricApplianceType=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Uv);e.IfcElectricDistributionBoardType=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Qv);e.IfcElectricFlowStorageDeviceType=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2142170206,A}return P(n)}(zv);e.IfcElectricFlowTreatmentDeviceType=Gm;var km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(Tv);e.IfcElectricGeneratorType=km;var jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(Tv);e.IfcElectricMotorType=jm;var Vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Uv);e.IfcElectricTimeControlType=Vm;var Qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(Rm);e.IfcEnergyConversionDevice=Qm;var Wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(Qm);e.IfcEngine=Wm;var zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(Qm);e.IfcEvaporativeCooler=zm;var Km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(Qm);e.IfcEvaporator=Km;var Ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(Cv);e.IfcExternalSpatialElement=Ym;var Xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(jv);e.IfcFanType=Xm;var qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(zv);e.IfcFilterType=qm;var Jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Wv);e.IfcFireSuppressionTerminalType=Jm;var Zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(Rm);e.IfcFlowController=Zm;var $m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(Rm);e.IfcFlowFitting=$m;var ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Dm);e.IfcFlowInstrumentType=ew;var tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(Zm);e.IfcFlowMeter=tw;var nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(Rm);e.IfcFlowMovingDevice=nw;var rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(Rm);e.IfcFlowSegment=rw;var iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(Rm);e.IfcFlowStorageDevice=iw;var aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(Rm);e.IfcFlowTerminal=aw;var sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(Rm);e.IfcFlowTreatmentDevice=sw;var ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Ky);e.IfcFooting=ow;var lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2713699986,f}return P(n)}(Jv);e.IfcGeotechnicalAssembly=lw;var uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Gh);e.IfcGrid=uw;var cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(Qm);e.IfcHeatExchanger=cw;var fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(Qm);e.IfcHumidifier=fw;var pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(sw);e.IfcInterceptor=pw;var Aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}($m);e.IfcJunctionBox=Aw;var dw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.Mountable=f,p.type=2696325953,p}return P(n)}(Ky);e.IfcKerb=dw;var vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(aw);e.IfcLamp=vw;var hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(aw);e.IfcLightFixture=hw;var Iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1154579445,c}return P(n)}(Gh);e.IfcLinearPositioningElement=Iw;var yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1638804497,p}return P(n)}(aw);e.IfcLiquidTerminal=yw;var mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(aw);e.IfcMedicalDevice=mw;var ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Ky);e.IfcMember=ww;var gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2078563270,p}return P(n)}(aw);e.IfcMobileTelecommunicationsAppliance=gw;var Ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=234836483,p}return P(n)}(Ky);e.IfcMooringDevice=Ew;var Tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(Qm);e.IfcMotorConnection=Tw;var bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2182337498,p}return P(n)}(Ky);e.IfcNavigationElement=bw;var Dw=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Uy);e.IfcOuterBoundaryCurve=Dw;var Pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(aw);e.IfcOutlet=Pw;var Rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1383356374,p}return P(n)}(Ky);e.IfcPavement=Rw;var Cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(wm);e.IfcPile=Cw;var _w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}($m);e.IfcPipeFitting=_w;var Bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(rw);e.IfcPipeSegment=Bw;var Ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Ky);e.IfcPlate=Ow;var Sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(Zm);e.IfcProtectiveDevice=Sw;var Nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(Dm);e.IfcProtectiveDeviceTrippingUnitType=Nw;var Lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(nw);e.IfcPump=Lw;var xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3290496277,p}return P(n)}(Ky);e.IfcRail=xw;var Mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Ky);e.IfcRailing=Mw;var Fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Ky);e.IfcRamp=Fw;var Hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Ky);e.IfcRampFlight=Hw;var Uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(xy);e.IfcRationalBSplineCurveWithKnots=Uw;var Gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3798194928,p}return P(n)}(xm);e.IfcReinforcedSoil=Gw;var kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eI);e.IfcReinforcingBar=kw;var jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(tI);e.IfcReinforcingBarType=jw;var Vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Ky);e.IfcRoof=Vw;var Qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(aw);e.IfcSanitaryTerminal=Qw;var Ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Dm);e.IfcSensorType=Ww;var zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Ky);e.IfcShadingDevice=zw;var Kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=991950508,p}return P(n)}(aw);e.IfcSignal=Kw;var Yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Ky);e.IfcSlab=Yw;var Xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(Qm);e.IfcSolarDevice=Xw;var qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(aw);e.IfcSpaceHeater=qw;var Jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(aw);e.IfcStackTerminal=Jw;var Zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Ky);e.IfcStair=Zw;var $w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Ky);e.IfcStairFlight=$w;var eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(zI);e.IfcStructuralAnalysisModel=eg;var tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(MI);e.IfcStructuralLoadCase=tg;var ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(kI);e.IfcStructuralPlanarAction=ng;var rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(Zm);e.IfcSwitchingDevice=rg;var ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(iw);e.IfcTank=ig;var ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3425753595,p}return P(n)}(Ky);e.IfcTrackElement=ag;var sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(Qm);e.IfcTransformer=sg;var og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(iy);e.IfcTransportElement=og;var lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(Qm);e.IfcTubeBundle=lg;var ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(Dm);e.IfcUnitaryControlElementType=ug;var cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(Qm);e.IfcUnitaryEquipment=cg;var fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(Zm);e.IfcValve=fg;var pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Ky);e.IfcWall=pg;var Ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(pg);e.IfcWallStandardCase=Ag;var dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(aw);e.IfcWasteTerminal=dg;var vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Ky);e.IfcWindow=vg;var hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Dm);e.IfcActuatorType=hg;var Ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(aw);e.IfcAirTerminal=Ig;var yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(Zm);e.IfcAirTerminalBox=yg;var mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(Qm);e.IfcAirToAirHeatRecovery=mg;var wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Dm);e.IfcAlarmType=wg;var gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=325726236,f}return P(n)}(Iw);e.IfcAlignment=gg;var Eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(aw);e.IfcAudioVisualAppliance=Eg;var Tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Ky);e.IfcBeam=Tg;var bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4196446775,p}return P(n)}(Ky);e.IfcBearing=bg;var Dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(Qm);e.IfcBoiler=Dg;var Pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3314249567,f}return P(n)}(lw);e.IfcBorehole=Pg;var Rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Ky);e.IfcBuildingElementProxy=Rg;var Cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(Qm);e.IfcBurner=Cg;var _g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}($m);e.IfcCableCarrierFitting=_g;var Bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(rw);e.IfcCableCarrierSegment=Bg;var Og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}($m);e.IfcCableFitting=Og;var Sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(rw);e.IfcCableSegment=Sg;var Ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3999819293,p}return P(n)}(wm);e.IfcCaissonFoundation=Ng;var Lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(Qm);e.IfcChiller=Lg;var xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(Qm);e.IfcCoil=xg;var Mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(aw);e.IfcCommunicationsAppliance=Mg;var Fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(nw);e.IfcCompressor=Fg;var Hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(Qm);e.IfcCondenser=Hg;var Ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Dm);e.IfcControllerType=Ug;var Gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3460952963,p}return P(n)}(rw);e.IfcConveyorSegment=Gg;var kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(Qm);e.IfcCooledBeam=kg;var jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(Qm);e.IfcCoolingTower=jg;var Vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(Zm);e.IfcDamper=Vg;var Qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3693000487,p}return P(n)}(Zm);e.IfcDistributionBoard=Qg;var Wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(Rm);e.IfcDistributionChamberElement=Wg;var zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(_m);e.IfcDistributionCircuit=zg;var Kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(Pm);e.IfcDistributionControlElement=Kg;var Yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}($m);e.IfcDuctFitting=Yg;var Xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(rw);e.IfcDuctSegment=Xg;var qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(sw);e.IfcDuctSilencer=qg;var Jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(aw);e.IfcElectricAppliance=Jg;var Zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(Zm);e.IfcElectricDistributionBoard=Zg;var $g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(iw);e.IfcElectricFlowStorageDevice=$g;var eE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=24726584,p}return P(n)}(sw);e.IfcElectricFlowTreatmentDevice=eE;var tE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(Qm);e.IfcElectricGenerator=tE;var nE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(Qm);e.IfcElectricMotor=nE;var rE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(Zm);e.IfcElectricTimeControl=rE;var iE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(nw);e.IfcFan=iE;var aE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(sw);e.IfcFilter=aE;var sE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(aw);e.IfcFireSuppressionTerminal=sE;var oE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(Kg);e.IfcFlowInstrument=oE;var lE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2680139844,f}return P(n)}(lw);e.IfcGeomodel=lE;var uE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1971632696,f}return P(n)}(lw);e.IfcGeoslice=uE;var cE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(Kg);e.IfcProtectiveDeviceTrippingUnit=cE;var fE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(Kg);e.IfcSensor=fE;var pE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(Kg);e.IfcUnitaryControlElement=pE;var AE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(Kg);e.IfcActuator=AE;var dE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(Kg);e.IfcAlarm=dE;var vE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(Kg);e.IfcController=vE}(t_||(t_={}));var X_,q_,J_={aggregates:{name:160246688,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:3242617779,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:4186316022,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:2655215786,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:781010003,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}},Z_=function(){function e(t){b(this,e),this.api=t}return P(e,[{key:"getItemProperties",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",this.api.GetLine(e,t,n,r));case 1:case"end":return i.stop()}}),i,this)})))}},{key:"getPropertySets",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.psets,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setPropertySets",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.psets));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getTypeProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("IFC2X3"!=this.api.GetModelSchema(e)){r.next=6;break}return r.next=3,this.getRelatedProperties(e,t,J_.type,n);case 3:case 8:return r.abrupt("return",r.sent);case 6:return r.next=8,this.getRelatedProperties(e,t,f_(c_({},J_.type),{key:"IsTypedBy"}),n);case 9:case"end":return r.stop()}}),r,this)})))}},{key:"getMaterialsProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.materials,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setMaterialsProperties",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.materials));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getSpatialStructure",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return A_(this,null,o().mark((function r(){var i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getSpatialTreeChunks(t);case 2:return i=r.sent,r.next=5,this.api.GetLineIDsWithType(t,103090709);case 5:return a=r.sent,s=a.get(0),l=e.newIfcProject(s),r.next=10,this.getSpatialNode(t,l,i,n);case 10:return r.abrupt("return",l);case 11:case"end":return r.stop()}}),r,this)})))}},{key:"getRelatedProperties",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){var a,s,l,u,c,f,p;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(a=[],s=null,0===t){i.next=8;break}return i.next=5,this.api.GetLine(e,t,!1,!0)[n.key];case 5:s=i.sent,i.next=11;break;case 8:for(l=this.api.GetLineIDsWithType(e,n.name),s=[],u=0;u1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i0&&t.push({typeID:n[r],typeName:this.wasmModule.GetNameFromTypeCode(n[r])})}return t}},{key:"GetLine",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.wasmModule.ValidateExpressID(e,t);if(i){var a=this.GetRawLineData(e,t),s=G_[this.modelSchemaList[e]][a.type](a.ID,a.arguments);n&&this.FlattenLine(e,s);var o=k_[this.modelSchemaList[e]][a.type];if(r&&null!=o){var l,u=f(o);try{for(u.s();!(l=u.n()).done;){var c=l.value;c[3]?s[c[0]]=[]:s[c[0]]=null;var p=[c[1]];void 0!==j_[this.modelSchemaList[e]][c[1]]&&(p=p.concat(j_[this.modelSchemaList[e]][c[1]]));var A=this.wasmModule.GetInversePropertyForItem(e,t,p,c[2],c[3]);if(!c[3]&&A.size()>0)s[c[0]]=n?this.GetLine(e,A.get(0)):{type:5,value:A.get(0)};else for(var d=0;d2?n-2:0),i=2;i0)for(var i=0;i0&&5===i[0].type)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],r=[];return r.push(t),n&&void 0!==j_[this.modelSchemaList[e]][t]&&(r=r.concat(j_[this.modelSchemaList[e]][t])),this.wasmModule.GetLineIDsWithType(e,r)}},{key:"GetAllLines",value:function(e){return this.wasmModule.GetAllLines(e)}},{key:"GetAllAlignments",value:function(e){for(var t=this.wasmModule.GetAllAlignments(e),n=[],r=0;r1&&void 0!==arguments[1]&&arguments[1];this.wasmPath=e,this.isWasmPathAbsolute=t}},{key:"SetLogLevel",value:function(e){eB.setLogLevel(e),this.wasmModule.SetLogLevel(e)}}]),e}(),nB=function(){function e(){b(this,e)}return P(e,[{key:"getIFC",value:function(e,t,n){var r=function(){};t=t||r,n=n||r;var i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){var a=!!i[2],s=i[3];s=window.decodeURIComponent(s),a&&(s=window.atob(s));try{for(var o=new ArrayBuffer(s.length),l=new Uint8Array(o),u=0;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ifcLoader",e,i)).dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r._ifcAPI=new tB,i.wasmPath&&r._ifcAPI.SetWasmPath(i.wasmPath),r._ifcAPI.Init().then((function(){r.fire("initialized",!0,!1)})).catch((function(e){r.error(e)})),r}return P(n,[{key:"supportedVersions",get:function(){return["2x3","4"]}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new nB}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.ifc)return this.error("load() param expected: src or IFC"),n;var r={autoNormals:!0};if(!1!==t.loadMetadata){var i=t.includeTypes||this._includeTypes,a=t.excludeTypes||this._excludeTypes,s=t.objectDefaults||this._objectDefaults;if(i){r.includeTypesMap={};for(var o=0,l=i.length;o0){for(var l=a.Name.value,u=[],c=0,f=o.length;c1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"lasLoader",e,i)).dataSource=i.dataSource,r.skip=i.skip,r.fp64=i.fp64,r.colorDepth=i.colorDepth,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new iB}},{key:"skip",get:function(){return this._skip},set:function(e){this._skip=e||1}},{key:"fp64",get:function(){return this._fp64},set:function(e){this._fp64=!!e}},{key:"colorDepth",get:function(){return this._colorDepth},set:function(e){this._colorDepth=e||"auto"}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.las)return this.error("load() param expected: src or las"),n;var r={las:{skip:this._skip,fp64:this._fp64,colorDepth:this._colorDepth}};if(t.src)this._loadModel(t.src,t,r,n);else{var i=this.viewer.scene.canvas.spinner;i.processes++,this._parseModel(t.las,t,r,n).then((function(){i.processes--}),(function(t){i.processes--,e.error(t),n.fire("error",t)}))}return n}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getLAS(t.src,(function(e){i._parseModel(e,t,n,r).then((function(){a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){var i=this;function a(e){var n=e.value;if(t.rotateX&&n)for(var r=0,i=n.length;r=e.length)return e;for(var n=[],r=0;r80*n){r=a=e[0],i=s=e[1];for(var d=n;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-r,s-i))?1/u:0}return IB(p,A,n,r,i,u),A}function vB(e,t,n,r,i){var a,s;if(i===UB(e,t,n,r)>0)for(a=t;a=t;a-=r)s=MB(a,e[a],e[a+1],s);return s&&BB(s,s.next)&&(FB(s),s=s.next),s}function hB(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!BB(r,r.next)&&0!==_B(r.prev,r,r.next))r=r.next;else{if(FB(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function IB(e,t,n,r,i,a,s){if(e){!s&&a&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=DB(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,a,s,o,l,u=1;do{for(n=e,e=null,a=null,s=0;n;){for(s++,r=n,o=0,t=0;t0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,u*=2}while(s>1)}(i)}(e,r,i,a);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,a?mB(e,r,i,a):yB(e))t.push(o.i/n),t.push(e.i/n),t.push(l.i/n),FB(e),e=l.next,u=l.next;else if((e=l)===u){s?1===s?IB(e=wB(hB(e),t,n),t,n,r,i,a,2):2===s&&gB(e,t,n,r,i,a):IB(hB(e),t,n,r,i,a,1);break}}}function yB(e){var t=e.prev,n=e,r=e.next;if(_B(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(RB(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&_B(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function mB(e,t,n,r){var i=e.prev,a=e,s=e.next;if(_B(i,a,s)>=0)return!1;for(var o=i.xa.x?i.x>s.x?i.x:s.x:a.x>s.x?a.x:s.x,c=i.y>a.y?i.y>s.y?i.y:s.y:a.y>s.y?a.y:s.y,f=DB(o,l,t,n,r),p=DB(u,c,t,n,r),A=e.prevZ,d=e.nextZ;A&&A.z>=f&&d&&d.z<=p;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;if(A=A.prevZ,d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;A&&A.z>=f;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;A=A.prevZ}for(;d&&d.z<=p;){if(d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function wB(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!BB(i,a)&&OB(i,r,r.next,a)&&LB(i,a)&&LB(a,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(a.i/n),FB(r),FB(r.next),r=e=a),r=r.next}while(r!==e);return hB(r)}function gB(e,t,n,r,i,a){var s=e;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&CB(s,o)){var l=xB(s,o);return s=hB(s,s.next),l=hB(l,l.next),IB(s,t,n,r,i,a),void IB(l,t,n,r,i,a)}o=o.next}s=s.next}while(s!==e)}function EB(e,t){return e.x-t.x}function TB(e,t){if(t=function(e,t){var n,r=t,i=e.x,a=e.y,s=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var o=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=i&&o>s){if(s=o,o===i){if(a===r.y)return r;if(a===r.next.y)return r.next}n=r.x=r.x&&r.x>=c&&i!==r.x&&RB(an.x||r.x===n.x&&bB(n,r)))&&(n=r,p=l)),r=r.next}while(r!==u);return n}(e,t),t){var n=xB(t,e);hB(t,t.next),hB(n,n.next)}}function bB(e,t){return _B(e.prev,e,t.prev)<0&&_B(t.next,e,e.next)<0}function DB(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function PB(e){var t=e,n=e;do{(t.x=0&&(e-s)*(r-o)-(n-s)*(t-o)>=0&&(n-s)*(a-o)-(i-s)*(r-o)>=0}function CB(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&OB(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(LB(e,t)&&LB(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(_B(e.prev,e,t.prev)||_B(e,t.prev,t))||BB(e,t)&&_B(e.prev,e,e.next)>0&&_B(t.prev,t,t.next)>0)}function _B(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function BB(e,t){return e.x===t.x&&e.y===t.y}function OB(e,t,n,r){var i=NB(_B(e,t,n)),a=NB(_B(e,t,r)),s=NB(_B(n,r,e)),o=NB(_B(n,r,t));return i!==a&&s!==o||(!(0!==i||!SB(e,n,t))||(!(0!==a||!SB(e,r,t))||(!(0!==s||!SB(n,e,r))||!(0!==o||!SB(n,t,r)))))}function SB(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function NB(e){return e>0?1:e<0?-1:0}function LB(e,t){return _B(e.prev,e,e.next)<0?_B(e,t,e.next)>=0&&_B(e,e.prev,t)>=0:_B(e,t,e.prev)<0||_B(e,e.next,t)<0}function xB(e,t){var n=new HB(e.i,e.x,e.y),r=new HB(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function MB(e,t,n,r){var i=new HB(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function FB(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function HB(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function UB(e,t,n,r){for(var i=0,a=t,s=n-r;a0&&(r+=e[i-1].length,n.holes.push(r))}return n};var GB=$.vec2(),kB=$.vec3(),jB=$.vec3(),VB=$.vec3(),QB=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"cityJSONLoader",e,i)).dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new AB}},{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new Wf(this.viewer.scene,le.apply(e,{isModel:!0,edges:!0}));if(!e.src&&!e.cityJSON)return this.error("load() param expected: src or cityJSON"),t;var n={};if(e.src)this._loadModel(e.src,e,n,t);else{var r=this.viewer.scene.canvas.spinner;r.processes++,this._parseModel(e.cityJSON,e,n,t),r.processes--}return t}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getCityJSON(t.src,(function(e){i._parseModel(e,t,n,r),a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){if(!r.destroyed){var i=e.transform?this._transformVertices(e.vertices,e.transform,n.rotateX):e.vertices,a=t.stats||{};a.sourceFormat=e.type||"CityJSON",a.schemaVersion=e.version||"",a.title="",a.author="",a.created="",a.numMetaObjects=0,a.numPropertySets=0,a.numObjects=0,a.numGeometries=0,a.numTriangles=0,a.numVertices=0;var s=!1!==t.loadMetadata,o=s?{id:$.createUUID(),name:"Model",type:"Model"}:null,l=s?{id:"",projectId:"",author:"",createdAt:"",schema:e.version||"",creatingApplication:"",metaObjects:[o],propertySets:[]}:null,u={data:e,vertices:i,sceneModel:r,loadMetadata:s,metadata:l,rootMetaObject:o,nextId:0,stats:a};if(this._parseCityJSON(u),r.finalize(),s){var c=r.id;this.viewer.metaScene.createMetaModel(c,u.metadata,n)}r.scene.once("tick",(function(){r.destroyed||(r.scene.fire("modelLoaded",r.id),r.fire("loaded",!0,!1))}))}}},{key:"_transformVertices",value:function(e,t,n){for(var r=[],i=t.scale||$.vec3([1,1,1]),a=t.translate||$.vec3([0,0,0]),s=0,o=0;s0){for(var u=[],c=0,f=t.geometry.length;c0){var m=I[y[0]];if(void 0!==m.value)A=h[m.value];else{var w=m.values;if(w){d=[];for(var g=0,E=w.length;g0&&(r.createEntity({id:n,meshIds:u,isObject:!0}),e.stats.numObjects++)}}},{key:"_parseGeometrySurfacesWithOwnMaterials",value:function(e,t,n,r){switch(t.type){case"MultiPoint":case"MultiLineString":break;case"MultiSurface":case"CompositeSurface":var i=t.boundaries;this._parseSurfacesWithOwnMaterials(e,n,i,r);break;case"Solid":for(var a=t.boundaries,s=0;s0&&f.push(u.length);var v=this._extractLocalIndices(e,o[d],p,A);u.push.apply(u,c(v))}if(3===u.length)A.indices.push(u[0]),A.indices.push(u[1]),A.indices.push(u[2]);else if(u.length>3){for(var h=[],I=0;I0&&s.indices.length>0){var v=""+e.nextId++;i.createMesh({id:v,primitive:"triangles",positions:s.positions,indices:s.indices,color:n&&n.diffuseColor?n.diffuseColor:[.8,.8,.8],opacity:1}),r.push(v),e.stats.numGeometries++,e.stats.numVertices+=s.positions.length/3,e.stats.numTriangles+=s.indices.length/3}}},{key:"_parseSurfacesWithSharedMaterial",value:function(e,t,n,r){for(var i=e.vertices,a=0;a0&&o.push(s.length);var u=this._extractLocalIndices(e,t[a][l],n,r);s.push.apply(s,c(u))}if(3===s.length)r.indices.push(s[0]),r.indices.push(s[1]),r.indices.push(s[2]);else if(s.length>3){for(var f=[],p=0;p0&&i[i.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=55296&&i<=56319&&n>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},Xp="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qp="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Jp=0;Jp=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),rA="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",iA="undefined"==typeof Uint8Array?[]:new Uint8Array(256),aA=0;aA>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r0;){var s=r[--a];if(Array.isArray(e)?-1!==e.indexOf(s):e===s)for(var o=n;o<=r.length;){var l;if((l=r[++o])===t)return!0;if(l!==sA)break}if(s!==sA)break}return!1},GA=function(e,t){for(var n=e;n>=0;){var r=t[n];if(r!==sA)return r;n--}return 0},kA=function(e,t,n,r,i){if(0===n[r])return"×";var a=r-1;if(Array.isArray(i)&&!0===i[a])return"×";var s=a-1,o=a+1,l=t[a],u=s>=0?t[s]:0,c=t[o];if(2===l&&3===c)return"×";if(-1!==NA.indexOf(l))return"!";if(-1!==NA.indexOf(c))return"×";if(-1!==LA.indexOf(c))return"×";if(8===GA(a,t))return"÷";if(11===OA.get(e[a]))return"×";if((l===gA||l===EA)&&11===OA.get(e[o]))return"×";if(7===l||7===c)return"×";if(9===l)return"×";if(-1===[sA,oA,lA].indexOf(l)&&9===c)return"×";if(-1!==[uA,cA,fA,vA,mA].indexOf(c))return"×";if(GA(a,t)===dA)return"×";if(UA(23,dA,a,t))return"×";if(UA([uA,cA],AA,a,t))return"×";if(UA(12,12,a,t))return"×";if(l===sA)return"÷";if(23===l||23===c)return"×";if(16===c||16===l)return"÷";if(-1!==[oA,lA,AA].indexOf(c)||14===l)return"×";if(36===u&&-1!==HA.indexOf(l))return"×";if(l===mA&&36===c)return"×";if(c===pA)return"×";if(-1!==SA.indexOf(c)&&l===hA||-1!==SA.indexOf(l)&&c===hA)return"×";if(l===yA&&-1!==[DA,gA,EA].indexOf(c)||-1!==[DA,gA,EA].indexOf(l)&&c===IA)return"×";if(-1!==SA.indexOf(l)&&-1!==MA.indexOf(c)||-1!==MA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(-1!==[yA,IA].indexOf(l)&&(c===hA||-1!==[dA,lA].indexOf(c)&&t[o+1]===hA)||-1!==[dA,lA].indexOf(l)&&c===hA||l===hA&&-1!==[hA,mA,vA].indexOf(c))return"×";if(-1!==[hA,mA,vA,uA,cA].indexOf(c))for(var f=a;f>=0;){if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(-1!==[yA,IA].indexOf(c))for(f=-1!==[uA,cA].indexOf(l)?s:a;f>=0;){var p;if((p=t[f])===hA)return"×";if(-1===[mA,vA].indexOf(p))break;f--}if(PA===l&&-1!==[PA,RA,TA,bA].indexOf(c)||-1!==[RA,TA].indexOf(l)&&-1!==[RA,CA].indexOf(c)||-1!==[CA,bA].indexOf(l)&&c===CA)return"×";if(-1!==FA.indexOf(l)&&-1!==[pA,IA].indexOf(c)||-1!==FA.indexOf(c)&&l===yA)return"×";if(-1!==SA.indexOf(l)&&-1!==SA.indexOf(c))return"×";if(l===vA&&-1!==SA.indexOf(c))return"×";if(-1!==SA.concat(hA).indexOf(l)&&c===dA&&-1===BA.indexOf(e[o])||-1!==SA.concat(hA).indexOf(c)&&l===cA)return"×";if(41===l&&41===c){for(var A=n[a],d=1;A>0&&41===t[--A];)d++;if(d%2!=0)return"×"}return l===gA&&c===EA?"×":"÷"},jA=function(e,t){t||(t={lineBreak:"normal",wordBreak:"normal"});var n=function(e,t){void 0===t&&(t="strict");var n=[],r=[],i=[];return e.forEach((function(e,a){var s=OA.get(e);if(s>50?(i.push(!0),s-=50):i.push(!1),-1!==["normal","auto","loose"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(e))return r.push(a),n.push(16);if(4===s||11===s){if(0===a)return r.push(a),n.push(wA);var o=n[a-1];return-1===xA.indexOf(o)?(r.push(r[a-1]),n.push(o)):(r.push(a),n.push(wA))}return r.push(a),31===s?n.push("strict"===t?AA:DA):s===_A||29===s?n.push(wA):43===s?e>=131072&&e<=196605||e>=196608&&e<=262141?n.push(DA):n.push(wA):void n.push(s)})),[r,n,i]}(e,t.lineBreak),r=n[0],i=n[1],a=n[2];"break-all"!==t.wordBreak&&"break-word"!==t.wordBreak||(i=i.map((function(e){return-1!==[hA,wA,_A].indexOf(e)?DA:e})));var s="keep-all"===t.wordBreak?a.map((function(t,n){return t&&e[n]>=19968&&e[n]<=40959})):void 0;return[r,i,s]},VA=function(){function e(e,t,n,r){this.codePoints=e,this.required="!"===t,this.start=n,this.end=r}return e.prototype.slice=function(){return Yp.apply(void 0,this.codePoints.slice(this.start,this.end))},e}(),QA=function(e){return e>=48&&e<=57},WA=function(e){return QA(e)||e>=65&&e<=70||e>=97&&e<=102},zA=function(e){return 10===e||9===e||32===e},KA=function(e){return function(e){return function(e){return e>=97&&e<=122}(e)||function(e){return e>=65&&e<=90}(e)}(e)||function(e){return e>=128}(e)||95===e},YA=function(e){return KA(e)||QA(e)||45===e},XA=function(e){return e>=0&&e<=8||11===e||e>=14&&e<=31||127===e},qA=function(e,t){return 92===e&&10!==t},JA=function(e,t,n){return 45===e?KA(t)||qA(t,n):!!KA(e)||!(92!==e||!qA(e,t))},ZA=function(e,t,n){return 43===e||45===e?!!QA(t)||46===t&&QA(n):QA(46===e?t:e)},$A=function(e){var t=0,n=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(n=-1),t++);for(var r=[];QA(e[t]);)r.push(e[t++]);var i=r.length?parseInt(Yp.apply(void 0,r),10):0;46===e[t]&&t++;for(var a=[];QA(e[t]);)a.push(e[t++]);var s=a.length,o=s?parseInt(Yp.apply(void 0,a),10):0;69!==e[t]&&101!==e[t]||t++;var l=1;43!==e[t]&&45!==e[t]||(45===e[t]&&(l=-1),t++);for(var u=[];QA(e[t]);)u.push(e[t++]);var c=u.length?parseInt(Yp.apply(void 0,u),10):0;return n*(i+o*Math.pow(10,-s))*Math.pow(10,l*c)},ed={type:2},td={type:3},nd={type:4},rd={type:13},id={type:8},ad={type:21},sd={type:9},od={type:10},ld={type:11},ud={type:12},cd={type:14},fd={type:23},pd={type:1},Ad={type:25},dd={type:24},vd={type:26},hd={type:27},Id={type:28},yd={type:29},md={type:31},wd={type:32},gd=function(){function e(){this._value=[]}return e.prototype.write=function(e){this._value=this._value.concat(Kp(e))},e.prototype.read=function(){for(var e=[],t=this.consumeToken();t!==wd;)e.push(t),t=this.consumeToken();return e},e.prototype.consumeToken=function(){var e=this.consumeCodePoint();switch(e){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),n=this.peekCodePoint(1),r=this.peekCodePoint(2);if(YA(t)||qA(n,r)){var i=JA(t,n,r)?2:1;return{type:5,value:this.consumeName(),flags:i}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),rd;break;case 39:return this.consumeStringToken(39);case 40:return ed;case 41:return td;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),cd;break;case 43:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 44:return nd;case 45:var a=e,s=this.peekCodePoint(0),o=this.peekCodePoint(1);if(ZA(a,s,o))return this.reconsumeCodePoint(e),this.consumeNumericToken();if(JA(a,s,o))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();if(45===s&&62===o)return this.consumeCodePoint(),this.consumeCodePoint(),dd;break;case 46:if(ZA(e,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(e),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var l=this.consumeCodePoint();if(42===l&&47===(l=this.consumeCodePoint()))return this.consumeToken();if(-1===l)return this.consumeToken()}break;case 58:return vd;case 59:return hd;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),Ad;break;case 64:var u=this.peekCodePoint(0),c=this.peekCodePoint(1),f=this.peekCodePoint(2);if(JA(u,c,f))return{type:7,value:this.consumeName()};break;case 91:return Id;case 92:if(qA(e,this.peekCodePoint(0)))return this.reconsumeCodePoint(e),this.consumeIdentLikeToken();break;case 93:return yd;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),id;break;case 123:return ld;case 125:return ud;case 117:case 85:var p=this.peekCodePoint(0),A=this.peekCodePoint(1);return 43!==p||!WA(A)&&63!==A||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(e),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),sd;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),ad;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),od;break;case-1:return wd}return zA(e)?(this.consumeWhiteSpace(),md):QA(e)?(this.reconsumeCodePoint(e),this.consumeNumericToken()):KA(e)?(this.reconsumeCodePoint(e),this.consumeIdentLikeToken()):{type:6,value:Yp(e)}},e.prototype.consumeCodePoint=function(){var e=this._value.shift();return void 0===e?-1:e},e.prototype.reconsumeCodePoint=function(e){this._value.unshift(e)},e.prototype.peekCodePoint=function(e){return e>=this._value.length?-1:this._value[e]},e.prototype.consumeUnicodeRangeToken=function(){for(var e=[],t=this.consumeCodePoint();WA(t)&&e.length<6;)e.push(t),t=this.consumeCodePoint();for(var n=!1;63===t&&e.length<6;)e.push(t),t=this.consumeCodePoint(),n=!0;if(n)return{type:30,start:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?48:e}))),16),end:parseInt(Yp.apply(void 0,e.map((function(e){return 63===e?70:e}))),16)};var r=parseInt(Yp.apply(void 0,e),16);if(45===this.peekCodePoint(0)&&WA(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];WA(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();return{type:30,start:r,end:parseInt(Yp.apply(void 0,i),16)}}return{type:30,start:r,end:r}},e.prototype.consumeIdentLikeToken=function(){var e=this.consumeName();return"url"===e.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:e}):{type:20,value:e}},e.prototype.consumeUrlToken=function(){var e=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var t=this.peekCodePoint(0);if(39===t||34===t){var n=this.consumeStringToken(this.consumeCodePoint());return 0===n.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:n.value}):(this.consumeBadUrlRemnants(),fd)}for(;;){var r=this.consumeCodePoint();if(-1===r||41===r)return{type:22,value:Yp.apply(void 0,e)};if(zA(r))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:Yp.apply(void 0,e)}):(this.consumeBadUrlRemnants(),fd);if(34===r||39===r||40===r||XA(r))return this.consumeBadUrlRemnants(),fd;if(92===r){if(!qA(r,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),fd;e.push(this.consumeEscapedCodePoint())}else e.push(r)}},e.prototype.consumeWhiteSpace=function(){for(;zA(this.peekCodePoint(0));)this.consumeCodePoint()},e.prototype.consumeBadUrlRemnants=function(){for(;;){var e=this.consumeCodePoint();if(41===e||-1===e)return;qA(e,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},e.prototype.consumeStringSlice=function(e){for(var t="";e>0;){var n=Math.min(5e4,e);t+=Yp.apply(void 0,this._value.splice(0,n)),e-=n}return this._value.shift(),t},e.prototype.consumeStringToken=function(e){for(var t="",n=0;;){var r=this._value[n];if(-1===r||void 0===r||r===e)return{type:0,value:t+=this.consumeStringSlice(n)};if(10===r)return this._value.splice(0,n),pd;if(92===r){var i=this._value[n+1];-1!==i&&void 0!==i&&(10===i?(t+=this.consumeStringSlice(n),n=-1,this._value.shift()):qA(r,i)&&(t+=this.consumeStringSlice(n),t+=Yp(this.consumeEscapedCodePoint()),n=-1))}n++}},e.prototype.consumeNumber=function(){var e=[],t=4,n=this.peekCodePoint(0);for(43!==n&&45!==n||e.push(this.consumeCodePoint());QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0);var r=this.peekCodePoint(1);if(46===n&&QA(r))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());n=this.peekCodePoint(0),r=this.peekCodePoint(1);var i=this.peekCodePoint(2);if((69===n||101===n)&&((43===r||45===r)&&QA(i)||QA(r)))for(e.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;QA(this.peekCodePoint(0));)e.push(this.consumeCodePoint());return[$A(e),t]},e.prototype.consumeNumericToken=function(){var e=this.consumeNumber(),t=e[0],n=e[1],r=this.peekCodePoint(0),i=this.peekCodePoint(1),a=this.peekCodePoint(2);return JA(r,i,a)?{type:15,number:t,flags:n,unit:this.consumeName()}:37===r?(this.consumeCodePoint(),{type:16,number:t,flags:n}):{type:17,number:t,flags:n}},e.prototype.consumeEscapedCodePoint=function(){var e=this.consumeCodePoint();if(WA(e)){for(var t=Yp(e);WA(this.peekCodePoint(0))&&t.length<6;)t+=Yp(this.consumeCodePoint());zA(this.peekCodePoint(0))&&this.consumeCodePoint();var n=parseInt(t,16);return 0===n||function(e){return e>=55296&&e<=57343}(n)||n>1114111?65533:n}return-1===e?65533:e},e.prototype.consumeName=function(){for(var e="";;){var t=this.consumeCodePoint();if(YA(t))e+=Yp(t);else{if(!qA(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),e;e+=Yp(this.consumeEscapedCodePoint())}}},e}(),Ed=function(){function e(e){this._tokens=e}return e.create=function(t){var n=new gd;return n.write(t),new e(n.read())},e.parseValue=function(t){return e.create(t).parseComponentValue()},e.parseValues=function(t){return e.create(t).parseComponentValues()},e.prototype.parseComponentValue=function(){for(var e=this.consumeToken();31===e.type;)e=this.consumeToken();if(32===e.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(e);var t=this.consumeComponentValue();do{e=this.consumeToken()}while(31===e.type);if(32===e.type)return t;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},e.prototype.parseComponentValues=function(){for(var e=[];;){var t=this.consumeComponentValue();if(32===t.type)return e;e.push(t),e.push()}},e.prototype.consumeComponentValue=function(){var e=this.consumeToken();switch(e.type){case 11:case 28:case 2:return this.consumeSimpleBlock(e.type);case 19:return this.consumeFunction(e)}return e},e.prototype.consumeSimpleBlock=function(e){for(var t={type:e,values:[]},n=this.consumeToken();;){if(32===n.type||Od(n,e))return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue()),n=this.consumeToken()}},e.prototype.consumeFunction=function(e){for(var t={name:e.value,values:[],type:18};;){var n=this.consumeToken();if(32===n.type||3===n.type)return t;this.reconsumeToken(n),t.values.push(this.consumeComponentValue())}},e.prototype.consumeToken=function(){var e=this._tokens.shift();return void 0===e?wd:e},e.prototype.reconsumeToken=function(e){this._tokens.unshift(e)},e}(),Td=function(e){return 15===e.type},bd=function(e){return 17===e.type},Dd=function(e){return 20===e.type},Pd=function(e){return 0===e.type},Rd=function(e,t){return Dd(e)&&e.value===t},Cd=function(e){return 31!==e.type},_d=function(e){return 31!==e.type&&4!==e.type},Bd=function(e){var t=[],n=[];return e.forEach((function(e){if(4===e.type){if(0===n.length)throw new Error("Error parsing function args, zero tokens for arg");return t.push(n),void(n=[])}31!==e.type&&n.push(e)})),n.length&&t.push(n),t},Od=function(e,t){return 11===t&&12===e.type||(28===t&&29===e.type||2===t&&3===e.type)},Sd=function(e){return 17===e.type||15===e.type},Nd=function(e){return 16===e.type||Sd(e)},Ld=function(e){return e.length>1?[e[0],e[1]]:[e[0]]},Md={type:17,number:0,flags:4},xd={type:16,number:50,flags:4},Fd={type:16,number:100,flags:4},Hd=function(e,t,n){var r=e[0],i=e[1];return[Ud(r,t),Ud(void 0!==i?i:r,n)]},Ud=function(e,t){if(16===e.type)return e.number/100*t;if(Td(e))switch(e.unit){case"rem":case"em":return 16*e.number;default:return e.number}return e.number},Gd=function(e,t){if(15===t.type)switch(t.unit){case"deg":return Math.PI*t.number/180;case"grad":return Math.PI/200*t.number;case"rad":return t.number;case"turn":return 2*Math.PI*t.number}throw new Error("Unsupported angle type")},kd=function(e){return 15===e.type&&("deg"===e.unit||"grad"===e.unit||"rad"===e.unit||"turn"===e.unit)},jd=function(e){switch(e.filter(Dd).map((function(e){return e.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[Md,Md];case"to top":case"bottom":return Vd(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[Md,Fd];case"to right":case"left":return Vd(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[Fd,Fd];case"to bottom":case"top":return Vd(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[Fd,Md];case"to left":case"right":return Vd(270)}return 0},Vd=function(e){return Math.PI*e/180},Qd=function(e,t){if(18===t.type){var n=Zd[t.name];if(void 0===n)throw new Error('Attempting to parse an unsupported color function "'+t.name+'"');return n(e,t.values)}if(5===t.type){if(3===t.value.length){var r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),1)}if(4===t.value.length){r=t.value.substring(0,1),i=t.value.substring(1,2),a=t.value.substring(2,3);var s=t.value.substring(3,4);return Kd(parseInt(r+r,16),parseInt(i+i,16),parseInt(a+a,16),parseInt(s+s,16)/255)}if(6===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),1)}if(8===t.value.length){r=t.value.substring(0,2),i=t.value.substring(2,4),a=t.value.substring(4,6),s=t.value.substring(6,8);return Kd(parseInt(r,16),parseInt(i,16),parseInt(a,16),parseInt(s,16)/255)}}if(20===t.type){var o=ev[t.value.toUpperCase()];if(void 0!==o)return o}return ev.TRANSPARENT},Wd=function(e){return 0==(255&e)},zd=function(e){var t=255&e,n=255&e>>8,r=255&e>>16,i=255&e>>24;return t<255?"rgba("+i+","+r+","+n+","+t/255+")":"rgb("+i+","+r+","+n+")"},Kd=function(e,t,n,r){return(e<<24|t<<16|n<<8|Math.round(255*r)<<0)>>>0},Yd=function(e,t){if(17===e.type)return e.number;if(16===e.type){var n=3===t?1:255;return 3===t?e.number/100*n:Math.round(e.number/100*n)}return 0},Xd=function(e,t){var n=t.filter(_d);if(3===n.length){var r=n.map(Yd),i=r[0],a=r[1],s=r[2];return Kd(i,a,s,1)}if(4===n.length){var o=n.map(Yd),l=(i=o[0],a=o[1],s=o[2],o[3]);return Kd(i,a,s,l)}return 0};function qd(e,t,n){return n<0&&(n+=1),n>=1&&(n-=1),n<1/6?(t-e)*n*6+e:n<.5?t:n<2/3?6*(t-e)*(2/3-n)+e:e}var Jd=function(e,t){var n=t.filter(_d),r=n[0],i=n[1],a=n[2],s=n[3],o=(17===r.type?Vd(r.number):Gd(e,r))/(2*Math.PI),l=Nd(i)?i.number/100:0,u=Nd(a)?a.number/100:0,c=void 0!==s&&Nd(s)?Ud(s,1):1;if(0===l)return Kd(255*u,255*u,255*u,1);var f=u<=.5?u*(l+1):u+l-u*l,p=2*u-f,A=qd(p,f,o+1/3),d=qd(p,f,o),v=qd(p,f,o-1/3);return Kd(255*A,255*d,255*v,c)},Zd={hsl:Jd,hsla:Jd,rgb:Xd,rgba:Xd},$d=function(e,t){return Qd(e,Ed.create(t).parseComponentValue())},ev={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},tv={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},nv={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},rv=function(e,t){var n=Qd(e,t[0]),r=t[1];return r&&Nd(r)?{color:n,stop:r}:{color:n,stop:null}},iv=function(e,t){var n=e[0],r=e[e.length-1];null===n.stop&&(n.stop=Md),null===r.stop&&(r.stop=Fd);for(var i=[],a=0,s=0;sa?i.push(l):i.push(a),a=l}else i.push(null)}var u=null;for(s=0;se.optimumDistance)?{optimumCorner:t,optimumDistance:o}:e}),{optimumDistance:i?1/0:-1/0,optimumCorner:null}).optimumCorner},lv=function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&-1!==["top","left","right","bottom"].indexOf(a.value))return void(n=jd(t));if(kd(a))return void(n=(Gd(e,a)+Vd(270))%Vd(360))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},uv=function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s?o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"center":return a.push(xd),!1;case"top":case"left":return a.push(Md),!1;case"right":case"bottom":return a.push(Fd),!1}else if(Nd(t)||Sd(t))return a.push(t),!1;return e}),o):1===s&&(o=t.reduce((function(e,t){if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"contain":case"closest-side":return r=0,!1;case"farthest-side":return r=1,!1;case"closest-corner":return r=2,!1;case"cover":case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)),o){var l=rv(e,t);i.push(l)}})),{size:r,shape:n,stops:i,position:a,type:2}},cv=function(e,t){if(22===t.type){var n={url:t.value,type:0};return e.cache.addImage(t.value),n}if(18===t.type){var r=pv[t.name];if(void 0===r)throw new Error('Attempting to parse an unsupported image function "'+t.name+'"');return r(e,t.values)}throw new Error("Unsupported image type "+t.type)};var fv,pv={"linear-gradient":function(e,t){var n=Vd(180),r=[];return Bd(t).forEach((function(t,i){if(0===i){var a=t[0];if(20===a.type&&"to"===a.value)return void(n=jd(t));if(kd(a))return void(n=Gd(e,a))}var s=rv(e,t);r.push(s)})),{angle:n,stops:r,type:1}},"-moz-linear-gradient":lv,"-ms-linear-gradient":lv,"-o-linear-gradient":lv,"-webkit-linear-gradient":lv,"radial-gradient":function(e,t){var n=0,r=3,i=[],a=[];return Bd(t).forEach((function(t,s){var o=!0;if(0===s){var l=!1;o=t.reduce((function(e,t){if(l)if(Dd(t))switch(t.value){case"center":return a.push(xd),e;case"top":case"left":return a.push(Md),e;case"right":case"bottom":return a.push(Fd),e}else(Nd(t)||Sd(t))&&a.push(t);else if(Dd(t))switch(t.value){case"circle":return n=0,!1;case"ellipse":return n=1,!1;case"at":return l=!0,!1;case"closest-side":return r=0,!1;case"cover":case"farthest-side":return r=1,!1;case"contain":case"closest-corner":return r=2,!1;case"farthest-corner":return r=3,!1}else if(Sd(t)||Nd(t))return Array.isArray(r)||(r=[]),r.push(t),!1;return e}),o)}if(o){var u=rv(e,t);i.push(u)}})),{size:r,shape:n,stops:i,position:a,type:2}},"-moz-radial-gradient":uv,"-ms-radial-gradient":uv,"-o-radial-gradient":uv,"-webkit-radial-gradient":uv,"-webkit-gradient":function(e,t){var n=Vd(180),r=[],i=1;return Bd(t).forEach((function(t,n){var a=t[0];if(0===n){if(Dd(a)&&"linear"===a.value)return void(i=1);if(Dd(a)&&"radial"===a.value)return void(i=2)}if(18===a.type)if("from"===a.name){var s=Qd(e,a.values[0]);r.push({stop:Md,color:s})}else if("to"===a.name){s=Qd(e,a.values[0]);r.push({stop:Fd,color:s})}else if("color-stop"===a.name){var o=a.values.filter(_d);if(2===o.length){s=Qd(e,o[1]);var l=o[0];bd(l)&&r.push({stop:{type:16,number:100*l.number,flags:l.flags},color:s})}}})),1===i?{angle:(n+Vd(180))%Vd(360),stops:r,type:i}:{size:3,shape:0,stops:r,position:[],type:i}}},Av={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(e,t){if(0===t.length)return[];var n=t[0];return 20===n.type&&"none"===n.value?[]:t.filter((function(e){return _d(e)&&function(e){return!(20===e.type&&"none"===e.value||18===e.type&&!pv[e.name])}(e)})).map((function(t){return cv(e,t)}))}},dv={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(e,t){return t.map((function(e){if(Dd(e))switch(e.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},vv={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Nd)})).map(Ld)}},hv={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(Dd).map((function(e){return e.value})).join(" ")})).map(Iv)}},Iv=function(e){switch(e){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;default:return 0}};!function(e){e.AUTO="auto",e.CONTAIN="contain",e.COVER="cover"}(fv||(fv={}));var yv,mv={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(e,t){return Bd(t).map((function(e){return e.filter(wv)}))}},wv=function(e){return Dd(e)||Nd(e)},gv=function(e){return{name:"border-"+e+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},Ev=gv("top"),Tv=gv("right"),bv=gv("bottom"),Dv=gv("left"),Pv=function(e){return{name:"border-radius-"+e,initialValue:"0 0",prefix:!1,type:1,parse:function(e,t){return Ld(t.filter(Nd))}}},Rv=Pv("top-left"),Cv=Pv("top-right"),_v=Pv("bottom-right"),Bv=Pv("bottom-left"),Ov=function(e){return{name:"border-"+e+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(e,t){switch(t){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},Sv=Ov("top"),Nv=Ov("right"),Lv=Ov("bottom"),Mv=Ov("left"),xv=function(e){return{name:"border-"+e+"-width",initialValue:"0",type:0,prefix:!1,parse:function(e,t){return Td(t)?t.number:0}}},Fv=xv("top"),Hv=xv("right"),Uv=xv("bottom"),Gv=xv("left"),kv={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},jv={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(e,t){return"rtl"===t?1:0}},Vv={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).reduce((function(e,t){return e|Qv(t.value)}),0)}},Qv=function(e){switch(e){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},Wv={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},zv={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(e,t){return 20===t.type&&"normal"===t.value?0:17===t.type||15===t.type?t.number:0}};!function(e){e.NORMAL="normal",e.STRICT="strict"}(yv||(yv={}));var Kv,Yv={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"strict"===t?yv.STRICT:yv.NORMAL}},Xv={name:"line-height",initialValue:"normal",prefix:!1,type:4},qv=function(e,t){return Dd(e)&&"normal"===e.value?1.2*t:17===e.type?t*e.number:Nd(e)?Ud(e,t):t},Jv={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(e,t){return 20===t.type&&"none"===t.value?null:cv(e,t)}},Zv={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(e,t){return"inside"===t?0:1}},$v={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(e,t){switch(t){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;default:return-1}}},eh=function(e){return{name:"margin-"+e,initialValue:"0",prefix:!1,type:4}},th=eh("top"),nh=eh("right"),rh=eh("bottom"),ih=eh("left"),ah={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(e,t){return t.filter(Dd).map((function(e){switch(e.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;default:return 0}}))}},sh={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(e,t){return"break-word"===t?"break-word":"normal"}},oh=function(e){return{name:"padding-"+e,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},lh=oh("top"),uh=oh("right"),ch=oh("bottom"),fh=oh("left"),ph={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(e,t){switch(t){case"right":return 2;case"center":case"justify":return 1;default:return 0}}},Ah={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(e,t){switch(t){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},dh={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(e,t){return 1===t.length&&Rd(t[0],"none")?[]:Bd(t).map((function(t){for(var n={color:ev.TRANSPARENT,offsetX:Md,offsetY:Md,blur:Md},r=0,i=0;i1?1:0],this.overflowWrap=Kh(e,sh,t.overflowWrap),this.paddingTop=Kh(e,lh,t.paddingTop),this.paddingRight=Kh(e,uh,t.paddingRight),this.paddingBottom=Kh(e,ch,t.paddingBottom),this.paddingLeft=Kh(e,fh,t.paddingLeft),this.paintOrder=Kh(e,kh,t.paintOrder),this.position=Kh(e,Ah,t.position),this.textAlign=Kh(e,ph,t.textAlign),this.textDecorationColor=Kh(e,Ph,null!==(n=t.textDecorationColor)&&void 0!==n?n:t.color),this.textDecorationLine=Kh(e,Rh,null!==(r=t.textDecorationLine)&&void 0!==r?r:t.textDecoration),this.textShadow=Kh(e,dh,t.textShadow),this.textTransform=Kh(e,vh,t.textTransform),this.transform=Kh(e,hh,t.transform),this.transformOrigin=Kh(e,wh,t.transformOrigin),this.visibility=Kh(e,gh,t.visibility),this.webkitTextStrokeColor=Kh(e,jh,t.webkitTextStrokeColor),this.webkitTextStrokeWidth=Kh(e,Vh,t.webkitTextStrokeWidth),this.wordBreak=Kh(e,Eh,t.wordBreak),this.zIndex=Kh(e,Th,t.zIndex)}return e.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},e.prototype.isTransparent=function(){return Wd(this.backgroundColor)},e.prototype.isTransformed=function(){return null!==this.transform},e.prototype.isPositioned=function(){return 0!==this.position},e.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},e.prototype.isFloating=function(){return 0!==this.float},e.prototype.isInlineLevel=function(){return Nh(this.display,4)||Nh(this.display,33554432)||Nh(this.display,268435456)||Nh(this.display,536870912)||Nh(this.display,67108864)||Nh(this.display,134217728)},e}(),Wh=function(e,t){this.content=Kh(e,Lh,t.content),this.quotes=Kh(e,Hh,t.quotes)},zh=function(e,t){this.counterIncrement=Kh(e,Mh,t.counterIncrement),this.counterReset=Kh(e,xh,t.counterReset)},Kh=function(e,t,n){var r=new gd,i=null!=n?n.toString():t.initialValue;r.write(i);var a=new Ed(r.read());switch(t.type){case 2:var s=a.parseComponentValue();return t.parse(e,Dd(s)?s.value:t.initialValue);case 0:return t.parse(e,a.parseComponentValue());case 1:return t.parse(e,a.parseComponentValues());case 4:return a.parseComponentValue();case 3:switch(t.format){case"angle":return Gd(e,a.parseComponentValue());case"color":return Qd(e,a.parseComponentValue());case"image":return cv(e,a.parseComponentValue());case"length":var o=a.parseComponentValue();return Sd(o)?o:Md;case"length-percentage":var l=a.parseComponentValue();return Nd(l)?l:Md;case"time":return bh(e,a.parseComponentValue())}}},Yh=function(e,t){var n=function(e){switch(e.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}}(e);return 1===n||t===n},Xh=function(e,t){this.context=e,this.textNodes=[],this.elements=[],this.flags=0,Yh(t,3),this.styles=new Qh(e,window.getComputedStyle(t,null)),XI(t)&&(this.styles.animationDuration.some((function(e){return e>0}))&&(t.style.animationDuration="0s"),null!==this.styles.transform&&(t.style.transform="none")),this.bounds=zp(this.context,t),Yh(t,4)&&(this.flags|=16)},qh="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Jh="undefined"==typeof Uint8Array?[]:new Uint8Array(256),Zh=0;Zh=0){if(e<55296||e>56319&&e<=65535)return t=((t=this.index[e>>5])<<2)+(31&e),this.data[t];if(e<=65535)return t=((t=this.index[2048+(e-55296>>5)])<<2)+(31&e),this.data[t];if(e>11),t=this.index[t],t+=e>>5&63,t=((t=this.index[t])<<2)+(31&e),this.data[t];if(e<=1114111)return this.data[this.highValueIndex]}return this.errorValue},e}(),tI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nI="undefined"==typeof Uint8Array?[]:new Uint8Array(256),rI=0;rI>10),s%1024+56320)),(i+1===n||r.length>16384)&&(a+=String.fromCharCode.apply(String,r),r.length=0)}return a},cI=function(e,t){var n,r,i,a=function(e){var t,n,r,i,a,s=.75*e.length,o=e.length,l=0;"="===e[e.length-1]&&(s--,"="===e[e.length-2]&&s--);var u="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(s):new Array(s),c=Array.isArray(u)?u:new Uint8Array(u);for(t=0;t>4,c[l++]=(15&r)<<4|i>>2,c[l++]=(3&i)<<6|63&a;return u}(e),s=Array.isArray(a)?function(e){for(var t=e.length,n=[],r=0;r=55296&&i<=56319&&n=n)return{done:!0,value:null};for(var e="×";rs.x||i.y>s.y;return s=i,0===t||o}));return e.body.removeChild(t),o}(document);return Object.defineProperty(II,"SUPPORT_WORD_BREAKING",{value:e}),e},get SUPPORT_SVG_DRAWING(){var e=function(e){var t=new Image,n=e.createElement("canvas"),r=n.getContext("2d");if(!r)return!1;t.src="data:image/svg+xml,";try{r.drawImage(t,0,0),n.toDataURL()}catch(e){return!1}return!0}(document);return Object.defineProperty(II,"SUPPORT_SVG_DRAWING",{value:e}),e},get SUPPORT_FOREIGNOBJECT_DRAWING(){var e="function"==typeof Array.from&&"function"==typeof window.fetch?function(e){var t=e.createElement("canvas"),n=100;t.width=n,t.height=n;var r=t.getContext("2d");if(!r)return Promise.reject(!1);r.fillStyle="rgb(0, 255, 0)",r.fillRect(0,0,n,n);var i=new Image,a=t.toDataURL();i.src=a;var s=vI(n,n,0,0,i);return r.fillStyle="red",r.fillRect(0,0,n,n),hI(s).then((function(t){r.drawImage(t,0,0);var i=r.getImageData(0,0,n,n).data;r.fillStyle="red",r.fillRect(0,0,n,n);var s=e.createElement("div");return s.style.backgroundImage="url("+a+")",s.style.height="100px",dI(i)?hI(vI(n,n,0,0,s)):Promise.reject(!1)})).then((function(e){return r.drawImage(e,0,0),dI(r.getImageData(0,0,n,n).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(II,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:e}),e},get SUPPORT_CORS_IMAGES(){var e=void 0!==(new Image).crossOrigin;return Object.defineProperty(II,"SUPPORT_CORS_IMAGES",{value:e}),e},get SUPPORT_RESPONSE_TYPE(){var e="string"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(II,"SUPPORT_RESPONSE_TYPE",{value:e}),e},get SUPPORT_CORS_XHR(){var e="withCredentials"in new XMLHttpRequest;return Object.defineProperty(II,"SUPPORT_CORS_XHR",{value:e}),e},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var e=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(II,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:e}),e}},yI=function(e,t){this.text=e,this.bounds=t},mI=function(e,t){var n=t.ownerDocument;if(n){var r=n.createElement("html2canvaswrapper");r.appendChild(t.cloneNode(!0));var i=t.parentNode;if(i){i.replaceChild(r,t);var a=zp(e,r);return r.firstChild&&i.replaceChild(r.firstChild,r),a}}return Wp.EMPTY},wI=function(e,t,n){var r=e.ownerDocument;if(!r)throw new Error("Node has no owner document");var i=r.createRange();return i.setStart(e,t),i.setEnd(e,t+n),i},gI=function(e){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var t=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(t.segment(e)).map((function(e){return e.segment}))}return function(e){for(var t,n=AI(e),r=[];!(t=n.next()).done;)t.value&&r.push(t.value.slice());return r}(e)},EI=function(e,t){return 0!==t.letterSpacing?gI(e):function(e,t){if(II.SUPPORT_NATIVE_TEXT_SEGMENTATION){var n=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(n.segment(e)).map((function(e){return e.segment}))}return bI(e,t)}(e,t)},TI=[32,160,4961,65792,65793,4153,4241],bI=function(e,t){for(var n,r=function(e,t){var n=Kp(e),r=jA(n,t),i=r[0],a=r[1],s=r[2],o=n.length,l=0,u=0;return{next:function(){if(u>=o)return{done:!0,value:null};for(var e="×";u0)if(II.SUPPORT_RANGE_BOUNDS){var i=wI(r,s,t.length).getClientRects();if(i.length>1){var o=gI(t),l=0;o.forEach((function(t){a.push(new yI(t,Wp.fromDOMRectList(e,wI(r,l+s,t.length).getClientRects()))),l+=t.length}))}else a.push(new yI(t,Wp.fromDOMRectList(e,i)))}else{var u=r.splitText(t.length);a.push(new yI(t,mI(e,r))),r=u}else II.SUPPORT_RANGE_BOUNDS||(r=r.splitText(t.length));s+=t.length})),a}(e,this.text,n,t)},PI=function(e,t){switch(t){case 1:return e.toLowerCase();case 3:return e.replace(RI,CI);case 2:return e.toUpperCase();default:return e}},RI=/(^|\s|:|-|\(|\))([a-z])/g,CI=function(e,t,n){return e.length>0?t+n.toUpperCase():e},_I=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.src=n.currentSrc||n.src,r.intrinsicWidth=n.naturalWidth,r.intrinsicHeight=n.naturalHeight,r.context.cache.addImage(r.src),r}return Gp(t,e),t}(Xh),BI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.canvas=n,r.intrinsicWidth=n.width,r.intrinsicHeight=n.height,r}return Gp(t,e),t}(Xh),OI=function(e){function t(t,n){var r=e.call(this,t,n)||this,i=new XMLSerializer,a=zp(t,n);return n.setAttribute("width",a.width+"px"),n.setAttribute("height",a.height+"px"),r.svg="data:image/svg+xml,"+encodeURIComponent(i.serializeToString(n)),r.intrinsicWidth=n.width.baseVal.value,r.intrinsicHeight=n.height.baseVal.value,r.context.cache.addImage(r.svg),r}return Gp(t,e),t}(Xh),SI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.value=n.value,r}return Gp(t,e),t}(Xh),NI=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.start=n.start,r.reversed="boolean"==typeof n.reversed&&!0===n.reversed,r}return Gp(t,e),t}(Xh),LI=[{type:15,flags:0,unit:"px",number:3}],MI=[{type:16,flags:0,number:50}],xI="password",FI=function(e){function t(t,n){var r,i=e.call(this,t,n)||this;switch(i.type=n.type.toLowerCase(),i.checked=n.checked,i.value=function(e){var t=e.type===xI?new Array(e.value.length+1).join("•"):e.value;return 0===t.length?e.placeholder||"":t}(n),"checkbox"!==i.type&&"radio"!==i.type||(i.styles.backgroundColor=3739148031,i.styles.borderTopColor=i.styles.borderRightColor=i.styles.borderBottomColor=i.styles.borderLeftColor=2779096575,i.styles.borderTopWidth=i.styles.borderRightWidth=i.styles.borderBottomWidth=i.styles.borderLeftWidth=1,i.styles.borderTopStyle=i.styles.borderRightStyle=i.styles.borderBottomStyle=i.styles.borderLeftStyle=1,i.styles.backgroundClip=[0],i.styles.backgroundOrigin=[0],i.bounds=(r=i.bounds).width>r.height?new Wp(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width0)r.textNodes.push(new DI(t,a,r.styles));else if(YI(a))if(uy(a)&&a.assignedNodes)a.assignedNodes().forEach((function(n){return e(t,n,r,i)}));else{var o=VI(t,a);o.styles.isVisible()&&(WI(a,o,i)?o.flags|=4:zI(o.styles)&&(o.flags|=2),-1!==kI.indexOf(a.tagName)&&(o.flags|=8),r.elements.push(o),a.slot,a.shadowRoot?e(t,a.shadowRoot,o,i):oy(a)||ey(a)||ly(a)||e(t,a,o,i))}},VI=function(e,t){return iy(t)?new _I(e,t):ny(t)?new BI(e,t):ey(t)?new OI(e,t):JI(t)?new SI(e,t):ZI(t)?new NI(e,t):$I(t)?new FI(e,t):ly(t)?new HI(e,t):oy(t)?new UI(e,t):ay(t)?new GI(e,t):new Xh(e,t)},QI=function(e,t){var n=VI(e,t);return n.flags|=4,jI(e,t,n,n),n},WI=function(e,t,n){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||ty(e)&&n.styles.isTransparent()},zI=function(e){return e.isPositioned()||e.isFloating()},KI=function(e){return e.nodeType===Node.TEXT_NODE},YI=function(e){return e.nodeType===Node.ELEMENT_NODE},XI=function(e){return YI(e)&&void 0!==e.style&&!qI(e)},qI=function(e){return"object"===T(e.className)},JI=function(e){return"LI"===e.tagName},ZI=function(e){return"OL"===e.tagName},$I=function(e){return"INPUT"===e.tagName},ey=function(e){return"svg"===e.tagName},ty=function(e){return"BODY"===e.tagName},ny=function(e){return"CANVAS"===e.tagName},ry=function(e){return"VIDEO"===e.tagName},iy=function(e){return"IMG"===e.tagName},ay=function(e){return"IFRAME"===e.tagName},sy=function(e){return"STYLE"===e.tagName},oy=function(e){return"TEXTAREA"===e.tagName},ly=function(e){return"SELECT"===e.tagName},uy=function(e){return"SLOT"===e.tagName},cy=function(e){return e.tagName.indexOf("-")>0},fy=function(){function e(){this.counters={}}return e.prototype.getCounterValue=function(e){var t=this.counters[e];return t&&t.length?t[t.length-1]:1},e.prototype.getCounterValues=function(e){var t=this.counters[e];return t||[]},e.prototype.pop=function(e){var t=this;e.forEach((function(e){return t.counters[e].pop()}))},e.prototype.parse=function(e){var t=this,n=e.counterIncrement,r=e.counterReset,i=!0;null!==n&&n.forEach((function(e){var n=t.counters[e.counter];n&&0!==e.increment&&(i=!1,n.length||n.push(1),n[Math.max(0,n.length-1)]+=e.increment)}));var a=[];return i&&r.forEach((function(e){var n=t.counters[e.counter];a.push(e.counter),n||(n=t.counters[e.counter]=[]),n.push(e.reset)})),a},e}(),py={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},Ay={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},dy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},vy={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},hy=function(e,t,n,r,i,a){return en?gy(e,i,a.length>0):r.integers.reduce((function(t,n,i){for(;e>=n;)e-=n,t+=r.values[i];return t}),"")+a},Iy=function(e,t,n,r){var i="";do{n||e--,i=r(e)+i,e/=t}while(e*t>=t);return i},yy=function(e,t,n,r,i){var a=n-t+1;return(e<0?"-":"")+(Iy(Math.abs(e),a,r,(function(e){return Yp(Math.floor(e%a)+t)}))+i)},my=function(e,t,n){void 0===n&&(n=". ");var r=t.length;return Iy(Math.abs(e),r,!1,(function(e){return t[Math.floor(e%r)]}))+n},wy=function(e,t,n,r,i,a){if(e<-9999||e>9999)return gy(e,4,i.length>0);var s=Math.abs(e),o=i;if(0===s)return t[0]+o;for(var l=0;s>0&&l<=4;l++){var u=s%10;0===u&&Nh(a,1)&&""!==o?o=t[u]+o:u>1||1===u&&0===l||1===u&&1===l&&Nh(a,2)||1===u&&1===l&&Nh(a,4)&&e>100||1===u&&l>1&&Nh(a,8)?o=t[u]+(l>0?n[l-1]:"")+o:1===u&&l>0&&(o=n[l-1]+o),s=Math.floor(s/10)}return(e<0?r:"")+o},gy=function(e,t,n){var r=n?". ":"",i=n?"、":"",a=n?", ":"",s=n?" ":"";switch(t){case 0:return"•"+s;case 1:return"◦"+s;case 2:return"◾"+s;case 5:var o=yy(e,48,57,!0,r);return o.length<4?"0"+o:o;case 4:return my(e,"〇一二三四五六七八九",i);case 6:return hy(e,1,3999,py,3,r).toLowerCase();case 7:return hy(e,1,3999,py,3,r);case 8:return yy(e,945,969,!1,r);case 9:return yy(e,97,122,!1,r);case 10:return yy(e,65,90,!1,r);case 11:return yy(e,1632,1641,!0,r);case 12:case 49:return hy(e,1,9999,Ay,3,r);case 35:return hy(e,1,9999,Ay,3,r).toLowerCase();case 13:return yy(e,2534,2543,!0,r);case 14:case 30:return yy(e,6112,6121,!0,r);case 15:return my(e,"子丑寅卯辰巳午未申酉戌亥",i);case 16:return my(e,"甲乙丙丁戊己庚辛壬癸",i);case 17:case 48:return wy(e,"零一二三四五六七八九","十百千萬","負",i,14);case 47:return wy(e,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",i,15);case 42:return wy(e,"零一二三四五六七八九","十百千萬","负",i,14);case 41:return wy(e,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",i,15);case 26:return wy(e,"〇一二三四五六七八九","十百千万","マイナス",i,0);case 25:return wy(e,"零壱弐参四伍六七八九","拾百千万","マイナス",i,7);case 31:return wy(e,"영일이삼사오육칠팔구","십백천만","마이너스",a,7);case 33:return wy(e,"零一二三四五六七八九","十百千萬","마이너스",a,0);case 32:return wy(e,"零壹貳參四五六七八九","拾百千","마이너스",a,7);case 18:return yy(e,2406,2415,!0,r);case 20:return hy(e,1,19999,vy,3,r);case 21:return yy(e,2790,2799,!0,r);case 22:return yy(e,2662,2671,!0,r);case 22:return hy(e,1,10999,dy,3,r);case 23:return my(e,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return my(e,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return yy(e,3302,3311,!0,r);case 28:return my(e,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",i);case 29:return my(e,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",i);case 34:return yy(e,3792,3801,!0,r);case 37:return yy(e,6160,6169,!0,r);case 38:return yy(e,4160,4169,!0,r);case 39:return yy(e,2918,2927,!0,r);case 40:return yy(e,1776,1785,!0,r);case 43:return yy(e,3046,3055,!0,r);case 44:return yy(e,3174,3183,!0,r);case 45:return yy(e,3664,3673,!0,r);case 46:return yy(e,3872,3881,!0,r);default:return yy(e,48,57,!0,r)}},Ey=function(){function e(e,t,n){if(this.context=e,this.options=n,this.scrolledElements=[],this.referenceElement=t,this.counters=new fy,this.quoteDepth=0,!t.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(t.ownerDocument.documentElement,!1)}return e.prototype.toIFrame=function(e,t){var n=this,r=by(e,t);if(!r.contentWindow)return Promise.reject("Unable to find iframe window");var i=e.defaultView.pageXOffset,a=e.defaultView.pageYOffset,s=r.contentWindow,o=s.document,l=Ry(r).then((function(){return jp(n,void 0,void 0,(function(){var e,n;return Vp(this,(function(i){switch(i.label){case 0:return this.scrolledElements.forEach(Sy),s&&(s.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||s.scrollY===t.top&&s.scrollX===t.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(s.scrollX-t.left,s.scrollY-t.top,0,0))),e=this.options.onclone,void 0===(n=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:o.fonts&&o.fonts.ready?[4,o.fonts.ready]:[3,2];case 1:i.sent(),i.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,Py(o)]:[3,4];case 3:i.sent(),i.label=4;case 4:return"function"==typeof e?[2,Promise.resolve().then((function(){return e(o,n)})).then((function(){return r}))]:[2,r]}}))}))}));return o.open(),o.write(By(document.doctype)+""),Oy(this.referenceElement.ownerDocument,i,a),o.replaceChild(o.adoptNode(this.documentElement),o.documentElement),o.close(),l},e.prototype.createElementClone=function(e){if(Yh(e,2),ny(e))return this.createCanvasClone(e);if(ry(e))return this.createVideoClone(e);if(sy(e))return this.createStyleClone(e);var t=e.cloneNode(!1);return iy(t)&&(iy(e)&&e.currentSrc&&e.currentSrc!==e.src&&(t.src=e.currentSrc,t.srcset=""),"lazy"===t.loading&&(t.loading="eager")),cy(t)?this.createCustomElementClone(t):t},e.prototype.createCustomElementClone=function(e){var t=document.createElement("html2canvascustomelement");return _y(e.style,t),t},e.prototype.createStyleClone=function(e){try{var t=e.sheet;if(t&&t.cssRules){var n=[].slice.call(t.cssRules,0).reduce((function(e,t){return t&&"string"==typeof t.cssText?e+t.cssText:e}),""),r=e.cloneNode(!1);return r.textContent=n,r}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return e.cloneNode(!1)},e.prototype.createCanvasClone=function(e){var t;if(this.options.inlineImages&&e.ownerDocument){var n=e.ownerDocument.createElement("img");try{return n.src=e.toDataURL(),n}catch(t){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",e)}}var r=e.cloneNode(!1);try{r.width=e.width,r.height=e.height;var i=e.getContext("2d"),a=r.getContext("2d");if(a)if(!this.options.allowTaint&&i)a.putImageData(i.getImageData(0,0,e.width,e.height),0,0);else{var s=null!==(t=e.getContext("webgl2"))&&void 0!==t?t:e.getContext("webgl");if(s){var o=s.getContextAttributes();!1===(null==o?void 0:o.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",e)}a.drawImage(e,0,0)}return r}catch(t){this.context.logger.info("Unable to clone canvas as it is tainted",e)}return r},e.prototype.createVideoClone=function(e){var t=e.ownerDocument.createElement("canvas");t.width=e.offsetWidth,t.height=e.offsetHeight;var n=t.getContext("2d");try{return n&&(n.drawImage(e,0,0,t.width,t.height),this.options.allowTaint||n.getImageData(0,0,t.width,t.height)),t}catch(t){this.context.logger.info("Unable to clone video as it is tainted",e)}var r=e.ownerDocument.createElement("canvas");return r.width=e.offsetWidth,r.height=e.offsetHeight,r},e.prototype.appendChildNode=function(e,t,n){YI(t)&&(function(e){return"SCRIPT"===e.tagName}(t)||t.hasAttribute("data-html2canvas-ignore")||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(t))||this.options.copyStyles&&YI(t)&&sy(t)||e.appendChild(this.cloneNode(t,n))},e.prototype.cloneChildNodes=function(e,t,n){for(var r=this,i=e.shadowRoot?e.shadowRoot.firstChild:e.firstChild;i;i=i.nextSibling)if(YI(i)&&uy(i)&&"function"==typeof i.assignedNodes){var a=i.assignedNodes();a.length&&a.forEach((function(e){return r.appendChildNode(t,e,n)}))}else this.appendChildNode(t,i,n)},e.prototype.cloneNode=function(e,t){if(KI(e))return document.createTextNode(e.data);if(!e.ownerDocument)return e.cloneNode(!1);var n=e.ownerDocument.defaultView;if(n&&YI(e)&&(XI(e)||qI(e))){var r=this.createElementClone(e);r.style.transitionProperty="none";var i=n.getComputedStyle(e),a=n.getComputedStyle(e,":before"),s=n.getComputedStyle(e,":after");this.referenceElement===e&&XI(r)&&(this.clonedReferenceElement=r),ty(r)&&My(r);var o=this.counters.parse(new zh(this.context,i)),l=this.resolvePseudoContent(e,r,a,iI.BEFORE);cy(e)&&(t=!0),ry(e)||this.cloneChildNodes(e,r,t),l&&r.insertBefore(l,r.firstChild);var u=this.resolvePseudoContent(e,r,s,iI.AFTER);return u&&r.appendChild(u),this.counters.pop(o),(i&&(this.options.copyStyles||qI(e))&&!ay(e)||t)&&_y(i,r),0===e.scrollTop&&0===e.scrollLeft||this.scrolledElements.push([r,e.scrollLeft,e.scrollTop]),(oy(e)||ly(e))&&(oy(r)||ly(r))&&(r.value=e.value),r}return e.cloneNode(!1)},e.prototype.resolvePseudoContent=function(e,t,n,r){var i=this;if(n){var a=n.content,s=t.ownerDocument;if(s&&a&&"none"!==a&&"-moz-alt-content"!==a&&"none"!==n.display){this.counters.parse(new zh(this.context,n));var o=new Wh(this.context,n),l=s.createElement("html2canvaspseudoelement");_y(n,l),o.content.forEach((function(t){if(0===t.type)l.appendChild(s.createTextNode(t.value));else if(22===t.type){var n=s.createElement("img");n.src=t.value,n.style.opacity="1",l.appendChild(n)}else if(18===t.type){if("attr"===t.name){var r=t.values.filter(Dd);r.length&&l.appendChild(s.createTextNode(e.getAttribute(r[0].value)||""))}else if("counter"===t.name){var a=t.values.filter(_d),u=a[0],c=a[1];if(u&&Dd(u)){var f=i.counters.getCounterValue(u.value),p=c&&Dd(c)?$v.parse(i.context,c.value):3;l.appendChild(s.createTextNode(gy(f,p,!1)))}}else if("counters"===t.name){var A=t.values.filter(_d),d=(u=A[0],A[1]);c=A[2];if(u&&Dd(u)){var v=i.counters.getCounterValues(u.value),h=c&&Dd(c)?$v.parse(i.context,c.value):3,I=d&&0===d.type?d.value:"",y=v.map((function(e){return gy(e,h,!1)})).join(I);l.appendChild(s.createTextNode(y))}}}else if(20===t.type)switch(t.value){case"open-quote":l.appendChild(s.createTextNode(Uh(o.quotes,i.quoteDepth++,!0)));break;case"close-quote":l.appendChild(s.createTextNode(Uh(o.quotes,--i.quoteDepth,!1)));break;default:l.appendChild(s.createTextNode(t.value))}})),l.className=Ny+" "+Ly;var u=r===iI.BEFORE?" "+Ny:" "+Ly;return qI(t)?t.className.baseValue+=u:t.className+=u,l}}},e.destroy=function(e){return!!e.parentNode&&(e.parentNode.removeChild(e),!0)},e}();!function(e){e[e.BEFORE=0]="BEFORE",e[e.AFTER=1]="AFTER"}(iI||(iI={}));var Ty,by=function(e,t){var n=e.createElement("iframe");return n.className="html2canvas-container",n.style.visibility="hidden",n.style.position="fixed",n.style.left="-10000px",n.style.top="0px",n.style.border="0",n.width=t.width.toString(),n.height=t.height.toString(),n.scrolling="no",n.setAttribute("data-html2canvas-ignore","true"),e.body.appendChild(n),n},Dy=function(e){return new Promise((function(t){e.complete?t():e.src?(e.onload=t,e.onerror=t):t()}))},Py=function(e){return Promise.all([].slice.call(e.images,0).map(Dy))},Ry=function(e){return new Promise((function(t,n){var r=e.contentWindow;if(!r)return n("No window assigned for iframe");var i=r.document;r.onload=e.onload=function(){r.onload=e.onload=null;var n=setInterval((function(){i.body.childNodes.length>0&&"complete"===i.readyState&&(clearInterval(n),t(e))}),50)}}))},Cy=["all","d","content"],_y=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e.item(n);-1===Cy.indexOf(r)&&t.style.setProperty(r,e.getPropertyValue(r))}return t},By=function(e){var t="";return e&&(t+=""),t},Oy=function(e,t,n){e&&e.defaultView&&(t!==e.defaultView.pageXOffset||n!==e.defaultView.pageYOffset)&&e.defaultView.scrollTo(t,n)},Sy=function(e){var t=e[0],n=e[1],r=e[2];t.scrollLeft=n,t.scrollTop=r},Ny="___html2canvas___pseudoelement_before",Ly="___html2canvas___pseudoelement_after",My=function(e){xy(e,"."+Ny+':before{\n content: "" !important;\n display: none !important;\n}\n .'+Ly+':after{\n content: "" !important;\n display: none !important;\n}')},xy=function(e,t){var n=e.ownerDocument;if(n){var r=n.createElement("style");r.textContent=t,e.appendChild(r)}},Fy=function(){function e(){}return e.getOrigin=function(t){var n=e._link;return n?(n.href=t,n.href=n.href,n.protocol+n.hostname+n.port):"about:blank"},e.isSameOrigin=function(t){return e.getOrigin(t)===e._origin},e.setContext=function(t){e._link=t.document.createElement("a"),e._origin=e.getOrigin(t.location.href)},e._origin="about:blank",e}(),Hy=function(){function e(e,t){this.context=e,this._options=t,this._cache={}}return e.prototype.addImage=function(e){var t=Promise.resolve();return this.has(e)?t:Wy(e)||jy(e)?((this._cache[e]=this.loadImage(e)).catch((function(){})),t):t},e.prototype.match=function(e){return this._cache[e]},e.prototype.loadImage=function(e){return jp(this,void 0,void 0,(function(){var t,n,r,i,a=this;return Vp(this,(function(s){switch(s.label){case 0:return t=Fy.isSameOrigin(e),n=!Vy(e)&&!0===this._options.useCORS&&II.SUPPORT_CORS_IMAGES&&!t,r=!Vy(e)&&!t&&!Wy(e)&&"string"==typeof this._options.proxy&&II.SUPPORT_CORS_XHR&&!n,t||!1!==this._options.allowTaint||Vy(e)||Wy(e)||r||n?(i=e,r?[4,this.proxy(i)]:[3,2]):[2];case 1:i=s.sent(),s.label=2;case 2:return this.context.logger.debug("Added image "+e.substring(0,256)),[4,new Promise((function(e,t){var r=new Image;r.onload=function(){return e(r)},r.onerror=t,(Qy(i)||n)&&(r.crossOrigin="anonymous"),r.src=i,!0===r.complete&&setTimeout((function(){return e(r)}),500),a._options.imageTimeout>0&&setTimeout((function(){return t("Timed out ("+a._options.imageTimeout+"ms) loading image")}),a._options.imageTimeout)}))];case 3:return[2,s.sent()]}}))}))},e.prototype.has=function(e){return void 0!==this._cache[e]},e.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},e.prototype.proxy=function(e){var t=this,n=this._options.proxy;if(!n)throw new Error("No proxy defined");var r=e.substring(0,256);return new Promise((function(i,a){var s=II.SUPPORT_RESPONSE_TYPE?"blob":"text",o=new XMLHttpRequest;o.onload=function(){if(200===o.status)if("text"===s)i(o.response);else{var e=new FileReader;e.addEventListener("load",(function(){return i(e.result)}),!1),e.addEventListener("error",(function(e){return a(e)}),!1),e.readAsDataURL(o.response)}else a("Failed to proxy resource "+r+" with status code "+o.status)},o.onerror=a;var l=n.indexOf("?")>-1?"&":"?";if(o.open("GET",""+n+l+"url="+encodeURIComponent(e)+"&responseType="+s),"text"!==s&&o instanceof XMLHttpRequest&&(o.responseType=s),t._options.imageTimeout){var u=t._options.imageTimeout;o.timeout=u,o.ontimeout=function(){return a("Timed out ("+u+"ms) proxying "+r)}}o.send()}))},e}(),Uy=/^data:image\/svg\+xml/i,Gy=/^data:image\/.*;base64,/i,ky=/^data:image\/.*/i,jy=function(e){return II.SUPPORT_SVG_DRAWING||!zy(e)},Vy=function(e){return ky.test(e)},Qy=function(e){return Gy.test(e)},Wy=function(e){return"blob"===e.substr(0,4)},zy=function(e){return"svg"===e.substr(-3).toLowerCase()||Uy.test(e)},Ky=function(){function e(e,t){this.type=0,this.x=e,this.y=t}return e.prototype.add=function(t,n){return new e(this.x+t,this.y+n)},e}(),Yy=function(e,t,n){return new Ky(e.x+(t.x-e.x)*n,e.y+(t.y-e.y)*n)},Xy=function(){function e(e,t,n,r){this.type=1,this.start=e,this.startControl=t,this.endControl=n,this.end=r}return e.prototype.subdivide=function(t,n){var r=Yy(this.start,this.startControl,t),i=Yy(this.startControl,this.endControl,t),a=Yy(this.endControl,this.end,t),s=Yy(r,i,t),o=Yy(i,a,t),l=Yy(s,o,t);return n?new e(this.start,r,s,l):new e(l,o,a,this.end)},e.prototype.add=function(t,n){return new e(this.start.add(t,n),this.startControl.add(t,n),this.endControl.add(t,n),this.end.add(t,n))},e.prototype.reverse=function(){return new e(this.end,this.endControl,this.startControl,this.start)},e}(),qy=function(e){return 1===e.type},Jy=function(e){var t=e.styles,n=e.bounds,r=Hd(t.borderTopLeftRadius,n.width,n.height),i=r[0],a=r[1],s=Hd(t.borderTopRightRadius,n.width,n.height),o=s[0],l=s[1],u=Hd(t.borderBottomRightRadius,n.width,n.height),c=u[0],f=u[1],p=Hd(t.borderBottomLeftRadius,n.width,n.height),A=p[0],d=p[1],v=[];v.push((i+o)/n.width),v.push((A+c)/n.width),v.push((a+d)/n.height),v.push((l+f)/n.height);var h=Math.max.apply(Math,v);h>1&&(i/=h,a/=h,o/=h,l/=h,c/=h,f/=h,A/=h,d/=h);var I=n.width-o,y=n.height-f,m=n.width-c,w=n.height-d,g=t.borderTopWidth,E=t.borderRightWidth,T=t.borderBottomWidth,b=t.borderLeftWidth,D=Ud(t.paddingTop,e.bounds.width),P=Ud(t.paddingRight,e.bounds.width),R=Ud(t.paddingBottom,e.bounds.width),C=Ud(t.paddingLeft,e.bounds.width);this.topLeftBorderDoubleOuterBox=i>0||a>0?Zy(n.left+b/3,n.top+g/3,i-b/3,a-g/3,Ty.TOP_LEFT):new Ky(n.left+b/3,n.top+g/3),this.topRightBorderDoubleOuterBox=i>0||a>0?Zy(n.left+I,n.top+g/3,o-E/3,l-g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/3,n.top+g/3),this.bottomRightBorderDoubleOuterBox=c>0||f>0?Zy(n.left+m,n.top+y,c-E/3,f-T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/3,n.top+n.height-T/3),this.bottomLeftBorderDoubleOuterBox=A>0||d>0?Zy(n.left+b/3,n.top+w,A-b/3,d-T/3,Ty.BOTTOM_LEFT):new Ky(n.left+b/3,n.top+n.height-T/3),this.topLeftBorderDoubleInnerBox=i>0||a>0?Zy(n.left+2*b/3,n.top+2*g/3,i-2*b/3,a-2*g/3,Ty.TOP_LEFT):new Ky(n.left+2*b/3,n.top+2*g/3),this.topRightBorderDoubleInnerBox=i>0||a>0?Zy(n.left+I,n.top+2*g/3,o-2*E/3,l-2*g/3,Ty.TOP_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+2*g/3),this.bottomRightBorderDoubleInnerBox=c>0||f>0?Zy(n.left+m,n.top+y,c-2*E/3,f-2*T/3,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-2*E/3,n.top+n.height-2*T/3),this.bottomLeftBorderDoubleInnerBox=A>0||d>0?Zy(n.left+2*b/3,n.top+w,A-2*b/3,d-2*T/3,Ty.BOTTOM_LEFT):new Ky(n.left+2*b/3,n.top+n.height-2*T/3),this.topLeftBorderStroke=i>0||a>0?Zy(n.left+b/2,n.top+g/2,i-b/2,a-g/2,Ty.TOP_LEFT):new Ky(n.left+b/2,n.top+g/2),this.topRightBorderStroke=i>0||a>0?Zy(n.left+I,n.top+g/2,o-E/2,l-g/2,Ty.TOP_RIGHT):new Ky(n.left+n.width-E/2,n.top+g/2),this.bottomRightBorderStroke=c>0||f>0?Zy(n.left+m,n.top+y,c-E/2,f-T/2,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E/2,n.top+n.height-T/2),this.bottomLeftBorderStroke=A>0||d>0?Zy(n.left+b/2,n.top+w,A-b/2,d-T/2,Ty.BOTTOM_LEFT):new Ky(n.left+b/2,n.top+n.height-T/2),this.topLeftBorderBox=i>0||a>0?Zy(n.left,n.top,i,a,Ty.TOP_LEFT):new Ky(n.left,n.top),this.topRightBorderBox=o>0||l>0?Zy(n.left+I,n.top,o,l,Ty.TOP_RIGHT):new Ky(n.left+n.width,n.top),this.bottomRightBorderBox=c>0||f>0?Zy(n.left+m,n.top+y,c,f,Ty.BOTTOM_RIGHT):new Ky(n.left+n.width,n.top+n.height),this.bottomLeftBorderBox=A>0||d>0?Zy(n.left,n.top+w,A,d,Ty.BOTTOM_LEFT):new Ky(n.left,n.top+n.height),this.topLeftPaddingBox=i>0||a>0?Zy(n.left+b,n.top+g,Math.max(0,i-b),Math.max(0,a-g),Ty.TOP_LEFT):new Ky(n.left+b,n.top+g),this.topRightPaddingBox=o>0||l>0?Zy(n.left+Math.min(I,n.width-E),n.top+g,I>n.width+E?0:Math.max(0,o-E),Math.max(0,l-g),Ty.TOP_RIGHT):new Ky(n.left+n.width-E,n.top+g),this.bottomRightPaddingBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-b),n.top+Math.min(y,n.height-T),Math.max(0,c-E),Math.max(0,f-T),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-E,n.top+n.height-T),this.bottomLeftPaddingBox=A>0||d>0?Zy(n.left+b,n.top+Math.min(w,n.height-T),Math.max(0,A-b),Math.max(0,d-T),Ty.BOTTOM_LEFT):new Ky(n.left+b,n.top+n.height-T),this.topLeftContentBox=i>0||a>0?Zy(n.left+b+C,n.top+g+D,Math.max(0,i-(b+C)),Math.max(0,a-(g+D)),Ty.TOP_LEFT):new Ky(n.left+b+C,n.top+g+D),this.topRightContentBox=o>0||l>0?Zy(n.left+Math.min(I,n.width+b+C),n.top+g+D,I>n.width+b+C?0:o-b+C,l-(g+D),Ty.TOP_RIGHT):new Ky(n.left+n.width-(E+P),n.top+g+D),this.bottomRightContentBox=c>0||f>0?Zy(n.left+Math.min(m,n.width-(b+C)),n.top+Math.min(y,n.height+g+D),Math.max(0,c-(E+P)),f-(T+R),Ty.BOTTOM_RIGHT):new Ky(n.left+n.width-(E+P),n.top+n.height-(T+R)),this.bottomLeftContentBox=A>0||d>0?Zy(n.left+b+C,n.top+w,Math.max(0,A-(b+C)),d-(T+R),Ty.BOTTOM_LEFT):new Ky(n.left+b+C,n.top+n.height-(T+R))};!function(e){e[e.TOP_LEFT=0]="TOP_LEFT",e[e.TOP_RIGHT=1]="TOP_RIGHT",e[e.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",e[e.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(Ty||(Ty={}));var Zy=function(e,t,n,r,i){var a=(Math.sqrt(2)-1)/3*4,s=n*a,o=r*a,l=e+n,u=t+r;switch(i){case Ty.TOP_LEFT:return new Xy(new Ky(e,u),new Ky(e,u-o),new Ky(l-s,t),new Ky(l,t));case Ty.TOP_RIGHT:return new Xy(new Ky(e,t),new Ky(e+s,t),new Ky(l,u-o),new Ky(l,u));case Ty.BOTTOM_RIGHT:return new Xy(new Ky(l,t),new Ky(l,t+o),new Ky(e+s,u),new Ky(e,u));case Ty.BOTTOM_LEFT:default:return new Xy(new Ky(l,u),new Ky(l-s,u),new Ky(e,t+o),new Ky(e,t))}},$y=function(e){return[e.topLeftBorderBox,e.topRightBorderBox,e.bottomRightBorderBox,e.bottomLeftBorderBox]},em=function(e){return[e.topLeftPaddingBox,e.topRightPaddingBox,e.bottomRightPaddingBox,e.bottomLeftPaddingBox]},tm=function(e,t,n){this.offsetX=e,this.offsetY=t,this.matrix=n,this.type=0,this.target=6},nm=function(e,t){this.path=e,this.target=t,this.type=1},rm=function(e){this.opacity=e,this.type=2,this.target=6},im=function(e){return 1===e.type},am=function(e,t){return e.length===t.length&&e.some((function(e,n){return e===t[n]}))},sm=function(e){this.element=e,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},om=function(){function e(e,t){if(this.container=e,this.parent=t,this.effects=[],this.curves=new Jy(this.container),this.container.styles.opacity<1&&this.effects.push(new rm(this.container.styles.opacity)),null!==this.container.styles.transform){var n=this.container.bounds.left+this.container.styles.transformOrigin[0].number,r=this.container.bounds.top+this.container.styles.transformOrigin[1].number,i=this.container.styles.transform;this.effects.push(new tm(n,r,i))}if(0!==this.container.styles.overflowX){var a=$y(this.curves),s=em(this.curves);am(a,s)?this.effects.push(new nm(a,6)):(this.effects.push(new nm(a,2)),this.effects.push(new nm(s,4)))}}return e.prototype.getEffects=function(e){for(var t=-1===[2,3].indexOf(this.container.styles.position),n=this.parent,r=this.effects.slice(0);n;){var i=n.effects.filter((function(e){return!im(e)}));if(t||0!==n.container.styles.position||!n.parent){if(r.unshift.apply(r,i),t=-1===[2,3].indexOf(n.container.styles.position),0!==n.container.styles.overflowX){var a=$y(n.curves),s=em(n.curves);am(a,s)||r.unshift(new nm(s,6))}}else r.unshift.apply(r,i);n=n.parent}return r.filter((function(t){return Nh(t.target,e)}))},e}(),lm=function e(t,n,r,i){t.container.elements.forEach((function(a){var s=Nh(a.flags,4),o=Nh(a.flags,2),l=new om(a,t);Nh(a.styles.display,2048)&&i.push(l);var u=Nh(a.flags,8)?[]:i;if(s||o){var c=s||a.styles.isPositioned()?r:n,f=new sm(l);if(a.styles.isPositioned()||a.styles.opacity<1||a.styles.isTransformed()){var p=a.styles.zIndex.order;if(p<0){var A=0;c.negativeZIndex.some((function(e,t){return p>e.element.container.styles.zIndex.order?(A=t,!1):A>0})),c.negativeZIndex.splice(A,0,f)}else if(p>0){var d=0;c.positiveZIndex.some((function(e,t){return p>=e.element.container.styles.zIndex.order?(d=t+1,!1):d>0})),c.positiveZIndex.splice(d,0,f)}else c.zeroOrAutoZIndexOrTransformedOrOpacity.push(f)}else a.styles.isFloating()?c.nonPositionedFloats.push(f):c.nonPositionedInlineLevel.push(f);e(l,f,s?f:r,u)}else a.styles.isInlineLevel()?n.inlineLevel.push(l):n.nonInlineLevel.push(l),e(l,n,r,u);Nh(a.flags,8)&&um(a,u)}))},um=function(e,t){for(var n=e instanceof NI?e.start:1,r=e instanceof NI&&e.reversed,i=0;i0&&e.intrinsicHeight>0){var r=vm(e),i=em(t);this.path(i),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(n,0,0,e.intrinsicWidth,e.intrinsicHeight,r.left,r.top,r.width,r.height),this.ctx.restore()}},t.prototype.renderNodeContent=function(e){return jp(this,void 0,void 0,(function(){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m;return Vp(this,(function(w){switch(w.label){case 0:this.applyEffects(e.getEffects(4)),n=e.container,r=e.curves,i=n.styles,a=0,s=n.textNodes,w.label=1;case 1:return a0&&T>0&&(I=r.ctx.createPattern(d,"repeat"),r.renderRepeat(m,I,D,P))):function(e){return 2===e.type}(n)&&(y=hm(e,t,[null,null,null]),m=y[0],w=y[1],g=y[2],E=y[3],T=y[4],b=0===n.position.length?[xd]:n.position,D=Ud(b[0],E),P=Ud(b[b.length-1],T),R=function(e,t,n,r,i){var a=0,s=0;switch(e.size){case 0:0===e.shape?a=s=Math.min(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.min(Math.abs(t),Math.abs(t-r)),s=Math.min(Math.abs(n),Math.abs(n-i)));break;case 2:if(0===e.shape)a=s=Math.min(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){var o=Math.min(Math.abs(n),Math.abs(n-i))/Math.min(Math.abs(t),Math.abs(t-r)),l=ov(r,i,t,n,!0),u=l[0],c=l[1];s=o*(a=sv(u-t,(c-n)/o))}break;case 1:0===e.shape?a=s=Math.max(Math.abs(t),Math.abs(t-r),Math.abs(n),Math.abs(n-i)):1===e.shape&&(a=Math.max(Math.abs(t),Math.abs(t-r)),s=Math.max(Math.abs(n),Math.abs(n-i)));break;case 3:if(0===e.shape)a=s=Math.max(sv(t,n),sv(t,n-i),sv(t-r,n),sv(t-r,n-i));else if(1===e.shape){o=Math.max(Math.abs(n),Math.abs(n-i))/Math.max(Math.abs(t),Math.abs(t-r));var f=ov(r,i,t,n,!1);u=f[0],c=f[1],s=o*(a=sv(u-t,(c-n)/o))}}return Array.isArray(e.size)&&(a=Ud(e.size[0],r),s=2===e.size.length?Ud(e.size[1],i):a),[a,s]}(n,D,P,E,T),C=R[0],_=R[1],C>0&&_>0&&(B=r.ctx.createRadialGradient(w+D,g+P,0,w+D,g+P,C),iv(n.stops,2*C).forEach((function(e){return B.addColorStop(e.stop,zd(e.color))})),r.path(m),r.ctx.fillStyle=B,C!==_?(O=e.bounds.left+.5*e.bounds.width,S=e.bounds.top+.5*e.bounds.height,L=1/(N=_/C),r.ctx.save(),r.ctx.translate(O,S),r.ctx.transform(1,0,0,N,0,0),r.ctx.translate(-O,-S),r.ctx.fillRect(w,L*(g-S)+S,E,T*L),r.ctx.restore()):r.ctx.fill())),M.label=6;case 6:return t--,[2]}}))},r=this,i=0,a=e.styles.backgroundImage.slice(0).reverse(),o.label=1;case 1:return i0?2!==l.style?[3,5]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,2)]:[3,11]:[3,13];case 4:return c.sent(),[3,11];case 5:return 3!==l.style?[3,7]:[4,this.renderDashedDottedBorder(l.color,l.width,a,e.curves,3)];case 6:return c.sent(),[3,11];case 7:return 4!==l.style?[3,9]:[4,this.renderDoubleBorder(l.color,l.width,a,e.curves)];case 8:return c.sent(),[3,11];case 9:return[4,this.renderSolidBorder(l.color,a,e.curves)];case 10:c.sent(),c.label=11;case 11:a++,c.label=12;case 12:return s++,[3,3];case 13:return[2]}}))}))},t.prototype.renderDashedDottedBorder=function(e,t,n,r,i){return jp(this,void 0,void 0,(function(){var a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w;return Vp(this,(function(g){return this.ctx.save(),a=function(e,t){switch(t){case 0:return pm(e.topLeftBorderStroke,e.topRightBorderStroke);case 1:return pm(e.topRightBorderStroke,e.bottomRightBorderStroke);case 2:return pm(e.bottomRightBorderStroke,e.bottomLeftBorderStroke);default:return pm(e.bottomLeftBorderStroke,e.topLeftBorderStroke)}}(r,n),s=fm(r,n),2===i&&(this.path(s),this.ctx.clip()),qy(s[0])?(o=s[0].start.x,l=s[0].start.y):(o=s[0].x,l=s[0].y),qy(s[1])?(u=s[1].end.x,c=s[1].end.y):(u=s[1].x,c=s[1].y),f=0===n||2===n?Math.abs(o-u):Math.abs(l-c),this.ctx.beginPath(),3===i?this.formatPath(a):this.formatPath(s.slice(0,2)),p=t<3?3*t:2*t,A=t<3?2*t:t,3===i&&(p=t,A=t),d=!0,f<=2*p?d=!1:f<=2*p+A?(p*=v=f/(2*p+A),A*=v):(h=Math.floor((f+A)/(p+A)),I=(f-h*p)/(h-1),A=(y=(f-(h+1)*p)/h)<=0||Math.abs(A-I)0&&void 0!==arguments[0]?arguments[0]:{},t=!this._snapshotBegun,n=void 0!==e.width&&void 0!==e.height,r=this.scene.canvas.canvas,i=r.clientWidth,a=r.clientHeight,s=e.width?Math.floor(e.width):r.width,o=e.height?Math.floor(e.height):r.height;n&&(r.width=s,r.height=o),this._snapshotBegun||this.beginSnapshot({width:s,height:o}),e.includeGizmos||this.sendToPlugins("snapshotStarting");for(var l={},u=0,c=this._plugins.length;u0&&void 0!==g[0]?g[0]:{},n=!this._snapshotBegun,r=void 0!==t.width&&void 0!==t.height,i=this.scene.canvas.canvas,a=i.clientWidth,s=i.clientHeight,l=t.width?Math.floor(t.width):i.width,u=t.height?Math.floor(t.height):i.height,r&&(i.width=l,i.height=u),this._snapshotBegun||this.beginSnapshot(),t.includeGizmos||this.sendToPlugins("snapshotStarting"),this.scene._renderer.renderSnapshot(),c=this.scene._renderer.readSnapshotAsCanvas(),r&&(i.width=a,i.height=s,this.scene.glRedraw()),f={},p=[],A=0,d=this._plugins.length;A1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=n||new Set;if(e){if(nw(e))r.add(e);else if(nw(e.buffer))r.add(e.buffer);else if(ArrayBuffer.isView(e));else if(t&&"object"===T(e))for(var i in e)tw(e[i],t,r)}else;return void 0===n?Array.from(r):[]}function nw(e){return!!e&&(e instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&e instanceof MessagePort||("undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&e instanceof OffscreenCanvas)))}var rw=function(){},iw=function(){function e(t){b(this,e),Xm(this,"name",void 0),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"terminated",!1),Xm(this,"worker",void 0),Xm(this,"onMessage",void 0),Xm(this,"onError",void 0),Xm(this,"_loadableURL","");var n=t.name,r=t.source,i=t.url;jm(r||i),this.name=n,this.source=r,this.url=i,this.onMessage=rw,this.onError=function(e){return console.log(e)},this.worker=Wm?this._createBrowserWorker():this._createNodeWorker()}return P(e,[{key:"destroy",value:function(){this.onMessage=rw,this.onError=rw,this.worker.terminate(),this.terminated=!0}},{key:"isRunning",get:function(){return Boolean(this.onMessage)}},{key:"postMessage",value:function(e,t){t=t||tw(e),this.worker.postMessage(e,t)}},{key:"_getErrorFromErrorEvent",value:function(e){var t="Failed to load ";return t+="worker ".concat(this.name," from ").concat(this.url,". "),e.message&&(t+="".concat(e.message," in ")),e.lineno&&(t+=":".concat(e.lineno,":").concat(e.colno)),new Error(t)}},{key:"_createBrowserWorker",value:function(){var e=this;this._loadableURL=$m({source:this.source,url:this.url});var t=new Worker(this._loadableURL,{name:this.name});return t.onmessage=function(t){t.data?e.onMessage(t.data):e.onError(new Error("No data received"))},t.onerror=function(t){e.onError(e._getErrorFromErrorEvent(t)),e.terminated=!0},t.onmessageerror=function(e){return console.error(e)},t}},{key:"_createNodeWorker",value:function(){var e,t=this;if(this.url){var n=this.url.includes(":/")||this.url.startsWith("/")?this.url:"./".concat(this.url);e=new Jm(n,{eval:!1})}else{if(!this.source)throw new Error("no worker");e=new Jm(this.source,{eval:!0})}return e.on("message",(function(e){t.onMessage(e)})),e.on("error",(function(e){t.onError(e)})),e.on("exit",(function(e){})),e}}],[{key:"isSupported",value:function(){return"undefined"!=typeof Worker&&Wm||void 0!==T(Jm)}}]),e}(),aw=function(){function e(t){b(this,e),Xm(this,"name","unnamed"),Xm(this,"source",void 0),Xm(this,"url",void 0),Xm(this,"maxConcurrency",1),Xm(this,"maxMobileConcurrency",1),Xm(this,"onDebug",(function(){})),Xm(this,"reuseWorkers",!0),Xm(this,"props",{}),Xm(this,"jobQueue",[]),Xm(this,"idleQueue",[]),Xm(this,"count",0),Xm(this,"isDestroyed",!1),this.source=t.source,this.url=t.url,this.setProps(t)}var t,n;return P(e,[{key:"destroy",value:function(){this.idleQueue.forEach((function(e){return e.destroy()})),this.isDestroyed=!0}},{key:"setProps",value:function(e){this.props=a(a({},this.props),e),void 0!==e.name&&(this.name=e.name),void 0!==e.maxConcurrency&&(this.maxConcurrency=e.maxConcurrency),void 0!==e.maxMobileConcurrency&&(this.maxMobileConcurrency=e.maxMobileConcurrency),void 0!==e.reuseWorkers&&(this.reuseWorkers=e.reuseWorkers),void 0!==e.onDebug&&(this.onDebug=e.onDebug)}},{key:"startJob",value:(n=u(o().mark((function e(t){var n,r,i,a=this,s=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=s.length>1&&void 0!==s[1]?s[1]:function(e,t,n){return e.done(n)},r=s.length>2&&void 0!==s[2]?s[2]:function(e,t){return e.error(t)},i=new Promise((function(e){return a.jobQueue.push({name:t,onMessage:n,onError:r,onStart:e}),a})),this._startQueuedJob(),e.next=6,i;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"_startQueuedJob",value:(t=u(o().mark((function e(){var t,n,r;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.jobQueue.length){e.next=2;break}return e.abrupt("return");case 2:if(t=this._getAvailableWorker()){e.next=5;break}return e.abrupt("return");case 5:if(!(n=this.jobQueue.shift())){e.next=18;break}return this.onDebug({message:"Starting job",name:n.name,workerThread:t,backlog:this.jobQueue.length}),r=new qm(n.name,t),t.onMessage=function(e){return n.onMessage(r,e.type,e.payload)},t.onError=function(e){return n.onError(r,e)},n.onStart(r),e.prev=12,e.next=15,r.result;case 15:return e.prev=15,this.returnWorkerToQueue(t),e.finish(15);case 18:case"end":return e.stop()}}),e,this,[[12,,15,18]])}))),function(){return t.apply(this,arguments)})},{key:"returnWorkerToQueue",value:function(e){this.isDestroyed||!this.reuseWorkers||this.count>this._getMaxConcurrency()?(e.destroy(),this.count--):this.idleQueue.push(e),this.isDestroyed||this._startQueuedJob()}},{key:"_getAvailableWorker",value:function(){if(this.idleQueue.length>0)return this.idleQueue.shift()||null;if(this.count0&&void 0!==arguments[0]?arguments[0]:{};return e._workerFarm=e._workerFarm||new e({}),e._workerFarm.setProps(t),e._workerFarm}}]),e}();Xm(ow,"_workerFarm",void 0);function lw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t[e.id]||{},r="".concat(e.id,"-worker.js"),i=n.workerUrl;if(i||"compression"!==e.id||(i=t.workerUrl),"test"===t._workerType&&(i="modules/".concat(e.module,"/dist/").concat(r)),!i){var a=e.version;"latest"===a&&(a="latest");var s=a?"@".concat(a):"";i="https://unpkg.com/@loaders.gl/".concat(e.module).concat(s,"/dist/").concat(r)}return jm(i),i}function uw(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"3.2.6";jm(e,"no worker provided");var n=e.version;return!(!t||!n)}var cw=Object.freeze({__proto__:null,default:{}}),fw={};function pw(e){return Aw.apply(this,arguments)}function Aw(){return Aw=u(o().mark((function e(t){var n,r,i=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.length>1&&void 0!==i[1]?i[1]:null,r=i.length>2&&void 0!==i[2]?i[2]:{},n&&(t=dw(t,n,r)),fw[t]=fw[t]||vw(t),e.next=6,fw[t];case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),Aw.apply(this,arguments)}function dw(e,t,n){if(e.startsWith("http"))return e;var r=n.modules||{};return r[e]?r[e]:Wm?n.CDN?(jm(n.CDN.startsWith("http")),"".concat(n.CDN,"/").concat(t,"@").concat("3.2.6","/dist/libs/").concat(e)):zm?"../src/libs/".concat(e):"modules/".concat(t,"/src/libs/").concat(e):"modules/".concat(t,"/dist/libs/").concat(e)}function vw(e){return hw.apply(this,arguments)}function hw(){return(hw=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.endsWith("wasm")){e.next=7;break}return e.next=3,fetch(t);case 3:return n=e.sent,e.next=6,n.arrayBuffer();case 6:return e.abrupt("return",e.sent);case 7:if(Wm){e.next=20;break}if(e.prev=8,e.t0=cw&&void 0,!e.t0){e.next=14;break}return e.next=13,(void 0)(t);case 13:e.t0=e.sent;case 14:return e.abrupt("return",e.t0);case 17:return e.prev=17,e.t1=e.catch(8),e.abrupt("return",null);case 20:if(!zm){e.next=22;break}return e.abrupt("return",importScripts(t));case 22:return e.next=24,fetch(t);case 24:return r=e.sent,e.next=27,r.text();case 27:return i=e.sent,e.abrupt("return",Iw(i,t));case 29:case"end":return e.stop()}}),e,null,[[8,17]])})))).apply(this,arguments)}function Iw(e,t){if(Wm){if(zm)return eval.call(Qm,e),null;var n=document.createElement("script");n.id=t;try{n.appendChild(document.createTextNode(e))}catch(t){n.text=e}return document.body.appendChild(n),null}}function yw(e,t){return!!ow.isSupported()&&(!!(Wm||null!=t&&t._nodeWorkers)&&(e.worker&&(null==t?void 0:t.worker)))}function mw(e,t,n,r,i){return ww.apply(this,arguments)}function ww(){return ww=u(o().mark((function e(t,n,r,i,a){var s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=t.id,l=lw(t,r),u=ow.getWorkerFarm(r),c=u.getWorkerPool({name:s,url:l}),r=JSON.parse(JSON.stringify(r)),i=JSON.parse(JSON.stringify(i||{})),e.next=8,c.startJob("process-on-worker",gw.bind(null,a));case 8:return(f=e.sent).postMessage("process",{input:n,options:r,context:i}),e.next=12,f.result;case 12:return p=e.sent,e.next=15,p.result;case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e)}))),ww.apply(this,arguments)}function gw(e,t,n,r){return Ew.apply(this,arguments)}function Ew(){return(Ew=u(o().mark((function e(t,n,r,i){var a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=r,e.next="done"===e.t0?3:"error"===e.t0?5:"process"===e.t0?7:20;break;case 3:return n.done(i),e.abrupt("break",21);case 5:return n.error(new Error(i.error)),e.abrupt("break",21);case 7:return a=i.id,s=i.input,l=i.options,e.prev=8,e.next=11,t(s,l);case 11:u=e.sent,n.postMessage("done",{id:a,result:u}),e.next=19;break;case 15:e.prev=15,e.t1=e.catch(8),c=e.t1 instanceof Error?e.t1.message:"unknown error",n.postMessage("error",{id:a,error:c});case 19:return e.abrupt("break",21);case 20:console.warn("parse-with-worker unknown message ".concat(r));case 21:case"end":return e.stop()}}),e,null,[[8,15]])})))).apply(this,arguments)}function Tw(e,t,n){if(e.byteLength<=t+n)return"";for(var r=new DataView(e),i="",a=0;a1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return Tw(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){return Tw(e,0,t)}return""}(e),'"'))}}function Dw(e){return e&&"object"===T(e)&&e.isBuffer}function Pw(e){if(Dw(e))return Dw(t=e)?new Uint8Array(t.buffer,t.byteOffset,t.length).slice().buffer:t;var t;if(e instanceof ArrayBuffer)return e;if(ArrayBuffer.isView(e))return 0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength);if("string"==typeof e){var n=e;return(new TextEncoder).encode(n).buffer}if(e&&"object"===T(e)&&e._toArrayBuffer)return e._toArrayBuffer();throw new Error("toArrayBuffer")}function Rw(){for(var e=arguments.length,t=new Array(e),n=0;n=0),Um(t>0),e+(t-1)&~(t-1)}function Bw(e,t,n){var r;if(e instanceof ArrayBuffer)r=new Uint8Array(e);else{var i=e.byteOffset,a=e.byteLength;r=new Uint8Array(e.buffer||e.arrayBuffer,i,a)}return t.set(r,n),n+_w(r.byteLength,4)}function Ow(e){return Sw.apply(this,arguments)}function Sw(){return(Sw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=[],r=!1,i=!1,e.prev=3,s=O(t);case 5:return e.next=7,s.next();case 7:if(!(r=!(l=e.sent).done)){e.next=13;break}u=l.value,n.push(u);case 10:r=!1,e.next=5;break;case 13:e.next=19;break;case 15:e.prev=15,e.t0=e.catch(3),i=!0,a=e.t0;case 19:if(e.prev=19,e.prev=20,!r||null==s.return){e.next=24;break}return e.next=24,s.return();case 24:if(e.prev=24,!i){e.next=27;break}throw a;case 27:return e.finish(24);case 28:return e.finish(19);case 29:return e.abrupt("return",Rw.apply(void 0,n));case 30:case"end":return e.stop()}}),e,null,[[3,15,19,29],[20,,24,28]])})))).apply(this,arguments)}var Nw={};function Lw(e){for(var t in Nw)if(e.startsWith(t)){var n=Nw[t];e=e.replace(t,n)}return e.startsWith("http://")||e.startsWith("https://")||(e="".concat("").concat(e)),e}var Mw=function(e){return"function"==typeof e},xw=function(e){return null!==e&&"object"===T(e)},Fw=function(e){return xw(e)&&e.constructor==={}.constructor},Hw=function(e){return e&&"function"==typeof e[Symbol.iterator]},Uw=function(e){return e&&"function"==typeof e[Symbol.asyncIterator]},Gw=function(e){return"undefined"!=typeof Response&&e instanceof Response||e&&e.arrayBuffer&&e.text&&e.json},kw=function(e){return"undefined"!=typeof Blob&&e instanceof Blob},jw=function(e){return function(e){return"undefined"!=typeof ReadableStream&&e instanceof ReadableStream||xw(e)&&Mw(e.tee)&&Mw(e.cancel)&&Mw(e.getReader)}(e)||function(e){return xw(e)&&Mw(e.read)&&Mw(e.pipe)&&function(e){return"boolean"==typeof e}(e.readable)}(e)},Vw=/^data:([-\w.]+\/[-\w.+]+)(;|,)/,Qw=/^([-\w.]+\/[-\w.+]+)/;function Ww(e){var t=Qw.exec(e);return t?t[1]:e}function zw(e){var t=Vw.exec(e);return t?t[1]:""}var Kw=/\?.*/;function Yw(e){if(Gw(e)){var t=qw(e.url||"");return{url:t,type:Ww(e.headers.get("content-type")||"")||zw(t)}}return kw(e)?{url:qw(e.name||""),type:e.type||""}:"string"==typeof e?{url:qw(e),type:zw(e)}:{url:"",type:""}}function Xw(e){return Gw(e)?e.headers["content-length"]||-1:kw(e)?e.size:"string"==typeof e?e.length:e instanceof ArrayBuffer||ArrayBuffer.isView(e)?e.byteLength:-1}function qw(e){return e.replace(Kw,"")}function Jw(e){return Zw.apply(this,arguments)}function Zw(){return(Zw=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!Gw(t)){e.next=2;break}return e.abrupt("return",t);case 2:return n={},(r=Xw(t))>=0&&(n["content-length"]=String(r)),i=Yw(t),a=i.url,(s=i.type)&&(n["content-type"]=s),e.next=9,rg(t);case 9:return(l=e.sent)&&(n["x-first-bytes"]=l),"string"==typeof t&&(t=(new TextEncoder).encode(t)),u=new Response(t,{headers:n}),Object.defineProperty(u,"url",{value:a}),e.abrupt("return",u);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $w(e){return eg.apply(this,arguments)}function eg(){return(eg=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,tg(t);case 3:throw n=e.sent,new Error(n);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tg(e){return ng.apply(this,arguments)}function ng(){return(ng=u(o().mark((function e(t){var n,r,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n="Failed to fetch resource ".concat(t.url," (").concat(t.status,"): "),e.prev=1,r=t.headers.get("Content-Type"),i=t.statusText,!r.includes("application/json")){e.next=11;break}return e.t0=i,e.t1=" ",e.next=9,t.text();case 9:e.t2=e.sent,i=e.t0+=e.t1.concat.call(e.t1,e.t2);case 11:n=(n+=i).length>60?"".concat(n.slice(0,60),"..."):n,e.next=17;break;case 15:e.prev=15,e.t3=e.catch(1);case 17:return e.abrupt("return",n);case 18:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function rg(e){return ig.apply(this,arguments)}function ig(){return(ig=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=5,"string"!=typeof t){e.next=3;break}return e.abrupt("return","data:,".concat(t.slice(0,n)));case 3:if(!(t instanceof Blob)){e.next=8;break}return r=t.slice(0,5),e.next=7,new Promise((function(e){var t=new FileReader;t.onload=function(t){var n;return e(null==t||null===(n=t.target)||void 0===n?void 0:n.result)},t.readAsDataURL(r)}));case 7:return e.abrupt("return",e.sent);case 8:if(!(t instanceof ArrayBuffer)){e.next=12;break}return i=t.slice(0,n),a=ag(i),e.abrupt("return","data:base64,".concat(a));case 12:return e.abrupt("return",null);case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ag(e){for(var t="",n=new Uint8Array(e),r=0;r=0)}();function Ag(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}var dg=function(){function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";b(this,e),this.storage=Ag(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function vg(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}var hg={BLACK:30,RED:31,GREEN:32,YELLOW:33,BLUE:34,MAGENTA:35,CYAN:36,WHITE:37,BRIGHT_BLACK:90,BRIGHT_RED:91,BRIGHT_GREEN:92,BRIGHT_YELLOW:93,BRIGHT_BLUE:94,BRIGHT_MAGENTA:95,BRIGHT_CYAN:96,BRIGHT_WHITE:97};function Ig(e){return"string"==typeof e?hg[e.toUpperCase()]||hg.WHITE:e}function yg(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function mg(e,t){if(!e)throw new Error(t||"Assertion failed")}function wg(){var e;if(pg&&ug.performance)e=ug.performance.now();else if(cg.hrtime){var t=cg.hrtime();e=1e3*t[0]+t[1]/1e6}else e=Date.now();return e}var gg={debug:pg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},Eg={enabled:!0,level:0};function Tg(){}var bg={},Dg={once:!0};function Pg(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}var Rg=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;b(this,e),this.id=n,this.VERSION=fg,this._startTs=wg(),this._deltaTs=wg(),this.LOG_THROTTLE_TIMEOUT=0,this._storage=new dg("__probe-".concat(this.id,"__"),Eg),this.userData={},this.timeStamp("".concat(this.id," started")),yg(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((wg()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((wg()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"assert",value:function(e,t){mg(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,gg.warn,arguments,Dg)}},{key:"error",value:function(e){return this._getLogFunction(0,e,gg.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,gg.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,gg.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){return this._getLogFunction(e,t,gg.debug||gg.info,arguments,Dg)}},{key:"table",value:function(e,t,n){return t?this._getLogFunction(e,t,console.table||Tg,n&&[n],{tag:Pg(t)}):Tg}},{key:"image",value:function(e){function t(t){return e.apply(this,arguments)}return t.toString=function(){return e.toString()},t}((function(e){var t=e.logLevel,n=e.priority,r=e.image,i=e.message,a=void 0===i?"":i,s=e.scale,o=void 0===s?1:s;return this._shouldLog(t||n)?pg?function(e){var t=e.image,n=e.message,r=void 0===n?"":n,i=e.scale,a=void 0===i?1:i;if("string"==typeof t){var s=new Image;return s.onload=function(){var e,t=vg(s,r,a);(e=console).log.apply(e,c(t))},s.src=t,Tg}var o=t.nodeName||"";if("img"===o.toLowerCase()){var l;return(l=console).log.apply(l,c(vg(t,r,a))),Tg}if("canvas"===o.toLowerCase()){var u=new Image;return u.onload=function(){var e;return(e=console).log.apply(e,c(vg(u,r,a)))},u.src=t.toDataURL(),Tg}return Tg}({image:r,message:a,scale:o}):function(e){var t=e.image,n=(e.message,e.scale),r=void 0===n?1:n,i=null;try{i=module.require("asciify-image")}catch(e){}if(i)return function(){return i(t,{fit:"box",width:"".concat(Math.round(80*r),"%")}).then((function(e){return console.log(e)}))};return Tg}({image:r,message:a,scale:o}):Tg}))},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"time",value:function(e,t){return this._getLogFunction(e,t,console.time?console.time:console.info)}},{key:"timeEnd",value:function(e,t){return this._getLogFunction(e,t,console.timeEnd?console.timeEnd:console.info)}},{key:"timeStamp",value:function(e,t){return this._getLogFunction(e,t,console.timeStamp||Tg)}},{key:"group",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=n=_g({logLevel:e,message:t,opts:n}),i=r.collapsed;return n.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(n)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||Tg)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=Cg(e)}},{key:"_getLogFunction",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0;if(this._shouldLog(e)){var a;i=_g({logLevel:e,message:t,args:r,opts:i}),mg(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=wg();var s=i.tag||i.message;if(i.once){if(bg[s])return Tg;bg[s]=wg()}return t=Bg(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return Tg}}]),e}();function Cg(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return mg(Number.isFinite(t)&&t>=0),t}function _g(e){var t=e.logLevel,n=e.message;e.logLevel=Cg(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(e.args=r,T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return mg("string"===i||"object"===i),Object.assign(e,e.opts)}function Bg(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return pg||"string"!=typeof e||(t&&(t=Ig(t),e="[".concat(t,"m").concat(e,"")),n&&(t=Ig(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}Rg.VERSION=fg;var Og=new Rg({id:"loaders.gl"}),Sg=function(){function e(){b(this,e)}return P(e,[{key:"log",value:function(){return function(){}}},{key:"info",value:function(){return function(){}}},{key:"warn",value:function(){return function(){}}},{key:"error",value:function(){return function(){}}}]),e}(),Ng={fetch:null,mimeType:void 0,nothrow:!1,log:new(function(){function e(){b(this,e),Xm(this,"console",void 0),this.console=console}return P(e,[{key:"log",value:function(){for(var e,t=arguments.length,n=new Array(t),r=0;r=0)}()}var zg={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:"undefined"!=typeof global&&global,document:"undefined"!=typeof document&&document,process:"object"===("undefined"==typeof process?"undefined":T(process))&&process},Kg=zg.window||zg.self||zg.global,Yg=zg.process||{},Xg="undefined"!=typeof __VERSION__?__VERSION__:"untranspiled source";function qg(e){try{var t=window[e],n="__storage_test__";return t.setItem(n,n),t.removeItem(n),t}catch(e){return null}}Wg();var Jg,Zg=function(){function e(t){b(this,e);var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"sessionStorage";Xm(this,"storage",void 0),Xm(this,"id",void 0),Xm(this,"config",{}),this.storage=qg(r),this.id=t,this.config={},Object.assign(this.config,n),this._loadConfiguration()}return P(e,[{key:"getConfiguration",value:function(){return this.config}},{key:"setConfiguration",value:function(e){return this.config={},this.updateConfiguration(e)}},{key:"updateConfiguration",value:function(e){if(Object.assign(this.config,e),this.storage){var t=JSON.stringify(this.config);this.storage.setItem(this.id,t)}return this}},{key:"_loadConfiguration",value:function(){var e={};if(this.storage){var t=this.storage.getItem(this.id);e=t?JSON.parse(t):{}}return Object.assign(this.config,e),this}}]),e}();function $g(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:600,i=e.src.replace(/\(/g,"%28").replace(/\)/g,"%29");e.width>r&&(n=Math.min(n,r/e.width));var a=e.width*n,s=e.height*n,o=["font-size:1px;","padding:".concat(Math.floor(s/2),"px ").concat(Math.floor(a/2),"px;"),"line-height:".concat(s,"px;"),"background:url(".concat(i,");"),"background-size:".concat(a,"px ").concat(s,"px;"),"color:transparent;"].join("");return["".concat(t," %c+"),o]}function eE(e){return"string"==typeof e?Jg[e.toUpperCase()]||Jg.WHITE:e}function tE(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["constructor"],r=Object.getPrototypeOf(e),i=Object.getOwnPropertyNames(r),a=f(i);try{var s=function(){var r=t.value;"function"==typeof e[r]&&(n.find((function(e){return r===e}))||(e[r]=e[r].bind(e)))};for(a.s();!(t=a.n()).done;)s()}catch(e){a.e(e)}finally{a.f()}}function nE(e,t){if(!e)throw new Error(t||"Assertion failed")}function rE(){var e,t,n;if(Wg&&"performance"in Kg)e=null==Kg||null===(t=Kg.performance)||void 0===t||null===(n=t.now)||void 0===n?void 0:n.call(t);else if("hrtime"in Yg){var r,i=null==Yg||null===(r=Yg.hrtime)||void 0===r?void 0:r.call(Yg);e=1e3*i[0]+i[1]/1e6}else e=Date.now();return e}!function(e){e[e.BLACK=30]="BLACK",e[e.RED=31]="RED",e[e.GREEN=32]="GREEN",e[e.YELLOW=33]="YELLOW",e[e.BLUE=34]="BLUE",e[e.MAGENTA=35]="MAGENTA",e[e.CYAN=36]="CYAN",e[e.WHITE=37]="WHITE",e[e.BRIGHT_BLACK=90]="BRIGHT_BLACK",e[e.BRIGHT_RED=91]="BRIGHT_RED",e[e.BRIGHT_GREEN=92]="BRIGHT_GREEN",e[e.BRIGHT_YELLOW=93]="BRIGHT_YELLOW",e[e.BRIGHT_BLUE=94]="BRIGHT_BLUE",e[e.BRIGHT_MAGENTA=95]="BRIGHT_MAGENTA",e[e.BRIGHT_CYAN=96]="BRIGHT_CYAN",e[e.BRIGHT_WHITE=97]="BRIGHT_WHITE"}(Jg||(Jg={}));var iE={debug:Wg&&console.debug||console.log,log:console.log,info:console.info,warn:console.warn,error:console.error},aE={enabled:!0,level:0};function sE(){}var oE={},lE={once:!0},uE=function(){function e(){b(this,e);var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{id:""},n=t.id;Xm(this,"id",void 0),Xm(this,"VERSION",Xg),Xm(this,"_startTs",rE()),Xm(this,"_deltaTs",rE()),Xm(this,"_storage",void 0),Xm(this,"userData",{}),Xm(this,"LOG_THROTTLE_TIMEOUT",0),this.id=n,this._storage=new Zg("__probe-".concat(this.id,"__"),aE),this.userData={},this.timeStamp("".concat(this.id," started")),tE(this),Object.seal(this)}return P(e,[{key:"level",get:function(){return this.getLevel()},set:function(e){this.setLevel(e)}},{key:"isEnabled",value:function(){return this._storage.config.enabled}},{key:"getLevel",value:function(){return this._storage.config.level}},{key:"getTotal",value:function(){return Number((rE()-this._startTs).toPrecision(10))}},{key:"getDelta",value:function(){return Number((rE()-this._deltaTs).toPrecision(10))}},{key:"priority",get:function(){return this.level},set:function(e){this.level=e}},{key:"getPriority",value:function(){return this.level}},{key:"enable",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._storage.updateConfiguration({enabled:e}),this}},{key:"setLevel",value:function(e){return this._storage.updateConfiguration({level:e}),this}},{key:"get",value:function(e){return this._storage.config[e]}},{key:"set",value:function(e,t){this._storage.updateConfiguration(s({},e,t))}},{key:"settings",value:function(){console.table?console.table(this._storage.config):console.log(this._storage.config)}},{key:"assert",value:function(e,t){nE(e,t)}},{key:"warn",value:function(e){return this._getLogFunction(0,e,iE.warn,arguments,lE)}},{key:"error",value:function(e){return this._getLogFunction(0,e,iE.error,arguments)}},{key:"deprecated",value:function(e,t){return this.warn("`".concat(e,"` is deprecated and will be removed in a later version. Use `").concat(t,"` instead"))}},{key:"removed",value:function(e,t){return this.error("`".concat(e,"` has been removed. Use `").concat(t,"` instead"))}},{key:"probe",value:function(e,t){return this._getLogFunction(e,t,iE.log,arguments,{time:!0,once:!0})}},{key:"log",value:function(e,t){return this._getLogFunction(e,t,iE.debug,arguments)}},{key:"info",value:function(e,t){return this._getLogFunction(e,t,console.info,arguments)}},{key:"once",value:function(e,t){for(var n=arguments.length,r=new Array(n>2?n-2:0),i=2;i2&&void 0!==arguments[2]?arguments[2]:{collapsed:!1},r=fE({logLevel:e,message:t,opts:n}),i=n.collapsed;return r.method=(i?console.groupCollapsed:console.group)||console.info,this._getLogFunction(r)}},{key:"groupCollapsed",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.group(e,t,Object.assign({},n,{collapsed:!0}))}},{key:"groupEnd",value:function(e){return this._getLogFunction(e,"",console.groupEnd||sE)}},{key:"withGroup",value:function(e,t,n){this.group(e,t)();try{n()}finally{this.groupEnd(e)()}}},{key:"trace",value:function(){console.trace&&console.trace()}},{key:"_shouldLog",value:function(e){return this.isEnabled()&&this.getLevel()>=cE(e)}},{key:"_getLogFunction",value:function(e,t,n,r,i){if(this._shouldLog(e)){var a;i=fE({logLevel:e,message:t,args:r,opts:i}),nE(n=n||i.method),i.total=this.getTotal(),i.delta=this.getDelta(),this._deltaTs=rE();var s=i.tag||i.message;if(i.once){if(oE[s])return sE;oE[s]=rE()}return t=function(e,t,n){if("string"==typeof t){var r=n.time?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8,n=Math.max(t-e.length,0);return"".concat(" ".repeat(n)).concat(e)}((i=n.total)<10?"".concat(i.toFixed(2),"ms"):i<100?"".concat(i.toFixed(1),"ms"):i<1e3?"".concat(i.toFixed(0),"ms"):"".concat((i/1e3).toFixed(2),"s")):"";t=function(e,t,n){return Wg||"string"!=typeof e||(t&&(t=eE(t),e="[".concat(t,"m").concat(e,"")),n&&(t=eE(n),e="[".concat(n+10,"m").concat(e,""))),e}(t=n.time?"".concat(e,": ").concat(r," ").concat(t):"".concat(e,": ").concat(t),n.color,n.background)}var i;return t}(this.id,i.message,i),(a=n).bind.apply(a,[console,t].concat(c(i.args)))}return sE}}]),e}();function cE(e){if(!e)return 0;var t;switch(T(e)){case"number":t=e;break;case"object":t=e.logLevel||e.priority||0;break;default:return 0}return nE(Number.isFinite(t)&&t>=0),t}function fE(e){var t=e.logLevel,n=e.message;e.logLevel=cE(t);for(var r=e.args?Array.from(e.args):[];r.length&&r.shift()!==n;);switch(T(t)){case"string":case"function":void 0!==n&&r.unshift(n),e.message=t;break;case"object":Object.assign(e,t)}"function"==typeof e.message&&(e.message=e.message());var i=T(e.message);return nE("string"===i||"object"===i),Object.assign(e,{args:r},e.opts)}function pE(e){for(var t in e)for(var n in e[t])return n||"untitled";return"empty"}Xm(uE,"VERSION",Xg);var AE=new uE({id:"loaders.gl"}),dE=/\.([^.]+)$/;function vE(e){return hE.apply(this,arguments)}function hE(){return hE=u(o().mark((function e(t){var n,r,i,s,l=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:[],r=l.length>2?l[2]:void 0,i=l.length>3?l[3]:void 0,mE(t)){e.next=5;break}return e.abrupt("return",null);case 5:if(!(s=IE(t,n,a(a({},r),{},{nothrow:!0}),i))){e.next=8;break}return e.abrupt("return",s);case 8:if(!kw(t)){e.next=13;break}return e.next=11,t.slice(0,10).arrayBuffer();case 11:t=e.sent,s=IE(t,n,r,i);case 13:if(s||null!=r&&r.nothrow){e.next=15;break}throw new Error(wE(t));case 15:return e.abrupt("return",s);case 16:case"end":return e.stop()}}),e)}))),hE.apply(this,arguments)}function IE(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if(!mE(e))return null;if(t&&!Array.isArray(t))return Vg(t);var i,a=[];(t&&(a=a.concat(t)),null!=n&&n.ignoreRegisteredLoaders)||(i=a).push.apply(i,c(Qg()));gE(a);var s=yE(e,a,n,r);if(!(s||null!=n&&n.nothrow))throw new Error(wE(e));return s}function yE(e,t,n,r){var i,a=Yw(e),s=a.url,o=a.type,l=s||(null==r?void 0:r.url),u=null,c="";(null!=n&&n.mimeType&&(u=EE(t,null==n?void 0:n.mimeType),c="match forced by supplied MIME type ".concat(null==n?void 0:n.mimeType)),u=u||function(e,t){var n=t&&dE.exec(t),r=n&&n[1];return r?function(e,t){t=t.toLowerCase();var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i,a=n.value,s=f(a.extensions);try{for(s.s();!(i=s.n()).done;){if(i.value.toLowerCase()===t)return a}}catch(e){s.e(e)}finally{s.f()}}}catch(e){r.e(e)}finally{r.f()}return null}(e,r):null}(t,l),c=c||(u?"matched url ".concat(l):""),u=u||EE(t,o),c=c||(u?"matched MIME type ".concat(o):""),u=u||function(e,t){if(!t)return null;var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if("string"==typeof t){if(TE(t,i))return i}else if(ArrayBuffer.isView(t)){if(bE(t.buffer,t.byteOffset,i))return i}else if(t instanceof ArrayBuffer){if(bE(t,0,i))return i}}}catch(e){r.e(e)}finally{r.f()}return null}(t,e),c=c||(u?"matched initial data ".concat(DE(e)):""),u=u||EE(t,null==n?void 0:n.fallbackMimeType),c=c||(u?"matched fallback MIME type ".concat(o):""))&&AE.log(1,"selectLoader selected ".concat(null===(i=u)||void 0===i?void 0:i.name,": ").concat(c,"."));return u}function mE(e){return!(e instanceof Response&&204===e.status)}function wE(e){var t=Yw(e),n=t.url,r=t.type,i="No valid loader found (";i+=n?"".concat(function(e){var t=e&&e.lastIndexOf("/");return t>=0?e.substr(t+1):""}(n),", "):"no url provided, ",i+="MIME type: ".concat(r?'"'.concat(r,'"'):"not provided",", ");var a=e?DE(e):"";return i+=a?' first bytes: "'.concat(a,'"'):"first bytes: not available",i+=")"}function gE(e){var t,n=f(e);try{for(n.s();!(t=n.n()).done;){Vg(t.value)}}catch(e){n.e(e)}finally{n.f()}}function EE(e,t){var n,r=f(e);try{for(r.s();!(n=r.n()).done;){var i=n.value;if(i.mimeTypes&&i.mimeTypes.includes(t))return i;if(t==="application/x.".concat(i.id))return i}}catch(e){r.e(e)}finally{r.f()}return null}function TE(e,t){return t.testText?t.testText(e):(Array.isArray(t.tests)?t.tests:[t.tests]).some((function(t){return e.startsWith(t)}))}function bE(e,t,n){return(Array.isArray(n.tests)?n.tests:[n.tests]).some((function(r){return function(e,t,n,r){if(r instanceof ArrayBuffer)return function(e,t,n){if(n=n||e.byteLength,e.byteLength1&&void 0!==arguments[1]?arguments[1]:5;if("string"==typeof e)return e.slice(0,t);if(ArrayBuffer.isView(e))return PE(e.buffer,e.byteOffset,t);if(e instanceof ArrayBuffer){var n=0;return PE(e,n,t)}return""}function PE(e,t,n){if(e.byteLength1&&void 0!==c[1]?c[1]:{},r=t.chunkSize,i=void 0===r?262144:r,a=0;case 3:if(!(a2&&void 0!==arguments[2]?arguments[2]:null;if(n)return n;var r=a({fetch:Hg(t,e)},e);return Array.isArray(r.loaders)||(r.loaders=null),r}function UE(e,t){if(!t&&e&&!Array.isArray(e))return e;var n;if(e&&(n=Array.isArray(e)?e:[e]),t&&t.loaders){var r=Array.isArray(t.loaders)?t.loaders:[t.loaders];n=n?[].concat(c(n),c(r)):r}return n&&n.length?n:null}function GE(e,t,n,r){return kE.apply(this,arguments)}function kE(){return(kE=u(o().mark((function e(t,n,r,i){var a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return jm(!i||"object"===T(i)),!n||Array.isArray(n)||jg(n)||(i=void 0,r=n,n=void 0),e.next=4,t;case 4:return t=e.sent,r=r||{},a=Yw(t),s=a.url,l=UE(n,i),e.next=11,vE(t,l,r);case 11:if(u=e.sent){e.next=14;break}return e.abrupt("return",null);case 14:return r=Fg(r,u,l,s),i=HE({url:s,parse:GE,loaders:l},r,i),e.next=18,jE(u,t,r,i);case 18:return e.abrupt("return",e.sent);case 19:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jE(e,t,n,r){return VE.apply(this,arguments)}function VE(){return(VE=u(o().mark((function e(t,n,r,i){var a,s,l,u,c,f,p,A;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return uw(t),Gw(n)&&(s=(a=n).ok,l=a.redirected,u=a.status,c=a.statusText,f=a.type,p=a.url,A=Object.fromEntries(a.headers.entries()),i.response={headers:A,ok:s,redirected:l,status:u,statusText:c,type:f,url:p}),e.next=4,xE(n,t,r);case 4:if(n=e.sent,!t.parseTextSync||"string"!=typeof n){e.next=8;break}return r.dataType="text",e.abrupt("return",t.parseTextSync(n,r,i,t));case 8:if(!yw(t,r)){e.next=12;break}return e.next=11,mw(t,n,r,i,GE);case 11:case 15:case 19:return e.abrupt("return",e.sent);case 12:if(!t.parseText||"string"!=typeof n){e.next=16;break}return e.next=15,t.parseText(n,r,i,t);case 16:if(!t.parse){e.next=20;break}return e.next=19,t.parse(n,r,i,t);case 20:throw jm(!t.parseSync),new Error("".concat(t.id," loader - no parser found and worker is disabled"));case 22:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var QE,WE,zE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.wasm"),KE="https://unpkg.com/@loaders.gl/textures@".concat("3.2.6","/dist/libs/basis_encoder.js");function YE(e){return XE.apply(this,arguments)}function XE(){return(XE=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basis){e.next=3;break}return e.abrupt("return",n.basis);case 3:return QE=QE||qE(t),e.next=6,QE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qE(e){return JE.apply(this,arguments)}function JE(){return(JE=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw("basis_transcoder.js","textures",t);case 5:return e.t1=e.sent,e.next=8,pw("basis_transcoder.wasm","textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,ZE(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ZE(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile;(0,e.initializeBasis)(),t({BasisFile:n})}))}))}function $E(e){return eT.apply(this,arguments)}function eT(){return(eT=u(o().mark((function e(t){var n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=t.modules||{}).basisEncoder){e.next=3;break}return e.abrupt("return",n.basisEncoder);case 3:return WE=WE||tT(t),e.next=6,WE;case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function tT(e){return nT.apply(this,arguments)}function nT(){return(nT=u(o().mark((function e(t){var n,r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,r=null,e.t0=Promise,e.next=5,pw(KE,"textures",t);case 5:return e.t1=e.sent,e.next=8,pw(zE,"textures",t);case 8:return e.t2=e.sent,e.t3=[e.t1,e.t2],e.next=12,e.t0.all.call(e.t0,e.t3);case 12:return i=e.sent,a=p(i,2),n=a[0],r=a[1],n=n||globalThis.BASIS,e.next=19,rT(n,r);case 19:return e.abrupt("return",e.sent);case 20:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rT(e,t){var n={};return t&&(n.wasmBinary=t),new Promise((function(t){e(n).then((function(e){var n=e.BasisFile,r=e.KTX2File,i=e.initializeBasis,a=e.BasisEncoder;i(),t({BasisFile:n,KTX2File:r,BasisEncoder:a})}))}))}var iT,aT,sT,oT,lT,uT,cT,fT,pT,AT=33776,dT=33779,vT=35840,hT=35842,IT=36196,yT=37808,mT=["","WEBKIT_","MOZ_"],wT={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},gT=null;function ET(e){if(!gT){e=e||function(){try{return document.createElement("canvas").getContext("webgl")}catch(e){return null}}()||void 0,gT=new Set;var t,n=f(mT);try{for(n.s();!(t=n.n()).done;){var r=t.value;for(var i in wT)if(e&&e.getExtension("".concat(r).concat(i))){var a=wT[i];gT.add(a)}}}catch(e){n.e(e)}finally{n.f()}}return gT}(pT=iT||(iT={}))[pT.NONE=0]="NONE",pT[pT.BASISLZ=1]="BASISLZ",pT[pT.ZSTD=2]="ZSTD",pT[pT.ZLIB=3]="ZLIB",function(e){e[e.BASICFORMAT=0]="BASICFORMAT"}(aT||(aT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.ETC1S=163]="ETC1S",e[e.UASTC=166]="UASTC"}(sT||(sT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SRGB=1]="SRGB"}(oT||(oT={})),function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.LINEAR=1]="LINEAR",e[e.SRGB=2]="SRGB",e[e.ITU=3]="ITU",e[e.NTSC=4]="NTSC",e[e.SLOG=5]="SLOG",e[e.SLOG2=6]="SLOG2"}(lT||(lT={})),function(e){e[e.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",e[e.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(uT||(uT={})),function(e){e[e.RGB=0]="RGB",e[e.RRR=3]="RRR",e[e.GGG=4]="GGG",e[e.AAA=15]="AAA"}(cT||(cT={})),function(e){e[e.RGB=0]="RGB",e[e.RGBA=3]="RGBA",e[e.RRR=4]="RRR",e[e.RRRG=5]="RRRG"}(fT||(fT={}));var TT=[171,75,84,88,32,50,48,187,13,10,26,10];function bT(e){var t=new Uint8Array(e);return!(t.byteLength1&&void 0!==r[1]?r[1]:null)&&JT||(n=null),!n){e.next=13;break}return e.prev=3,e.next=6,createImageBitmap(t,n);case 6:return e.abrupt("return",e.sent);case 9:e.prev=9,e.t0=e.catch(3),console.warn(e.t0),JT=!1;case 13:return e.next=15,createImageBitmap(t);case 15:return e.abrupt("return",e.sent);case 16:case"end":return e.stop()}}),e,null,[[3,9]])}))),tb.apply(this,arguments)}function nb(e){for(var t in e||qT)return!1;return!0}function rb(e){var t=ib(e);return function(e){var t=ib(e);if(!(t.byteLength>=24&&2303741511===t.getUint32(0,false)))return null;return{mimeType:"image/png",width:t.getUint32(16,false),height:t.getUint32(20,false)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=3&&65496===t.getUint16(0,false)&&255===t.getUint8(2)))return null;var n=function(){for(var e=new Set([65499,65476,65484,65501,65534]),t=65504;t<65520;++t)e.add(t);var n=new Set([65472,65473,65474,65475,65477,65478,65479,65481,65482,65483,65485,65486,65487,65502]);return{tableMarkers:e,sofMarkers:n}}(),r=n.tableMarkers,i=n.sofMarkers,a=2;for(;a+9=10&&1195984440===t.getUint32(0,false)))return null;return{mimeType:"image/gif",width:t.getUint16(6,true),height:t.getUint16(8,true)}}(t)||function(e){var t=ib(e);if(!(t.byteLength>=14&&16973===t.getUint16(0,false)&&t.getUint32(2,true)===t.byteLength))return null;return{mimeType:"image/bmp",width:t.getUint32(18,true),height:t.getUint32(22,true)}}(t)}function ib(e){if(e instanceof DataView)return e;if(ArrayBuffer.isView(e))return new DataView(e.buffer);if(e instanceof ArrayBuffer)return new DataView(e);throw new Error("toDataView")}function ab(e,t){return sb.apply(this,arguments)}function sb(){return sb=u(o().mark((function e(t,n){var r,i,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=rb(t)||{},i=r.mimeType,Um(a=globalThis._parseImageNode),e.next=5,a(t,i);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)}))),sb.apply(this,arguments)}function ob(){return(ob=u(o().mark((function e(t,n,r){var i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=(n=n||{}).image||{},a=i.type||"auto",s=(r||{}).url,l=lb(a),e.t0=l,e.next="imagebitmap"===e.t0?8:"image"===e.t0?12:"data"===e.t0?16:20;break;case 8:return e.next=10,ZT(t,n,s);case 10:return u=e.sent,e.abrupt("break",21);case 12:return e.next=14,zT(t,n,s);case 14:return u=e.sent,e.abrupt("break",21);case 16:return e.next=18,ab(t);case 18:return u=e.sent,e.abrupt("break",21);case 20:Um(!1);case 21:return"data"===a&&(u=GT(u)),e.abrupt("return",u);case 23:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lb(e){switch(e){case"auto":case"data":return function(){if(xT)return"imagebitmap";if(MT)return"image";if(HT)return"data";throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js")}();default:return function(e){switch(e){case"auto":return xT||MT||HT;case"imagebitmap":return xT;case"image":return MT;case"data":return HT;default:throw new Error("@loaders.gl/images: image ".concat(e," not supported in this environment"))}}(e),e}}var ub={id:"image",module:"images",name:"Images",version:"3.2.6",mimeTypes:["image/png","image/jpeg","image/gif","image/webp","image/bmp","image/vnd.microsoft.icon","image/svg+xml"],extensions:["png","jpg","jpeg","gif","webp","bmp","ico","svg"],parse:function(e,t,n){return ob.apply(this,arguments)},tests:[function(e){return Boolean(rb(new DataView(e)))}],options:{image:{type:"auto",decode:!0}}},cb=["image/png","image/jpeg","image/gif"],fb={};function pb(e){return void 0===fb[e]&&(fb[e]=function(e){switch(e){case"image/webp":return function(){if(!Gm)return!1;try{return 0===document.createElement("canvas").toDataURL("image/webp").indexOf("data:image/webp")}catch(e){return!1}}();case"image/svg":return Gm;default:if(!Gm){var t=globalThis._parseImageNode;return Boolean(t)&&cb.includes(e)}return!0}}(e)),fb[e]}function Ab(e,t){if(!e)throw new Error(t||"assert failed: gltf")}function db(e,t){if(e.startsWith("data:")||e.startsWith("http:")||e.startsWith("https:"))return e;var n=t.baseUri||t.uri;if(!n)throw new Error("'baseUri' must be provided to resolve relative url ".concat(e));return n.substr(0,n.lastIndexOf("/")+1)+e}function vb(e,t,n){var r=e.bufferViews[n];Ab(r);var i=t[r.buffer];Ab(i);var a=(r.byteOffset||0)+i.byteOffset;return new Uint8Array(i.arrayBuffer,a,r.byteLength)}var hb=["SCALAR","VEC2","VEC3","VEC4"],Ib=[[Int8Array,5120],[Uint8Array,5121],[Int16Array,5122],[Uint16Array,5123],[Uint32Array,5125],[Float32Array,5126],[Float64Array,5130]],yb=new Map(Ib),mb={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},wb={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},gb={5120:Int8Array,5121:Uint8Array,5122:Int16Array,5123:Uint16Array,5125:Uint32Array,5126:Float32Array};function Eb(e){return hb[e-1]||hb[0]}function Tb(e){var t=yb.get(e.constructor);if(!t)throw new Error("Illegal typed array");return t}function bb(e,t){var n=gb[e.componentType],r=mb[e.type],i=wb[e.componentType],a=e.count*r,s=e.count*r*i;return Ab(s>=0&&s<=t.byteLength),{ArrayType:n,length:a,byteLength:s}}var Db,Pb={asset:{version:"2.0",generator:"loaders.gl"},buffers:[]},Rb=function(){function e(t){b(this,e),Xm(this,"gltf",void 0),Xm(this,"sourceBuffers",void 0),Xm(this,"byteLength",void 0),this.gltf=t||{json:a({},Pb),buffers:[]},this.sourceBuffers=[],this.byteLength=0,this.gltf.buffers&&this.gltf.buffers[0]&&(this.byteLength=this.gltf.buffers[0].byteLength,this.sourceBuffers=[this.gltf.buffers[0]])}return P(e,[{key:"json",get:function(){return this.gltf.json}},{key:"getApplicationData",value:function(e){return this.json[e]}},{key:"getExtraData",value:function(e){return(this.json.extras||{})[e]}},{key:"getExtension",value:function(e){var t=this.getUsedExtensions().find((function(t){return t===e})),n=this.json.extensions||{};return t?n[e]||!0:null}},{key:"getRequiredExtension",value:function(e){var t=this.getRequiredExtensions().find((function(t){return t===e}));return t?this.getExtension(e):null}},{key:"getRequiredExtensions",value:function(){return this.json.extensionsRequired||[]}},{key:"getUsedExtensions",value:function(){return this.json.extensionsUsed||[]}},{key:"getObjectExtension",value:function(e,t){return(e.extensions||{})[t]}},{key:"getScene",value:function(e){return this.getObject("scenes",e)}},{key:"getNode",value:function(e){return this.getObject("nodes",e)}},{key:"getSkin",value:function(e){return this.getObject("skins",e)}},{key:"getMesh",value:function(e){return this.getObject("meshes",e)}},{key:"getMaterial",value:function(e){return this.getObject("materials",e)}},{key:"getAccessor",value:function(e){return this.getObject("accessors",e)}},{key:"getTexture",value:function(e){return this.getObject("textures",e)}},{key:"getSampler",value:function(e){return this.getObject("samplers",e)}},{key:"getImage",value:function(e){return this.getObject("images",e)}},{key:"getBufferView",value:function(e){return this.getObject("bufferViews",e)}},{key:"getBuffer",value:function(e){return this.getObject("buffers",e)}},{key:"getObject",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];if(!n)throw new Error("glTF file error: Could not find ".concat(e,"[").concat(t,"]"));return n}},{key:"getTypedArrayForBufferView",value:function(e){var t=(e=this.getBufferView(e)).buffer,n=this.gltf.buffers[t];Ab(n);var r=(e.byteOffset||0)+n.byteOffset;return new Uint8Array(n.arrayBuffer,r,e.byteLength)}},{key:"getTypedArrayForAccessor",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=bb(e,t),i=r.ArrayType,a=r.length;return new i(n,t.byteOffset+e.byteOffset,a)}},{key:"getTypedArrayForImageData",value:function(e){e=this.getAccessor(e);var t=this.getBufferView(e.bufferView),n=this.getBuffer(t.buffer).data,r=t.byteOffset||0;return new Uint8Array(n,r,t.byteLength)}},{key:"addApplicationData",value:function(e,t){return this.json[e]=t,this}},{key:"addExtraData",value:function(e,t){return this.json.extras=this.json.extras||{},this.json.extras[e]=t,this}},{key:"addObjectExtension",value:function(e,t,n){return e.extensions=e.extensions||{},e.extensions[t]=n,this.registerUsedExtension(t),this}},{key:"setObjectExtension",value:function(e,t,n){(e.extensions||{})[t]=n}},{key:"removeObjectExtension",value:function(e,t){var n=e.extensions||{},r=n[t];return delete n[t],r}},{key:"addExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.json.extensions=this.json.extensions||{},this.json.extensions[e]=t,this.registerUsedExtension(e),t}},{key:"addRequiredExtension",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Ab(t),this.addExtension(e,t),this.registerRequiredExtension(e),t}},{key:"registerUsedExtension",value:function(e){this.json.extensionsUsed=this.json.extensionsUsed||[],this.json.extensionsUsed.find((function(t){return t===e}))||this.json.extensionsUsed.push(e)}},{key:"registerRequiredExtension",value:function(e){this.registerUsedExtension(e),this.json.extensionsRequired=this.json.extensionsRequired||[],this.json.extensionsRequired.find((function(t){return t===e}))||this.json.extensionsRequired.push(e)}},{key:"removeExtension",value:function(e){this.json.extensionsRequired&&this._removeStringFromArray(this.json.extensionsRequired,e),this.json.extensionsUsed&&this._removeStringFromArray(this.json.extensionsUsed,e),this.json.extensions&&delete this.json.extensions[e]}},{key:"setDefaultScene",value:function(e){this.json.scene=e}},{key:"addScene",value:function(e){var t=e.nodeIndices;return this.json.scenes=this.json.scenes||[],this.json.scenes.push({nodes:t}),this.json.scenes.length-1}},{key:"addNode",value:function(e){var t=e.meshIndex,n=e.matrix;this.json.nodes=this.json.nodes||[];var r={mesh:t};return n&&(r.matrix=n),this.json.nodes.push(r),this.json.nodes.length-1}},{key:"addMesh",value:function(e){var t=e.attributes,n=e.indices,r=e.material,i=e.mode,a=void 0===i?4:i,s={primitives:[{attributes:this._addAttributes(t),mode:a}]};if(n){var o=this._addIndices(n);s.primitives[0].indices=o}return Number.isFinite(r)&&(s.primitives[0].material=r),this.json.meshes=this.json.meshes||[],this.json.meshes.push(s),this.json.meshes.length-1}},{key:"addPointCloud",value:function(e){var t={primitives:[{attributes:this._addAttributes(e),mode:0}]};return this.json.meshes=this.json.meshes||[],this.json.meshes.push(t),this.json.meshes.length-1}},{key:"addImage",value:function(e,t){var n=rb(e),r=t||(null==n?void 0:n.mimeType),i={bufferView:this.addBufferView(e),mimeType:r};return this.json.images=this.json.images||[],this.json.images.push(i),this.json.images.length-1}},{key:"addBufferView",value:function(e){var t=e.byteLength;Ab(Number.isFinite(t)),this.sourceBuffers=this.sourceBuffers||[],this.sourceBuffers.push(e);var n={buffer:0,byteOffset:this.byteLength,byteLength:t};return this.byteLength+=_w(t,4),this.json.bufferViews=this.json.bufferViews||[],this.json.bufferViews.push(n),this.json.bufferViews.length-1}},{key:"addAccessor",value:function(e,t){var n={bufferView:e,type:Eb(t.size),componentType:t.componentType,count:t.count,max:t.max,min:t.min};return this.json.accessors=this.json.accessors||[],this.json.accessors.push(n),this.json.accessors.length-1}},{key:"addBinaryBuffer",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{size:3},n=this.addBufferView(e),r={min:t.min,max:t.max};r.min&&r.max||(r=this._getAccessorMinMax(e,t.size));var i={size:t.size,componentType:Tb(e),count:Math.round(e.length/t.size),min:r.min,max:r.max};return this.addAccessor(n,Object.assign(i,t))}},{key:"addTexture",value:function(e){var t={source:e.imageIndex};return this.json.textures=this.json.textures||[],this.json.textures.push(t),this.json.textures.length-1}},{key:"addMaterial",value:function(e){return this.json.materials=this.json.materials||[],this.json.materials.push(e),this.json.materials.length-1}},{key:"createBinaryChunk",value:function(){var e,t;this.gltf.buffers=[];var n,r=this.byteLength,i=new ArrayBuffer(r),a=new Uint8Array(i),s=0,o=f(this.sourceBuffers||[]);try{for(o.s();!(n=o.n()).done;){s=Bw(n.value,a,s)}}catch(e){o.e(e)}finally{o.f()}null!==(e=this.json)&&void 0!==e&&null!==(t=e.buffers)&&void 0!==t&&t[0]?this.json.buffers[0].byteLength=r:this.json.buffers=[{byteLength:r}],this.gltf.binary=i,this.sourceBuffers=[i]}},{key:"_removeStringFromArray",value:function(e,t){for(var n=!0;n;){var r=e.indexOf(t);r>-1?e.splice(r,1):n=!1}}},{key:"_addAttributes",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t={};for(var n in e){var r=e[n],i=this._getGltfAttributeName(n),a=this.addBinaryBuffer(r.value,r);t[i]=a}return t}},{key:"_addIndices",value:function(e){return this.addBinaryBuffer(e,{size:1})}},{key:"_getGltfAttributeName",value:function(e){switch(e.toLowerCase()){case"position":case"positions":case"vertices":return"POSITION";case"normal":case"normals":return"NORMAL";case"color":case"colors":return"COLOR_0";case"texcoord":case"texcoords":return"TEXCOORD_0";default:return e}}},{key:"_getAccessorMinMax",value:function(e,t){var n={min:null,max:null};if(e.length5&&void 0!==u[5]?u[5]:"NONE",e.next=3,xb();case 3:kb(l=e.sent,l.exports[Nb[a]],t,n,r,i,l.exports[Sb[s||"NONE"]]);case 5:case"end":return e.stop()}}),e)}))),Mb.apply(this,arguments)}function xb(){return Fb.apply(this,arguments)}function Fb(){return(Fb=u(o().mark((function e(){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return Db||(Db=Hb()),e.abrupt("return",Db);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Hb(){return Ub.apply(this,arguments)}function Ub(){return(Ub=u(o().mark((function e(){var t,n;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Cb,WebAssembly.validate(Bb)&&(t=_b,console.log("Warning: meshopt_decoder is using experimental SIMD support")),e.next=4,WebAssembly.instantiate(Gb(t),{});case 4:return n=e.sent,e.next=7,n.instance.exports.__wasm_call_ctors();case 7:return e.abrupt("return",n.instance);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gb(e){for(var t=new Uint8Array(e.length),n=0;n96?r-71:r>64?r-65:r>47?r+4:r>46?63:62}for(var i=0,a=0;ai?c:i,a=f>a?f:a,s=p>s?p:s}return[[t,n,r],[i,a,s]]}var qb=function(){function e(t,n){b(this,e),Xm(this,"fields",void 0),Xm(this,"metadata",void 0),function(e,t){if(!e)throw new Error(t||"loader assertion failed.")}(Array.isArray(t)),function(e){var t,n={},r=f(e);try{for(r.s();!(t=r.n()).done;){var i=t.value;n[i.name]&&console.warn("Schema: duplicated field name",i.name,i),n[i.name]=!0}}catch(e){r.e(e)}finally{r.f()}}(t),this.fields=t,this.metadata=n||new Map}return P(e,[{key:"compareTo",value:function(e){if(this.metadata!==e.metadata)return!1;if(this.fields.length!==e.fields.length)return!1;for(var t=0;t2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new Map;b(this,e),Xm(this,"name",void 0),Xm(this,"type",void 0),Xm(this,"nullable",void 0),Xm(this,"metadata",void 0),this.name=t,this.type=n,this.nullable=r,this.metadata=i}return P(e,[{key:"typeId",get:function(){return this.type&&this.type.typeId}},{key:"clone",value:function(){return new e(this.name,this.type,this.nullable,this.metadata)}},{key:"compareTo",value:function(e){return this.name===e.name&&this.type===e.type&&this.nullable===e.nullable&&this.metadata===e.metadata}},{key:"toString",value:function(){return"".concat(this.type).concat(this.nullable?", nullable":"").concat(this.metadata?", metadata: ".concat(this.metadata):"")}}]),e}();!function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth"}(Zb||(Zb={}));var eD=function(){function e(){b(this,e)}return P(e,[{key:"typeId",get:function(){return Zb.NONE}},{key:"compareTo",value:function(e){return this===e}}],[{key:"isNull",value:function(e){return e&&e.typeId===Zb.Null}},{key:"isInt",value:function(e){return e&&e.typeId===Zb.Int}},{key:"isFloat",value:function(e){return e&&e.typeId===Zb.Float}},{key:"isBinary",value:function(e){return e&&e.typeId===Zb.Binary}},{key:"isUtf8",value:function(e){return e&&e.typeId===Zb.Utf8}},{key:"isBool",value:function(e){return e&&e.typeId===Zb.Bool}},{key:"isDecimal",value:function(e){return e&&e.typeId===Zb.Decimal}},{key:"isDate",value:function(e){return e&&e.typeId===Zb.Date}},{key:"isTime",value:function(e){return e&&e.typeId===Zb.Time}},{key:"isTimestamp",value:function(e){return e&&e.typeId===Zb.Timestamp}},{key:"isInterval",value:function(e){return e&&e.typeId===Zb.Interval}},{key:"isList",value:function(e){return e&&e.typeId===Zb.List}},{key:"isStruct",value:function(e){return e&&e.typeId===Zb.Struct}},{key:"isUnion",value:function(e){return e&&e.typeId===Zb.Union}},{key:"isFixedSizeBinary",value:function(e){return e&&e.typeId===Zb.FixedSizeBinary}},{key:"isFixedSizeList",value:function(e){return e&&e.typeId===Zb.FixedSizeList}},{key:"isMap",value:function(e){return e&&e.typeId===Zb.Map}},{key:"isDictionary",value:function(e){return e&&e.typeId===Zb.Dictionary}}]),e}(),tD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"isSigned",void 0),Xm(g(i),"bitWidth",void 0),i.isSigned=e,i.bitWidth=t,i}return P(r,[{key:"typeId",get:function(){return Zb.Int}},{key:t,get:function(){return"Int"}},{key:"toString",value:function(){return"".concat(this.isSigned?"I":"Ui","nt").concat(this.bitWidth)}}]),r}(0,Symbol.toStringTag),nD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,8)}return P(n)}(),rD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,16)}return P(n)}(),iD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!0,32)}return P(n)}(),aD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,8)}return P(n)}(),sD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,16)}return P(n)}(),oD=function(e){I(n,tD);var t=m(n);function n(){return b(this,n),t.call(this,!1,32)}return P(n)}(),lD=32,uD=64,cD=function(e,t){I(r,eD);var n=m(r);function r(e){var t;return b(this,r),Xm(g(t=n.call(this)),"precision",void 0),t.precision=e,t}return P(r,[{key:"typeId",get:function(){return Zb.Float}},{key:t,get:function(){return"Float"}},{key:"toString",value:function(){return"Float".concat(this.precision)}}]),r}(0,Symbol.toStringTag),fD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,lD)}return P(n)}(),pD=function(e){I(n,cD);var t=m(n);function n(){return b(this,n),t.call(this,uD)}return P(n)}(),AD=function(e,t){I(r,eD);var n=m(r);function r(e,t){var i;return b(this,r),Xm(g(i=n.call(this)),"listSize",void 0),Xm(g(i),"children",void 0),i.listSize=e,i.children=[t],i}return P(r,[{key:"typeId",get:function(){return Zb.FixedSizeList}},{key:"valueType",get:function(){return this.children[0].type}},{key:"valueField",get:function(){return this.children[0]}},{key:t,get:function(){return"FixedSizeList"}},{key:"toString",value:function(){return"FixedSizeList[".concat(this.listSize,"]<").concat(this.valueType,">")}}]),r}(0,Symbol.toStringTag);function dD(e,t,n){var r=function(e){switch(e.constructor){case Int8Array:return new nD;case Uint8Array:return new aD;case Int16Array:return new rD;case Uint16Array:return new sD;case Int32Array:return new iD;case Uint32Array:return new oD;case Float32Array:return new fD;case Float64Array:return new pD;default:throw new Error("array type not supported")}}(t.value),i=n||function(e){var t=new Map;"byteOffset"in e&&t.set("byteOffset",e.byteOffset.toString(10));"byteStride"in e&&t.set("byteStride",e.byteStride.toString(10));"normalized"in e&&t.set("normalized",e.normalized.toString());return t}(t);return new $b(e,new AD(t.size,new $b("value",r)),!1,i)}function vD(e,t,n){var r=ID(t.metadata),i=[],a=function(e){var t={};for(var n in e){var r=e[n];t[r.name||"undefined"]=r}return t}(t.attributes);for(var s in e){var o=hD(s,e[s],a[s]);i.push(o)}if(n){var l=hD("indices",n);i.push(l)}return new qb(i,r)}function hD(e,t,n){return dD(e,t,n?ID(n.metadata):void 0)}function ID(e){var t=new Map;for(var n in e)t.set("".concat(n,".string"),JSON.stringify(e[n]));return t}var yD={POSITION:"POSITION",NORMAL:"NORMAL",COLOR:"COLOR_0",TEX_COORD:"TEXCOORD_0"},mD={1:Int8Array,2:Uint8Array,3:Int16Array,4:Uint16Array,5:Int32Array,6:Uint32Array,9:Float32Array},wD=function(){function e(t){b(this,e),Xm(this,"draco",void 0),Xm(this,"decoder",void 0),Xm(this,"metadataQuerier",void 0),this.draco=t,this.decoder=new this.draco.Decoder,this.metadataQuerier=new this.draco.MetadataQuerier}return P(e,[{key:"destroy",value:function(){this.draco.destroy(this.decoder),this.draco.destroy(this.metadataQuerier)}},{key:"parseSync",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=new this.draco.DecoderBuffer;n.Init(new Int8Array(e),e.byteLength),this._disableAttributeTransforms(t);var r=this.decoder.GetEncodedGeometryType(n),i=r===this.draco.TRIANGULAR_MESH?new this.draco.Mesh:new this.draco.PointCloud;try{var s;switch(r){case this.draco.TRIANGULAR_MESH:s=this.decoder.DecodeBufferToMesh(n,i);break;case this.draco.POINT_CLOUD:s=this.decoder.DecodeBufferToPointCloud(n,i);break;default:throw new Error("DRACO: Unknown geometry type.")}if(!s.ok()||!i.ptr){var o="DRACO decompression failed: ".concat(s.error_msg());throw new Error(o)}var l=this._getDracoLoaderData(i,r,t),u=this._getMeshData(i,l,t),c=Xb(u.attributes),f=vD(u.attributes,l,u.indices),p=a(a({loader:"draco",loaderData:l,header:{vertexCount:i.num_points(),boundingBox:c}},u),{},{schema:f});return p}finally{this.draco.destroy(n),i&&this.draco.destroy(i)}}},{key:"_getDracoLoaderData",value:function(e,t,n){var r=this._getTopLevelMetadata(e),i=this._getDracoAttributes(e,n);return{geometry_type:t,num_attributes:e.num_attributes(),num_points:e.num_points(),num_faces:e instanceof this.draco.Mesh?e.num_faces():0,metadata:r,attributes:i}}},{key:"_getDracoAttributes",value:function(e,t){for(var n={},r=0;r2&&void 0!==arguments[2]&&arguments[2];if(!e)return null;if(Array.isArray(e))return new t(e);if(n&&!(e instanceof t))return new t(e);return e}(t,Float32Array)),r=t.length/n);return{buffer:t,size:n,count:r}}(e),n=t.buffer,r=t.size;return{value:n,size:r,byteOffset:0,count:t.count,type:Eb(r),componentType:Tb(n)}}function LD(){return(LD=u(o().mark((function e(t,n,r){var i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=n&&null!==(i=n.gltf)&&void 0!==i&&i.decompressMeshes){e.next=2;break}return e.abrupt("return");case 2:a=new Rb(t),s=[],l=f(UD(a));try{for(l.s();!(u=l.n()).done;)c=u.value,a.getObjectExtension(c,"KHR_draco_mesh_compression")&&s.push(MD(a,c,n,r))}catch(e){l.e(e)}finally{l.f()}return e.next=8,Promise.all(s);case 8:a.removeExtension("KHR_draco_mesh_compression");case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function MD(e,t,n,r){return xD.apply(this,arguments)}function xD(){return xD=u(o().mark((function e(t,n,r,i){var s,l,u,c,f,A,d,v,h,I,y,m,w,g;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=t.getObjectExtension(n,"KHR_draco_mesh_compression")){e.next=3;break}return e.abrupt("return");case 3:return l=t.getTypedArrayForBufferView(s.bufferView),u=Cw(l.buffer,l.byteOffset),c=i.parse,delete(f=a({},r))["3d-tiles"],e.next=10,c(u,BD,f,i);case 10:for(A=e.sent,d=SD(A.attributes),v=0,h=Object.entries(d);v2&&void 0!==arguments[2]?arguments[2]:4,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;if(!i.DracoWriter)throw new Error("options.gltf.DracoWriter not provided");var o=i.DracoWriter.encodeSync({attributes:e}),l=null==a||null===(n=a.parseSync)||void 0===n?void 0:n.call(a,{attributes:e}),u=i._addFauxAttributes(l.attributes),c=i.addBufferView(o),f={primitives:[{attributes:u,mode:r,extensions:s({},"KHR_draco_mesh_compression",{bufferView:c,attributes:u})}]};return f}function HD(e){if(!e.attributes&&Object.keys(e.attributes).length>0)throw new Error("glTF: Empty primitive detected: Draco decompression failure?")}function UD(e){var t,n,i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:t=f(e.json.meshes||[]),r.prev=1,t.s();case 3:if((n=t.n()).done){r.next=24;break}i=n.value,a=f(i.primitives),r.prev=6,a.s();case 8:if((s=a.n()).done){r.next=14;break}return l=s.value,r.next=12,l;case 12:r.next=8;break;case 14:r.next=19;break;case 16:r.prev=16,r.t0=r.catch(6),a.e(r.t0);case 19:return r.prev=19,a.f(),r.finish(19);case 22:r.next=3;break;case 24:r.next=29;break;case 26:r.prev=26,r.t1=r.catch(1),t.e(r.t1);case 29:return r.prev=29,t.f(),r.finish(29);case 32:case"end":return r.stop()}}),r,null,[[1,26,29,32],[6,16,19,22]])}function GD(){return(GD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,(i=n.getExtension("KHR_lights_punctual"))&&(n.json.lights=i.lights,n.removeExtension("KHR_lights_punctual")),a=f(r.nodes||[]);try{for(a.s();!(s=a.n()).done;)l=s.value,(u=n.getObjectExtension(l,"KHR_lights_punctual"))&&(l.light=u.light),n.removeObjectExtension(l,"KHR_lights_punctual")}catch(e){a.e(e)}finally{a.f()}case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function kD(){return(kD=u(o().mark((function e(t){var n,r,i,a,s,l,u;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),(r=n.json).lights&&(Ab(!(i=n.addExtension("KHR_lights_punctual")).lights),i.lights=r.lights,delete r.lights),n.json.lights){a=f(n.json.lights);try{for(a.s();!(s=a.n()).done;)l=s.value,u=l.node,n.addObjectExtension(u,"KHR_lights_punctual",l)}catch(e){a.e(e)}finally{a.f()}delete n.json.lights}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function jD(){return(jD=u(o().mark((function e(t){var n,r,i,a,s;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=new Rb(t),r=n.json,n.removeExtension("KHR_materials_unlit"),i=f(r.materials||[]);try{for(i.s();!(a=i.n()).done;)s=a.value,s.extensions&&s.extensions.KHR_materials_unlit&&(s.unlit=!0),n.removeObjectExtension(s,"KHR_materials_unlit")}catch(e){i.e(e)}finally{i.f()}case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function VD(){return(VD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=new Rb(t),r=n.json,i=n.getExtension("KHR_techniques_webgl")){a=WD(i,n),s=f(r.materials||[]);try{for(s.s();!(l=s.n()).done;)u=l.value,(c=n.getObjectExtension(u,"KHR_techniques_webgl"))&&(u.technique=Object.assign({},c,a[c.technique]),u.technique.values=zD(u.technique,n)),n.removeObjectExtension(u,"KHR_techniques_webgl")}catch(e){s.e(e)}finally{s.f()}n.removeExtension("KHR_techniques_webgl")}case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function QD(){return(QD=u(o().mark((function e(t,n){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function WD(e,t){var n=e.programs,r=void 0===n?[]:n,i=e.shaders,a=void 0===i?[]:i,s=e.techniques,o=void 0===s?[]:s,l=new TextDecoder;return a.forEach((function(e){if(!Number.isFinite(e.bufferView))throw new Error("KHR_techniques_webgl: no shader code");e.code=l.decode(t.getTypedArrayForBufferView(e.bufferView))})),r.forEach((function(e){e.fragmentShader=a[e.fragmentShader],e.vertexShader=a[e.vertexShader]})),o.forEach((function(e){e.program=r[e.program]})),o}function zD(e,t){var n=Object.assign({},e.values);return Object.keys(e.uniforms||{}).forEach((function(t){e.uniforms[t].value&&!(t in n)&&(n[t]=e.uniforms[t].value)})),Object.keys(n).forEach((function(e){"object"===T(n[e])&&void 0!==n[e].index&&(n[e].texture=t.getTexture(n[e].index))})),n}var KD=[Wb,zb,Kb,Object.freeze({__proto__:null,name:"KHR_draco_mesh_compression",preprocess:function(e,t,n){var r,i=new Rb(e),a=f(UD(i));try{for(a.s();!(r=a.n()).done;){var s=r.value;i.getObjectExtension(s,"KHR_draco_mesh_compression")}}catch(e){a.e(e)}finally{a.f()}},decode:function(e,t,n){return LD.apply(this,arguments)},encode:function(e){var t,n=new Rb(e),r=f(n.json.meshes||[]);try{for(r.s();!(t=r.n()).done;){var i=t.value;FD(i),n.addRequiredExtension("KHR_draco_mesh_compression")}}catch(e){r.e(e)}finally{r.f()}}}),Object.freeze({__proto__:null,name:"KHR_lights_punctual",decode:function(e){return GD.apply(this,arguments)},encode:function(e){return kD.apply(this,arguments)}}),Object.freeze({__proto__:null,name:"KHR_materials_unlit",decode:function(e){return jD.apply(this,arguments)},encode:function(e){var t=new Rb(e),n=t.json;if(t.materials){var r,i=f(n.materials||[]);try{for(i.s();!(r=i.n()).done;){var a=r.value;a.unlit&&(delete a.unlit,t.addObjectExtension(a,"KHR_materials_unlit",{}),t.addExtension("KHR_materials_unlit"))}}catch(e){i.e(e)}finally{i.f()}}}}),Object.freeze({__proto__:null,name:"KHR_techniques_webgl",decode:function(e){return VD.apply(this,arguments)},encode:function(e,t){return QD.apply(this,arguments)}})];function YD(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i);try{for(a.s();!(t=a.n()).done;){var s,o=t.value;null===(s=o.preprocess)||void 0===s||s.call(o,e,n,r)}}catch(e){a.e(e)}finally{a.f()}}function XD(e){return qD.apply(this,arguments)}function qD(){return qD=u(o().mark((function e(t){var n,r,i,a,s,l,u,c=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=c.length>1&&void 0!==c[1]?c[1]:{},r=c.length>2?c[2]:void 0,i=KD.filter((function(e){return JD(e.name,n)})),a=f(i),e.prev=4,a.s();case 6:if((s=a.n()).done){e.next=12;break}return l=s.value,e.next=10,null===(u=l.decode)||void 0===u?void 0:u.call(l,t,n,r);case 10:e.next=6;break;case 12:e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),a.e(e.t0);case 17:return e.prev=17,a.f(),e.finish(17);case 20:case"end":return e.stop()}}),e,null,[[4,14,17,20]])}))),qD.apply(this,arguments)}function JD(e,t){var n,r=(null==t||null===(n=t.gltf)||void 0===n?void 0:n.excludeExtensions)||{};return!(e in r&&!r[e])}var ZD={accessors:"accessor",animations:"animation",buffers:"buffer",bufferViews:"bufferView",images:"image",materials:"material",meshes:"mesh",nodes:"node",samplers:"sampler",scenes:"scene",skins:"skin",textures:"texture"},$D={accessor:"accessors",animations:"animation",buffer:"buffers",bufferView:"bufferViews",image:"images",material:"materials",mesh:"meshes",node:"nodes",sampler:"samplers",scene:"scenes",skin:"skins",texture:"textures"},eP=function(){function e(){b(this,e),Xm(this,"idToIndexMap",{animations:{},accessors:{},buffers:{},bufferViews:{},images:{},materials:{},meshes:{},nodes:{},samplers:{},scenes:{},skins:{},textures:{}}),Xm(this,"json",void 0)}return P(e,[{key:"normalize",value:function(e,t){this.json=e.json;var n=e.json;switch(n.asset&&n.asset.version){case"2.0":return;case void 0:case"1.0":break;default:return void console.warn("glTF: Unknown version ".concat(n.asset.version))}if(!t.normalize)throw new Error("glTF v1 is not supported.");console.warn("Converting glTF v1 to glTF v2 format. This is experimental and may fail."),this._addAsset(n),this._convertTopLevelObjectsToArrays(n),function(e){var t,n=new Rb(e),r=n.json,i=f(r.images||[]);try{for(i.s();!(t=i.n()).done;){var a=t.value,s=n.getObjectExtension(a,"KHR_binary_glTF");s&&Object.assign(a,s),n.removeObjectExtension(a,"KHR_binary_glTF")}}catch(e){i.e(e)}finally{i.f()}r.buffers&&r.buffers[0]&&delete r.buffers[0].uri,n.removeExtension("KHR_binary_glTF")}(e),this._convertObjectIdsToArrayIndices(n),this._updateObjects(n),this._updateMaterial(n)}},{key:"_addAsset",value:function(e){e.asset=e.asset||{},e.asset.version="2.0",e.asset.generator=e.asset.generator||"Normalized to glTF 2.0 by loaders.gl"}},{key:"_convertTopLevelObjectsToArrays",value:function(e){for(var t in ZD)this._convertTopLevelObjectToArray(e,t)}},{key:"_convertTopLevelObjectToArray",value:function(e,t){var n=e[t];if(n&&!Array.isArray(n))for(var r in e[t]=[],n){var i=n[r];i.id=i.id||r;var a=e[t].length;e[t].push(i),this.idToIndexMap[t][r]=a}}},{key:"_convertObjectIdsToArrayIndices",value:function(e){for(var t in ZD)this._convertIdsToIndices(e,t);"scene"in e&&(e.scene=this._convertIdToIndex(e.scene,"scene"));var n,r=f(e.textures);try{for(r.s();!(n=r.n()).done;){var i=n.value;this._convertTextureIds(i)}}catch(e){r.e(e)}finally{r.f()}var a,s=f(e.meshes);try{for(s.s();!(a=s.n()).done;){var o=a.value;this._convertMeshIds(o)}}catch(e){s.e(e)}finally{s.f()}var l,u=f(e.nodes);try{for(u.s();!(l=u.n()).done;){var c=l.value;this._convertNodeIds(c)}}catch(e){u.e(e)}finally{u.f()}var p,A=f(e.scenes);try{for(A.s();!(p=A.n()).done;){var d=p.value;this._convertSceneIds(d)}}catch(e){A.e(e)}finally{A.f()}}},{key:"_convertTextureIds",value:function(e){e.source&&(e.source=this._convertIdToIndex(e.source,"image"))}},{key:"_convertMeshIds",value:function(e){var t,n=f(e.primitives);try{for(n.s();!(t=n.n()).done;){var r=t.value,i=r.attributes,a=r.indices,s=r.material;for(var o in i)i[o]=this._convertIdToIndex(i[o],"accessor");a&&(r.indices=this._convertIdToIndex(a,"accessor")),s&&(r.material=this._convertIdToIndex(s,"material"))}}catch(e){n.e(e)}finally{n.f()}}},{key:"_convertNodeIds",value:function(e){var t=this;e.children&&(e.children=e.children.map((function(e){return t._convertIdToIndex(e,"node")}))),e.meshes&&(e.meshes=e.meshes.map((function(e){return t._convertIdToIndex(e,"mesh")})))}},{key:"_convertSceneIds",value:function(e){var t=this;e.nodes&&(e.nodes=e.nodes.map((function(e){return t._convertIdToIndex(e,"node")})))}},{key:"_convertIdsToIndices",value:function(e,t){e[t]||(console.warn("gltf v1: json doesn't contain attribute ".concat(t)),e[t]=[]);var n,r=f(e[t]);try{for(r.s();!(n=r.n()).done;){var i=n.value;for(var a in i){var s=i[a],o=this._convertIdToIndex(s,a);i[a]=o}}}catch(e){r.e(e)}finally{r.f()}}},{key:"_convertIdToIndex",value:function(e,t){var n=$D[t];if(n in this.idToIndexMap){var r=this.idToIndexMap[n][e];if(!Number.isFinite(r))throw new Error("gltf v1: failed to resolve ".concat(t," with id ").concat(e));return r}return e}},{key:"_updateObjects",value:function(e){var t,n=f(this.json.buffers);try{for(n.s();!(t=n.n()).done;){delete t.value.type}}catch(e){n.e(e)}finally{n.f()}}},{key:"_updateMaterial",value:function(e){var t,n=f(e.materials);try{var r=function(){var n=t.value;n.pbrMetallicRoughness={baseColorFactor:[1,1,1,1],metallicFactor:1,roughnessFactor:1};var r=(null===(i=n.values)||void 0===i?void 0:i.tex)||(null===(a=n.values)||void 0===a?void 0:a.texture2d_0),s=e.textures.findIndex((function(e){return e.id===r}));-1!==s&&(n.pbrMetallicRoughness.baseColorTexture={index:s})};for(n.s();!(t=n.n()).done;){var i,a;r()}}catch(e){n.e(e)}finally{n.f()}}}]),e}();function tP(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(new eP).normalize(e,t)}var nP={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},rP={5120:1,5121:1,5122:2,5123:2,5125:4,5126:4},iP=10240,aP=10241,sP=10242,oP=10243,lP=10497,uP=9986,cP={magFilter:iP,minFilter:aP,wrapS:sP,wrapT:oP},fP=(s(e={},iP,9729),s(e,aP,uP),s(e,sP,lP),s(e,oP,lP),e);var pP=function(){function e(){b(this,e),Xm(this,"baseUri",""),Xm(this,"json",{}),Xm(this,"buffers",[]),Xm(this,"images",[])}return P(e,[{key:"postProcess",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.json,r=e.buffers,i=void 0===r?[]:r,a=e.images,s=void 0===a?[]:a,o=e.baseUri,l=void 0===o?"":o;return Ab(n),this.baseUri=l,this.json=n,this.buffers=i,this.images=s,this._resolveTree(this.json,t),this.json}},{key:"_resolveTree",value:function(e){var t=this;e.bufferViews&&(e.bufferViews=e.bufferViews.map((function(e,n){return t._resolveBufferView(e,n)}))),e.images&&(e.images=e.images.map((function(e,n){return t._resolveImage(e,n)}))),e.samplers&&(e.samplers=e.samplers.map((function(e,n){return t._resolveSampler(e,n)}))),e.textures&&(e.textures=e.textures.map((function(e,n){return t._resolveTexture(e,n)}))),e.accessors&&(e.accessors=e.accessors.map((function(e,n){return t._resolveAccessor(e,n)}))),e.materials&&(e.materials=e.materials.map((function(e,n){return t._resolveMaterial(e,n)}))),e.meshes&&(e.meshes=e.meshes.map((function(e,n){return t._resolveMesh(e,n)}))),e.nodes&&(e.nodes=e.nodes.map((function(e,n){return t._resolveNode(e,n)}))),e.skins&&(e.skins=e.skins.map((function(e,n){return t._resolveSkin(e,n)}))),e.scenes&&(e.scenes=e.scenes.map((function(e,n){return t._resolveScene(e,n)}))),void 0!==e.scene&&(e.scene=e.scenes[this.json.scene])}},{key:"getScene",value:function(e){return this._get("scenes",e)}},{key:"getNode",value:function(e){return this._get("nodes",e)}},{key:"getSkin",value:function(e){return this._get("skins",e)}},{key:"getMesh",value:function(e){return this._get("meshes",e)}},{key:"getMaterial",value:function(e){return this._get("materials",e)}},{key:"getAccessor",value:function(e){return this._get("accessors",e)}},{key:"getCamera",value:function(e){return null}},{key:"getTexture",value:function(e){return this._get("textures",e)}},{key:"getSampler",value:function(e){return this._get("samplers",e)}},{key:"getImage",value:function(e){return this._get("images",e)}},{key:"getBufferView",value:function(e){return this._get("bufferViews",e)}},{key:"getBuffer",value:function(e){return this._get("buffers",e)}},{key:"_get",value:function(e,t){if("object"===T(t))return t;var n=this.json[e]&&this.json[e][t];return n||console.warn("glTF file error: Could not find ".concat(e,"[").concat(t,"]")),n}},{key:"_resolveScene",value:function(e,t){var n=this;return e.id=e.id||"scene-".concat(t),e.nodes=(e.nodes||[]).map((function(e){return n.getNode(e)})),e}},{key:"_resolveNode",value:function(e,t){var n=this;return e.id=e.id||"node-".concat(t),e.children&&(e.children=e.children.map((function(e){return n.getNode(e)}))),void 0!==e.mesh?e.mesh=this.getMesh(e.mesh):void 0!==e.meshes&&e.meshes.length&&(e.mesh=e.meshes.reduce((function(e,t){var r=n.getMesh(t);return e.id=r.id,e.primitives=e.primitives.concat(r.primitives),e}),{primitives:[]})),void 0!==e.camera&&(e.camera=this.getCamera(e.camera)),void 0!==e.skin&&(e.skin=this.getSkin(e.skin)),e}},{key:"_resolveSkin",value:function(e,t){return e.id=e.id||"skin-".concat(t),e.inverseBindMatrices=this.getAccessor(e.inverseBindMatrices),e}},{key:"_resolveMesh",value:function(e,t){var n=this;return e.id=e.id||"mesh-".concat(t),e.primitives&&(e.primitives=e.primitives.map((function(e){var t=(e=a({},e)).attributes;for(var r in e.attributes={},t)e.attributes[r]=n.getAccessor(t[r]);return void 0!==e.indices&&(e.indices=n.getAccessor(e.indices)),void 0!==e.material&&(e.material=n.getMaterial(e.material)),e}))),e}},{key:"_resolveMaterial",value:function(e,t){if(e.id=e.id||"material-".concat(t),e.normalTexture&&(e.normalTexture=a({},e.normalTexture),e.normalTexture.texture=this.getTexture(e.normalTexture.index)),e.occlusionTexture&&(e.occlustionTexture=a({},e.occlustionTexture),e.occlusionTexture.texture=this.getTexture(e.occlusionTexture.index)),e.emissiveTexture&&(e.emmisiveTexture=a({},e.emmisiveTexture),e.emissiveTexture.texture=this.getTexture(e.emissiveTexture.index)),e.emissiveFactor||(e.emissiveFactor=e.emmisiveTexture?[1,1,1]:[0,0,0]),e.pbrMetallicRoughness){e.pbrMetallicRoughness=a({},e.pbrMetallicRoughness);var n=e.pbrMetallicRoughness;n.baseColorTexture&&(n.baseColorTexture=a({},n.baseColorTexture),n.baseColorTexture.texture=this.getTexture(n.baseColorTexture.index)),n.metallicRoughnessTexture&&(n.metallicRoughnessTexture=a({},n.metallicRoughnessTexture),n.metallicRoughnessTexture.texture=this.getTexture(n.metallicRoughnessTexture.index))}return e}},{key:"_resolveAccessor",value:function(e,t){var n,r;if(e.id=e.id||"accessor-".concat(t),void 0!==e.bufferView&&(e.bufferView=this.getBufferView(e.bufferView)),e.bytesPerComponent=(n=e.componentType,rP[n]),e.components=(r=e.type,nP[r]),e.bytesPerElement=e.bytesPerComponent*e.components,e.bufferView){var i=e.bufferView.buffer,a=bb(e,e.bufferView),s=a.ArrayType,o=a.byteLength,l=(e.bufferView.byteOffset||0)+(e.byteOffset||0)+i.byteOffset,u=i.arrayBuffer.slice(l,l+o);e.bufferView.byteStride&&(u=this._getValueFromInterleavedBuffer(i,l,e.bufferView.byteStride,e.bytesPerElement,e.count)),e.value=new s(u)}return e}},{key:"_getValueFromInterleavedBuffer",value:function(e,t,n,r,i){for(var a=new Uint8Array(i*r),s=0;s1&&void 0!==arguments[1]?arguments[1]:0;return"".concat(String.fromCharCode(e.getUint8(t+0))).concat(String.fromCharCode(e.getUint8(t+1))).concat(String.fromCharCode(e.getUint8(t+2))).concat(String.fromCharCode(e.getUint8(t+3)))}function hP(e,t,n){Um(e.header.byteLength>20);var r=t.getUint32(n+0,dP),i=t.getUint32(n+4,dP);return n+=8,Um(0===i),yP(e,t,n,r),n+=r,n+=mP(e,t,n,e.header.byteLength)}function IP(e,t,n,r){return Um(e.header.byteLength>20),function(e,t,n,r){for(;n+8<=e.header.byteLength;){var i=t.getUint32(n+0,dP),a=t.getUint32(n+4,dP);switch(n+=8,a){case 1313821514:yP(e,t,n,i);break;case 5130562:mP(e,t,n,i);break;case 0:r.strict||yP(e,t,n,i);break;case 1:r.strict||mP(e,t,n,i)}n+=_w(i,4)}}(e,t,n,r),n+e.header.byteLength}function yP(e,t,n,r){var i=new Uint8Array(t.buffer,n,r),a=new TextDecoder("utf8").decode(i);return e.json=JSON.parse(a),_w(r,4)}function mP(e,t,n,r){return e.header.hasBinChunk=!0,e.binChunks.push({byteOffset:n,byteLength:r,arrayBuffer:t.buffer}),_w(r,4)}function wP(e,t){return gP.apply(this,arguments)}function gP(){return gP=u(o().mark((function e(t,n){var r,i,a,s,l,u,c,f,p,A,d=arguments;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=d.length>2&&void 0!==d[2]?d[2]:0,i=d.length>3?d[3]:void 0,a=d.length>4?d[4]:void 0,EP(t,n,r,i),tP(t,{normalize:null==i||null===(s=i.gltf)||void 0===s?void 0:s.normalize}),YD(t,i,a),f=[],null==i||null===(l=i.gltf)||void 0===l||!l.loadBuffers||!t.json.buffers){e.next=10;break}return e.next=10,TP(t,i,a);case 10:return null!=i&&null!==(u=i.gltf)&&void 0!==u&&u.loadImages&&(p=DP(t,i,a),f.push(p)),A=XD(t,i,a),f.push(A),e.next=15,Promise.all(f);case 15:return e.abrupt("return",null!=i&&null!==(c=i.gltf)&&void 0!==c&&c.postProcess?AP(t,i):t);case 16:case"end":return e.stop()}}),e)}))),gP.apply(this,arguments)}function EP(e,t,n,r){(r.uri&&(e.baseUri=r.uri),t instanceof ArrayBuffer&&!function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=new DataView(e),i=n.magic,a=void 0===i?1735152710:i,s=r.getUint32(t,!1);return s===a||1735152710===s}(t,n,r))&&(t=(new TextDecoder).decode(t));if("string"==typeof t)e.json=bw(t);else if(t instanceof ArrayBuffer){var i={};n=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,r=new DataView(t),i=vP(r,n+0),a=r.getUint32(n+4,dP),s=r.getUint32(n+8,dP);switch(Object.assign(e,{header:{byteOffset:n,byteLength:s,hasBinChunk:!1},type:i,version:a,json:{},binChunks:[]}),n+=12,e.version){case 1:return hP(e,r,n);case 2:return IP(e,r,n,{});default:throw new Error("Invalid GLB version ".concat(e.version,". Only supports v1 and v2."))}}(i,t,n,r.glb),Ab("glTF"===i.type,"Invalid GLB magic string ".concat(i.type)),e._glb=i,e.json=i.json}else Ab(!1,"GLTF: must be ArrayBuffer or string");var a=e.json.buffers||[];if(e.buffers=new Array(a.length).fill(null),e._glb&&e._glb.header.hasBinChunk){var s=e._glb.binChunks;e.buffers[0]={arrayBuffer:s[0].arrayBuffer,byteOffset:s[0].byteOffset,byteLength:s[0].byteLength}}var o=e.json.images||[];e.images=new Array(o.length).fill({})}function TP(e,t,n){return bP.apply(this,arguments)}function bP(){return(bP=u(o().mark((function e(t,n,r){var i,a,s,l,u,c,f,p;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=t.json.buffers||[],a=0;case 2:if(!(a1&&void 0!==u[1]?u[1]:{},r=u.length>2?u[2]:void 0,(n=a(a({},BP.options),n)).gltf=a(a({},BP.options.gltf),n.gltf),i=n.byteOffset,s=void 0===i?0:i,l={},e.next=8,wP(l,t,s,n,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),OP.apply(this,arguments)}var SP=function(){function e(t){b(this,e)}return P(e,[{key:"load",value:function(e,t,n,r,i,a,s){!function(e,t,n,r,i,a,s){var o=e.viewer.scene.canvas.spinner;o.processes++,"glb"===t.split(".").pop()?e.dataSource.getGLB(t,(function(s){r.basePath=LP(t),MP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)})):e.dataSource.getGLTF(t,(function(s){r.basePath=LP(t),MP(e,t,s,n,r,i,a),o.processes--}),(function(e){o.processes--,s(e)}))}(e,t,n,r=r||{},i,(function(){he.scheduleTask((function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1)})),a&&a()}),(function(t){e.error(t),s&&s(t),i.fire("error",t)}))}},{key:"parse",value:function(e,t,n,r,i,a,s){MP(e,"",t,n,r=r||{},i,(function(){i.scene.fire("modelLoaded",i.id),i.fire("loaded",!0,!1),a&&a()}))}}]),e}();function NP(e){for(var t={},n={},r=e.metaObjects||[],i={},a=0,s=r.length;a0)for(var c=0;c0){null==m&&e.log("Warning: 'name' properties not found on glTF scene nodes - will randomly-generate object IDs in XKT");var w=m;if(e.metaModelCorrections){var g=e.metaModelCorrections.eachChildRoot[w];if(g){var E=e.metaModelCorrections.eachRootStats[g.id];E.countChildren++,E.countChildren>=E.numChildren&&(a.createEntity({id:g.id,meshIds:GP}),GP.length=0)}else{e.metaModelCorrections.metaObjectsMap[w]&&(a.createEntity({id:w,meshIds:GP}),GP.length=0)}}else a.createEntity({id:w,meshIds:GP}),GP.length=0}}function jP(e,t){e.plugin.error(t)}var VP={DEFAULT:{}},QP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"GLTFLoader",e,i))._sceneModelLoader=new SP(g(r),i),r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new os}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0,dtxEnabled:t.dtxEnabled})),r=n.id;if(!t.src&&!t.gltf)return this.error("load() param expected: src or gltf"),n;if(t.metaModelSrc||t.metaModelJSON){var i=t.objectDefaults||this._objectDefaults||VP,a=function(a){var s;if(e.viewer.metaScene.createMetaModel(r,a,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes}),e.viewer.scene.canvas.spinner.processes--,t.includeTypes){s={};for(var o=0,l=t.includeTypes.length;o2&&void 0!==arguments[2]?arguments[2]:{},r="lightgrey",i=n.hoverColor||"rgba(0,0,0,0.4)",a=500,s=a+a/3,o=s/24,l=[{boundary:[6,6,6,6],color:n.frontColor||n.color||"#55FF55"},{boundary:[18,6,6,6],color:n.backColor||n.color||"#55FF55"},{boundary:[12,6,6,6],color:n.rightColor||n.color||"#FF5555"},{boundary:[0,6,6,6],color:n.leftColor||n.color||"#FF5555"},{boundary:[6,0,6,6],color:n.topColor||n.color||"#7777FF"},{boundary:[6,12,6,6],color:n.bottomColor||n.color||"#7777FF"}],u=[{label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,1,0],up:[0,0,1]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,-1,0],up:[0,0,1]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,0,1]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,0,1]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,0,1],up:[0,-1,0]},{boundaries:[[7,5,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,0,-1],up:[1,0,1]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-1,-1],up:[0,-1,1]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,0,-1],up:[-1,0,1]},{boundaries:[[7,11,4,2]],dir:[0,1,1],up:[0,-1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,0,1],up:[-1,0,1]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,-1,1],up:[0,1,1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,0,1],up:[1,0,1]},{boundaries:[[5,7,2,4]],dir:[1,1,0],up:[0,0,1]},{boundaries:[[11,7,2,4]],dir:[-1,1,0],up:[0,0,1]},{boundaries:[[17,7,2,4]],dir:[-1,-1,0],up:[0,0,1]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,-1,0],up:[0,0,1]},{boundaries:[[5,11,2,2]],dir:[1,1,1],up:[-1,-1,1]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[1,-1,1],up:[-1,1,1]},{boundaries:[[5,5,2,2]],dir:[1,1,-1],up:[1,1,1]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-1,-1,1],up:[1,1,1]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-1,-1,-1],up:[-1,-1,1]},{boundaries:[[11,11,2,2]],dir:[-1,1,1],up:[1,-1,1]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[1,-1,-1],up:[1,-1,1]},{boundaries:[[11,5,2,2]],dir:[-1,1,-1],up:[-1,1,1]}];n.frontColor||n.color,n.backColor||n.color,n.rightColor||n.color,n.leftColor||n.color,n.topColor||n.color,n.bottomColor||n.color;for(var c=[{yUp:"",label:"NavCube.front",boundaries:[[7,7,4,4]],dir:[0,0,-1],up:[0,1,0]},{label:"NavCube.back",boundaries:[[19,7,4,4]],dir:[0,0,1],up:[0,1,0]},{label:"NavCube.right",boundaries:[[13,7,4,4]],dir:[-1,0,0],up:[0,1,0]},{label:"NavCube.left",boundaries:[[1,7,4,4]],dir:[1,0,0],up:[0,1,0]},{label:"NavCube.top",boundaries:[[7,1,4,4]],dir:[0,-1,0],up:[0,0,-1]},{label:"NavCube.bottom",boundaries:[[7,13,4,4]],dir:[0,1,0],up:[0,0,1]},{boundaries:[[7,5,4,2]],dir:[0,-.7071,-.7071],up:[0,.7071,-.7071]},{boundaries:[[1,6,4,1],[6,1,1,4]],dir:[1,-1,0],up:[1,1,0]},{boundaries:[[7,0,4,1],[19,6,4,1]],dir:[0,-.7071,.7071],up:[0,.7071,.7071]},{boundaries:[[13,6,4,1],[11,1,1,4]],dir:[-1,-1,0],up:[-1,1,0]},{boundaries:[[7,11,4,2]],dir:[0,1,-1],up:[0,1,1]},{boundaries:[[1,11,4,1],[6,13,1,4]],dir:[1,1,0],up:[-1,1,0]},{boundaries:[[7,17,4,1],[19,11,4,1]],dir:[0,1,1],up:[0,1,-1]},{boundaries:[[13,11,4,1],[11,13,1,4]],dir:[-1,1,0],up:[1,1,0]},{boundaries:[[5,7,2,4]],dir:[1,0,-1],up:[0,1,0]},{boundaries:[[11,7,2,4]],dir:[-1,0,-1],up:[0,1,0]},{boundaries:[[17,7,2,4]],dir:[-1,0,1],up:[0,1,0]},{boundaries:[[0,7,1,4],[23,7,1,4]],dir:[1,0,1],up:[0,1,0]},{boundaries:[[5,11,2,2]],dir:[.5,.7071,-.5],up:[-.5,.7071,.5]},{boundaries:[[23,11,1,1],[6,17,1,1],[0,11,1,1]],dir:[.5,.7071,.5],up:[-.5,.7071,-.5]},{boundaries:[[5,5,2,2]],dir:[.5,-.7071,-.5],up:[.5,.7071,-.5]},{boundaries:[[11,17,1,1],[17,11,2,1]],dir:[-.5,.7071,.5],up:[.5,.7071,-.5]},{boundaries:[[17,6,2,1],[11,0,1,1]],dir:[-.5,-.7071,.5],up:[-.5,.7071,.5]},{boundaries:[[11,11,2,2]],dir:[-.5,.7071,-.5],up:[.5,.7071,.5]},{boundaries:[[0,6,1,1],[6,0,1,1],[23,6,1,1]],dir:[.5,-.7071,.5],up:[.5,.7071,.5]},{boundaries:[[11,5,2,2]],dir:[-.5,-.7071,-.5],up:[-.5,.7071,-.5]}],f=0,p=u.length;f=f[0]*o&&t<=(f[0]+f[2])*o&&n>=f[1]*o&&n<=(f[1]+f[3])*o)return r}return-1},this.setAreaHighlighted=function(e,t){var n=v[e];if(!n)throw"Area not found: "+e;n.highlighted=!!t,m()},this.getAreaDir=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.dir},this.getAreaUp=function(e){var t=v[e];if(!t)throw"Unknown area: "+e;return t.up},this.getImage=function(){return this._textureCanvas},this.destroy=function(){this._textureCanvas&&(this._textureCanvas.parentNode.removeChild(this._textureCanvas),this._textureCanvas=null)}}var zP=$.vec3(),KP=$.vec3();$.mat4();var YP=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),r=t.call(this,"NavCube",e,i),e.navCube=g(r);var a=!0;try{r._navCubeScene=new zn(e,{canvasId:i.canvasId,canvasElement:i.canvasElement,transparent:!0}),r._navCubeCanvas=r._navCubeScene.canvas.canvas,r._navCubeScene.input.keyboardEnabled=!1}catch(e){return r.error(e),w(r)}var s=r._navCubeScene;s.clearLights(),new vn(s,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(s,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(s,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),r._navCubeCamera=s.camera,r._navCubeCamera.ortho.scale=7,r._navCubeCamera.ortho.near=.1,r._navCubeCamera.ortho.far=2e3,s.edgeMaterial.edgeColor=[.2,.2,.2],s.edgeMaterial.edgeAlpha=.6,r._zUp=Boolean(e.camera.zUp);var o=g(r);r.setIsProjectNorth(i.isProjectNorth),r.setProjectNorthOffsetAngle(i.projectNorthOffsetAngle);var l,u=(l=$.mat4(),function(e,t,n){return $.identityMat4(l),$.rotationMat4v(e*o._projectNorthOffsetAngle*$.DEGTORAD,[0,1,0],l),$.transformVec3(l,t,n)});r._synchCamera=function(){var t=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),n=$.vec3(),r=$.vec3(),i=$.vec3();return function(){var a=e.camera.eye,s=e.camera.look,l=e.camera.up;n=$.mulVec3Scalar($.normalizeVec3($.subVec3(a,s,n)),5),o._isProjectNorth&&o._projectNorthOffsetAngle&&(n=u(-1,n,zP),l=u(-1,l,KP)),o._zUp?($.transformVec3(t,n,r),$.transformVec3(t,l,i),o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=$.transformVec3(t,n,r),o._navCubeCamera.up=$.transformPoint3(t,l,i)):(o._navCubeCamera.look=[0,0,0],o._navCubeCamera.eye=n,o._navCubeCamera.up=l)}}(),r._cubeTextureCanvas=new WP(e,s,i),r._cubeSampler=new Ba(s,{image:r._cubeTextureCanvas.getImage(),flipY:!0,wrapS:1001,wrapT:1001}),r._cubeMesh=new Ji(s,{geometry:new Cn(s,{primitive:"triangles",normals:[0,0,1,0,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1,0,0,-1,0,0,-1,0,0,-1],positions:[1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,1,1,1,1,1,-1,-1,1,-1,-1,1,1,-1,1,1,-1,1,-1,-1,-1,-1,-1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1],uv:[.5,.6666,.25,.6666,.25,.3333,.5,.3333,.5,.6666,.5,.3333,.75,.3333,.75,.6666,.5,.6666,.5,1,.25,1,.25,.6666,.25,.6666,0,.6666,0,.3333,.25,.3333,.25,0,.5,0,.5,.3333,.25,.3333,.75,.3333,1,.3333,1,.6666,.75,.6666],indices:[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23]}),material:new Nn(s,{diffuse:[.4,.4,.4],specular:[.4,.4,.4],emissive:[.6,.6,.6],diffuseMap:r._cubeSampler,emissiveMap:r._cubeSampler}),visible:!!a,edges:!0}),r._shadow=!1===i.shadowVisible?null:new Ji(s,{geometry:new Cn(s,$i({center:[0,0,0],radiusTop:.001,radiusBottom:1.4,height:.01,radialSegments:20,heightSegments:1,openEnded:!0})),material:new Nn(s,{diffuse:[0,0,0],specular:[0,0,0],emissive:[0,0,0],alpha:.5}),position:[0,-1.5,0],visible:!!a,pickable:!1,backfaces:!1}),r._onCameraMatrix=e.camera.on("matrix",r._synchCamera),r._onCameraWorldAxis=e.camera.on("worldAxis",(function(){e.camera.zUp?(r._zUp=!0,r._cubeTextureCanvas.setZUp(),r._repaint(),r._synchCamera()):e.camera.yUp&&(r._zUp=!1,r._cubeTextureCanvas.setYUp(),r._repaint(),r._synchCamera())})),r._onCameraFOV=e.camera.perspective.on("fov",(function(e){r._synchProjection&&(r._navCubeCamera.perspective.fov=e)})),r._onCameraProjection=e.camera.on("projection",(function(e){r._synchProjection&&(r._navCubeCamera.projection="ortho"===e||"perspective"===e?e:"perspective")}));var c=-1;function f(t,n){var r=(t-A)*-m,i=(n-d)*-m;e.camera.orbitYaw(r),e.camera.orbitPitch(-i),A=t,d=n}function p(e){var t=[0,0];if(e){for(var n=e.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;t[0]=e.pageX-r,t[1]=e.pageY-i}else e=window.event,t[0]=e.x,t[1]=e.y;return t}var A,d,v=null,h=null,I=!1,y=!1,m=.5;o._navCubeCanvas.addEventListener("mouseenter",o._onMouseEnter=function(e){y=!0}),o._navCubeCanvas.addEventListener("mouseleave",o._onMouseLeave=function(e){y=!1}),o._navCubeCanvas.addEventListener("mousedown",o._onMouseDown=function(e){if(1===e.which){v=e.x,h=e.y,A=e.clientX,d=e.clientY;var t=p(e),n=s.pick({canvasPos:t});I=!!n}}),document.addEventListener("mouseup",o._onMouseUp=function(e){if(1===e.which&&(I=!1,null!==v)){var t=p(e),n=s.pick({canvasPos:t,pickSurface:!0});if(n&&n.uv){var r=o._cubeTextureCanvas.getArea(n.uv);if(r>=0&&(document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0)){if(o._cubeTextureCanvas.setAreaHighlighted(r,!0),c=r,o._repaint(),e.xv+3||e.yh+3)return;var i=o._cubeTextureCanvas.getAreaDir(r);if(i){var a=o._cubeTextureCanvas.getAreaUp(r);o._isProjectNorth&&o._projectNorthOffsetAngle&&(i=u(1,i,zP),a=u(1,a,KP)),E(i,a,(function(){c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),document.body.style.cursor="pointer",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),r>=0&&(o._cubeTextureCanvas.setAreaHighlighted(r,!1),c=-1,o._repaint())}))}}}}}),document.addEventListener("mousemove",o._onMouseMove=function(e){if(c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1),1!==e.buttons||I){if(I){var t=e.clientX,n=e.clientY;return document.body.style.cursor="move",void f(t,n)}if(y){var r=p(e),i=s.pick({canvasPos:r,pickSurface:!0});if(i){if(i.uv){document.body.style.cursor="pointer";var a=o._cubeTextureCanvas.getArea(i.uv);if(a===c)return;c>=0&&o._cubeTextureCanvas.setAreaHighlighted(c,!1),a>=0&&(o._cubeTextureCanvas.setAreaHighlighted(a,!0),o._repaint(),c=a)}}else document.body.style.cursor="default",c>=0&&(o._cubeTextureCanvas.setAreaHighlighted(c,!1),o._repaint(),c=-1)}}});var E=function(){var t=$.vec3();return function(n,r,i){var a=o._fitVisible?e.scene.getAABB(e.scene.visibleObjectIds):e.scene.aabb,s=$.getAABB3Diag(a);$.getAABB3Center(a,t);var l=Math.abs(s/Math.tan(o._cameraFitFOV*$.DEGTORAD));e.cameraControl.pivotPos=t,o._cameraFly?e.cameraFlight.flyTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV,duration:o._cameraFlyDuration},i):e.cameraFlight.jumpTo({look:t,eye:[t[0]-l*n[0],t[1]-l*n[1],t[2]-l*n[2]],up:r||[0,1,0],orthoScale:1.1*s,fitFOV:o._cameraFitFOV},i)}}();return r._onUpdated=e.localeService.on("updated",(function(){r._cubeTextureCanvas.clear(),r._repaint()})),r.setVisible(i.visible),r.setCameraFitFOV(i.cameraFitFOV),r.setCameraFly(i.cameraFly),r.setCameraFlyDuration(i.cameraFlyDuration),r.setFitVisible(i.fitVisible),r.setSynchProjection(i.synchProjection),r}return P(n,[{key:"send",value:function(e,t){if("language"===e)this._cubeTextureCanvas.clear(),this._repaint()}},{key:"_repaint",value:function(){var e=this._cubeTextureCanvas.getImage();this._cubeMesh.material.diffuseMap.image=e,this._cubeMesh.material.emissiveMap.image=e}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._navCubeCanvas&&(this._cubeMesh.visible=e,this._shadow&&(this._shadow.visible=e),this._navCubeCanvas.style.visibility=e?"visible":"hidden")}},{key:"getVisible",value:function(){return!!this._navCubeCanvas&&this._cubeMesh.visible}},{key:"setFitVisible",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._fitVisible=e}},{key:"getFitVisible",value:function(){return this._fitVisible}},{key:"setCameraFly",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._cameraFly=e}},{key:"getCameraFly",value:function(){return this._cameraFly}},{key:"setCameraFitFOV",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:45;this._cameraFitFOV=e}},{key:"getCameraFitFOV",value:function(){return this._cameraFitFOV}},{key:"setCameraFlyDuration",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:.5;this._cameraFlyDuration=e}},{key:"getCameraFlyDuration",value:function(){return this._cameraFlyDuration}},{key:"setSynchProjection",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._synchProjection=e}},{key:"getSynchProjection",value:function(){return this._synchProjection}},{key:"setIsProjectNorth",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._isProjectNorth=e}},{key:"getIsProjectNorth",value:function(){return this._isProjectNorth}},{key:"setProjectNorthOffsetAngle",value:function(e){this._projectNorthOffsetAngle=e}},{key:"getProjectNorthOffsetAngle",value:function(){return this._projectNorthOffsetAngle}},{key:"destroy",value:function(){this._navCubeCanvas&&(this.viewer.localeService.off(this._onUpdated),this.viewer.camera.off(this._onCameraMatrix),this.viewer.camera.off(this._onCameraWorldAxis),this.viewer.camera.perspective.off(this._onCameraFOV),this.viewer.camera.off(this._onCameraProjection),this._navCubeCanvas.removeEventListener("mouseenter",this._onMouseEnter),this._navCubeCanvas.removeEventListener("mouseleave",this._onMouseLeave),this._navCubeCanvas.removeEventListener("mousedown",this._onMouseDown),document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),this._navCubeCanvas=null,this._cubeTextureCanvas.destroy(),this._cubeTextureCanvas=null,this._onMouseEnter=null,this._onMouseLeave=null,this._onMouseDown=null,this._onMouseMove=null,this._onMouseUp=null),this._navCubeScene.destroy(),this._navCubeScene=null,this._cubeMesh=null,this._shadow=null,v(E(n.prototype),"destroy",this).call(this)}}]),n}(),XP=$.vec3(),qP=function(){function e(){b(this,e)}return P(e,[{key:"load",value:function(e,t){var n=e.scene.canvas.spinner;n.processes++,JP(e,t,(function(t){$P(e,t,(function(){nR(e,t),n.processes--,he.scheduleTask((function(){e.fire("loaded",!0,!1)}))}))}))}},{key:"parse",value:function(e,t,n,r){if(t){var i=ZP(e,t,null);n&&tR(e,n,r),nR(e,i),e.src=null,e.fire("loaded",!0,!1)}else this.warn("load() param expected: objText")}}]),e}(),JP=function(e,t,n){rR(t,(function(r){var i=ZP(e,r,t);n(i)}),(function(t){e.error(t)}))},ZP=function(){var e={vertex_pattern:/^v\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,normal_pattern:/^vn\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,uv_pattern:/^vt\s+([\d|\.|\+|\-|e|E]+)\s+([\d|\.|\+|\-|e|E]+)/,face_vertex:/^f\s+(-?\d+)\s+(-?\d+)\s+(-?\d+)(?:\s+(-?\d+))?/,face_vertex_uv:/^f\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+))?/,face_vertex_uv_normal:/^f\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)\s+(-?\d+)\/(-?\d+)\/(-?\d+)(?:\s+(-?\d+)\/(-?\d+)\/(-?\d+))?/,face_vertex_normal:/^f\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)\s+(-?\d+)\/\/(-?\d+)(?:\s+(-?\d+)\/\/(-?\d+))?/,object_pattern:/^[og]\s*(.+)?/,smoothing_pattern:/^s\s+(\d+|on|off)/,material_library_pattern:/^mtllib /,material_use_pattern:/^usemtl /};return function(r,i,a){var s={src:a=a||"",basePath:t(a),objects:[],object:{},positions:[],normals:[],uv:[],materialLibraries:{}};n(s,"",!1),-1!==i.indexOf("\r\n")&&(i=i.replace("\r\n","\n"));for(var o=i.split("\n"),l="",u="",c="",A=[],d="function"==typeof"".trimLeft,v=0,h=o.length;v=0?n-1:n+t/3)}function i(e,t){var n=parseInt(e,10);return 3*(n>=0?n-1:n+t/3)}function a(e,t){var n=parseInt(e,10);return 2*(n>=0?n-1:n+t/2)}function s(e,t,n,r){var i=e.positions,a=e.object.geometry.positions;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function o(e,t){var n=e.positions,r=e.object.geometry.positions;r.push(n[t+0]),r.push(n[t+1]),r.push(n[t+2])}function l(e,t,n,r){var i=e.normals,a=e.object.geometry.normals;a.push(i[t+0]),a.push(i[t+1]),a.push(i[t+2]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[n+2]),a.push(i[r+0]),a.push(i[r+1]),a.push(i[r+2])}function u(e,t,n,r){var i=e.uv,a=e.object.geometry.uv;a.push(i[t+0]),a.push(i[t+1]),a.push(i[n+0]),a.push(i[n+1]),a.push(i[r+0]),a.push(i[r+1])}function c(e,t){var n=e.uv,r=e.object.geometry.uv;r.push(n[t+0]),r.push(n[t+1])}function f(e,t,n,o,c,f,p,A,d,v,h,I,y){var m,w=e.positions.length,g=r(t,w),E=r(n,w),T=r(o,w);if(void 0===c?s(e,g,E,T):(s(e,g,E,m=r(c,w)),s(e,E,T,m)),void 0!==f){var b=e.uv.length;g=a(f,b),E=a(p,b),T=a(A,b),void 0===c?u(e,g,E,T):(u(e,g,E,m=a(d,b)),u(e,E,T,m))}if(void 0!==v){var D=e.normals.length;g=i(v,D),E=v===h?g:i(h,D),T=v===I?g:i(I,D),void 0===c?l(e,g,E,T):(l(e,g,E,m=i(y,D)),l(e,E,T,m))}}function p(e,t,n){e.object.geometry.type="Line";for(var i=e.positions.length,s=e.uv.length,l=0,u=t.length;l=0?s.substring(0,o):s).toLowerCase(),u=(u=o>=0?s.substring(o+1):"").trim(),l.toLowerCase()){case"newmtl":n(e,p),p={id:u},A=!0;break;case"ka":p.ambient=r(u);break;case"kd":p.diffuse=r(u);break;case"ks":p.specular=r(u);break;case"map_kd":p.diffuseMap||(p.diffuseMap=t(e,a,u,"sRGB"));break;case"map_ks":p.specularMap||(p.specularMap=t(e,a,u,"linear"));break;case"map_bump":case"bump":p.normalMap||(p.normalMap=t(e,a,u));break;case"ns":p.shininess=parseFloat(u);break;case"d":(c=parseFloat(u))<1&&(p.alpha=c,p.alphaMode="blend");break;case"tr":(c=parseFloat(u))>0&&(p.alpha=1-c,p.alphaMode="blend")}A&&n(e,p)};function t(e,t,n,r){var i={},a=n.split(/\s+/),s=a.indexOf("-bm");return s>=0&&a.splice(s,2),(s=a.indexOf("-s"))>=0&&(i.scale=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),(s=a.indexOf("-o"))>=0&&(i.translate=[parseFloat(a[s+1]),parseFloat(a[s+2])],a.splice(s,4)),i.src=t+a.join(" ").trim(),i.flipY=!0,i.encoding=r||"linear",new Ba(e,i).id}function n(e,t){new Nn(e,t)}function r(t){var n=t.split(e,3);return[parseFloat(n[0]),parseFloat(n[1]),parseFloat(n[2])]}}();function nR(e,t){for(var n=0,r=t.objects.length;n0&&(s.normals=a.normals),a.uv.length>0&&(s.uv=a.uv);for(var o=new Array(s.positions.length/3),l=0;l0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new da(this.viewer.scene,le.apply(t,{isModel:!0})),r=n.id,i=t.src;if(!i)return this.error("load() param expected: src"),n;if(t.metaModelSrc){var a=t.metaModelSrc;le.loadJSON(a,(function(a){e.viewer.metaScene.createMetaModel(r,a),e._sceneGraphLoader.load(n,i,t)}),(function(t){e.error("load(): Failed to load model modelMetadata for model '".concat(r," from '").concat(a,"' - ").concat(t))}))}else this._sceneGraphLoader.load(n,i,t);return n.once("destroyed",(function(){e.viewer.metaScene.destroyMetaModel(r)})),n}},{key:"destroy",value:function(){v(E(n.prototype),"destroy",this).call(this)}}]),n}(),aR=new Float64Array([0,0,1]),sR=new Float64Array(4),oR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(aR,e,sR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r,i,a=this._rootNode,s={arrowHead:new Cn(a,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(a,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),arrowHeadHandle:new Cn(a,$i({radiusTop:.09,radiusBottom:.09,radialSegments:8,heightSegments:1,height:.37,openEnded:!1})),curve:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),curveHandle:new Cn(a,ka({radius:.8,tube:.06,radialSegments:64,tubeSegments:14,arc:2*Math.PI/4})),hoop:new Cn(a,ka({radius:.8,tube:n,radialSegments:64,tubeSegments:8,arc:2*Math.PI})),axis:new Cn(a,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1})),axisHandle:new Cn(a,$i({radiusTop:.08,radiusBottom:.08,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},o={pickable:new Nn(a,{diffuse:[1,1,0],alpha:0,alphaMode:"blend"}),red:new Nn(a,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new Mn(a,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6}),green:new Nn(a,{diffuse:[0,1,0],emissive:[0,1,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightGreen:new Mn(a,{edges:!1,fill:!0,fillColor:[0,1,0],fillAlpha:.6}),blue:new Nn(a,{diffuse:[0,0,1],emissive:[0,0,1],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightBlue:new Mn(a,{edges:!1,fill:!0,fillColor:[0,0,1],fillAlpha:.2}),center:new Nn(a,{diffuse:[0,0,0],emissive:[0,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80}),highlightBall:new Mn(a,{edges:!1,fill:!0,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1}),highlightPlane:new Mn(a,{edges:!0,edgeWidth:3,fill:!1,fillColor:[.5,.5,.5],fillAlpha:.5,vertices:!1})};this._displayMeshes={plane:a.addChild(new Ji(a,{geometry:new Cn(a,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,ghostMaterial:new Mn(a,{edges:!1,filled:!0,fillColor:[1,1,0],edgeColor:[0,0,0],fillAlpha:.1,backfaces:!0}),pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),highlightMaterial:new Mn(a,{edges:!1,edgeColor:[0,0,0],filled:!0,fillColor:[.8,.8,.8],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),xCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.red,matrix:(r=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),i=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4()),$.mulMat4(i,r,$.identityMat4())),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.07,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(0*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,-.8,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.green,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,rotation:[-90,0,0],pickable:!0,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),yCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.07,0,-.8,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(.8,0,-.07,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurve:a.addChild(new Ji(a,{geometry:s.curve,material:o.blue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zCurveHandle:a.addChild(new Ji(a,{geometry:s.curveHandle,material:o.pickable,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveCurveArrow1:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.8,-.07,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4());return $.mulMat4(e,t,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zCurveArrow2:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(.05,-.8,0,$.identityMat4()),t=$.scaleMat4v([.6,.6,.6],$.identityMat4()),n=$.rotationMat4v(90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4($.mulMat4(e,t,$.identityMat4()),n,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),center:a.addChild(new Ji(a,{geometry:new Cn(a,ea({radius:.05})),material:o.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),xAxis:a.addChild(new Ji(a,{geometry:s.axis,material:o.red,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),xAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1,opacity:.2}),e),yShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.green,position:[0,-.5,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yShaftHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,position:[0,-.5,0],pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHead,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrowHandle:a.addChild(new Ji(a,{geometry:s.arrowHeadHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!0,collidable:!0,clippable:!1,visible:!1}),e),zShaft:a.addChild(new Ji(a,{geometry:s.axis,material:o.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e),zAxisHandle:a.addChild(new Ji(a,{geometry:s.axisHandle,material:o.pickable,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!0,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:a.addChild(new Ji(a,{geometry:new Cn(a,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(a,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new Mn(a,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),xHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.red,highlighted:!0,highlightMaterial:o.highlightRed,matrix:function(){var e=$.rotationMat4v(90*$.DEGTORAD,[0,1,0],$.identityMat4()),t=$.rotationMat4v(270*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.green,highlighted:!0,highlightMaterial:o.highlightGreen,rotation:[-90,0,0],pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zHoop:a.addChild(new Ji(a,{geometry:s.hoop,material:o.blue,highlighted:!0,highlightMaterial:o.highlightBlue,matrix:$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4()),pickable:!1,collidable:!0,clippable:!1,backfaces:!0,visible:!1}),e),xAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.red,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[0,0,1],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),yAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.green,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(180*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:a.addChild(new Ji(a,{geometry:s.arrowHeadBig,material:o.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this,n=!1,r=-1,i=0,a=1,s=2,o=3,l=4,u=5,c=this._rootNode,f=null,p=null,A=$.vec2(),d=$.vec3([1,0,0]),v=$.vec3([0,1,0]),h=$.vec3([0,0,1]),I=this._viewer.scene.canvas.canvas,y=this._viewer.camera,m=this._viewer.scene,w=$.vec3([0,0,0]),g=-1;this._onCameraViewMatrix=m.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=m.camera.on("projMatrix",(function(){})),this._onSceneTick=m.on("tick",(function(){var t=Math.abs($.lenVec3($.subVec3(m.camera.eye,e._pos,w)));if(t!==g&&"perspective"===y.projection){var n=.07*(Math.tan(y.perspective.fov*$.DEGTORAD)*t);c.scale=[n,n,n],g=t}if("ortho"===y.projection){var r=y.ortho.scale/10;c.scale=[r,r,r],g=t}}));var E,T,b,D,P,R=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),C=function(){var e=$.mat4();return function(n,r){return $.quaternionToMat4(t._rootNode.quaternion,e),$.transformVec3(e,n,r),$.normalizeVec3(r),r}}(),_=(E=$.vec3(),function(e){var t=Math.abs(e[0]);return t>Math.abs(e[1])&&t>Math.abs(e[2])?$.cross3Vec3(e,[0,1,0],E):$.cross3Vec3(e,[1,0,0],E),$.cross3Vec3(E,e,E),$.normalizeVec3(E),E}),B=(T=$.vec3(),b=$.vec3(),D=$.vec4(),function(e,n,r){C(e,D);var i=_(D,n,r);S(n,i,T),S(r,i,b),$.subVec3(b,T);var a=$.dotVec3(b,D);t._pos[0]+=D[0]*a,t._pos[1]+=D[1]*a,t._pos[2]+=D[2]*a,t._rootNode.position=t._pos,t._sectionPlane&&(t._sectionPlane.pos=t._pos)}),O=function(){var e=$.vec4(),n=$.vec4(),r=$.vec4(),i=$.vec4();return function(a,s,o){if(C(a,i),!(S(s,i,e)&&S(o,i,n))){var l=_(i,s,o);S(s,l,e,1),S(o,l,n,1);var u=$.dotVec3(e,i);e[0]-=u*i[0],e[1]-=u*i[1],e[2]-=u*i[2],u=$.dotVec3(n,i),n[0]-=u*i[0],n[1]-=u*i[1],n[2]-=u*i[2]}$.normalizeVec3(e),$.normalizeVec3(n),u=$.dotVec3(e,n),u=$.clamp(u,-1,1);var c=Math.acos(u)*$.RADTODEG;$.cross3Vec3(e,n,r),$.dotVec3(r,i)<0&&(c=-c),t._rootNode.rotate(a,c),N()}}(),S=function(){var e=$.vec4([0,0,0,1]),n=$.mat4();return function(r,i,a,s){s=s||0,e[0]=r[0]/I.width*2-1,e[1]=-(r[1]/I.height*2-1),e[2]=0,e[3]=1,$.mulMat4(y.projMatrix,y.viewMatrix,n),$.inverseMat4(n),$.transformVec4(n,e,e),$.mulVec4Scalar(e,1/e[3]);var o=y.eye;$.subVec4(e,o,e);var l=t._sectionPlane.pos,u=-$.dotVec3(l,i)-s,c=$.dotVec3(i,e);if(Math.abs(c)>.005){var f=-($.dotVec3(i,o)+u)/c;return $.mulVec3Scalar(e,f,a),$.addVec3(a,o),$.subVec3(a,l,a),!0}return!1}}(),N=function(){var e=$.vec3(),n=$.mat4();return function(){t.sectionPlane&&($.quaternionToMat4(c.quaternion,n),$.transformVec3(n,[0,0,1],e),t._setSectionPlaneDir(e))}}(),L=!1;this._onCameraControlHover=this._viewer.cameraControl.on("hoverEnter",(function(t){if(e._visible&&!L){var c;switch(n=!1,P&&(P.visible=!1),t.entity.id){case e._displayMeshes.xAxisArrowHandle.id:case e._displayMeshes.xAxisHandle.id:c=e._affordanceMeshes.xAxisArrow,f=i;break;case e._displayMeshes.yAxisArrowHandle.id:case e._displayMeshes.yShaftHandle.id:c=e._affordanceMeshes.yAxisArrow,f=a;break;case e._displayMeshes.zAxisArrowHandle.id:case e._displayMeshes.zAxisHandle.id:c=e._affordanceMeshes.zAxisArrow,f=s;break;case e._displayMeshes.xCurveHandle.id:c=e._affordanceMeshes.xHoop,f=o;break;case e._displayMeshes.yCurveHandle.id:c=e._affordanceMeshes.yHoop,f=l;break;case e._displayMeshes.zCurveHandle.id:c=e._affordanceMeshes.zHoop,f=u;break;default:return void(f=r)}c&&(c.visible=!0),P=c,n=!0}})),this._onCameraControlHoverLeave=this._viewer.cameraControl.on("hoverOutEntity",(function(t){e._visible&&(P&&(P.visible=!1),P=null,f=r)})),I.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&n&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){L=!0;var r=R(t);p=f,A[0]=r[0],A[1]=r[1]}}),I.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&L){var n=R(t),r=n[0],c=n[1];switch(p){case i:B(d,A,n);break;case a:B(v,A,n);break;case s:B(h,A,n);break;case o:O(d,A,n);break;case l:O(v,A,n);break;case u:O(h,A,n)}A[0]=r,A[1]=c}}),I.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,L&&(t.which,L=!1,n=!1))}),I.addEventListener("wheel",this._canvasWheelListener=function(t){if(e._visible)Math.max(-1,Math.min(1,40*-t.deltaY))})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=e.cameraControl;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix),i.off(this._onCameraControlHover),i.off(this._onCameraControlHoverLeave)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),lR=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new Mn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new Mn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),uR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new lR(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),cR=$.AABB3(),fR=$.vec3(),pR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"SectionPlanes",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new uR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;cR.set(r.viewer.scene.aabb),$.getAABB3Center(cR,fR),cR[0]+=t[0]-fR[0],cR[1]+=t[1]-fR[1],cR[2]+=t[2]-fR[2],cR[3]+=t[0]-fR[0],cR[4]+=t[1]-fR[1],cR[5]+=t[2]-fR[2],r.viewer.cameraFlight.flyTo({aabb:cR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new oR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"StoreyViews",e))._objectsMemento=new Hs,r._cameraMemento=new Ls,r.storeys={},r.modelStoreys={},r._fitStoreyMaps=!!i.fitStoreyMaps,r._onModelLoaded=r.viewer.scene.on("modelLoaded",(function(e){r._registerModelStoreys(e),r.fire("storeys",r.storeys)})),r}return P(n,[{key:"_registerModelStoreys",value:function(e){var t=this,n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaModels[e],s=r.models[e];if(a&&a.rootMetaObjects)for(var o=a.rootMetaObjects,l=0,u=o.length;l.5?d.length:0,I=new AR(this,s.aabb,v,e,A,h);I._onModelDestroyed=s.once("destroyed",(function(){t._deregisterModelStoreys(e),t.fire("storeys",t.storeys)})),this.storeys[A]=I,this.modelStoreys[e]||(this.modelStoreys[e]={}),this.modelStoreys[e][A]=I}}},{key:"_deregisterModelStoreys",value:function(e){var t=this.modelStoreys[e];if(t){var n=this.viewer.scene;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r],a=n.models[i.modelId];a&&a.off(i._onModelDestroyed),delete this.storeys[r]}delete this.modelStoreys[e]}}},{key:"fitStoreyMaps",get:function(){return this._fitStoreyMaps}},{key:"gotoStoreyCamera",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),void(t.done&&t.done());var r=this.viewer,i=r.scene,a=i.camera,s=n.storeyAABB;if(s[3]1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(n){var r=this.viewer,i=r.scene,a=r.metaScene,s=a.metaObjects[e];s&&(t.hideOthers&&i.setObjectsVisible(r.scene.visibleObjectIds,!1),this.withStoreyObjects(e,(function(e,t){e&&(e.visible=!0)})))}else this.error("IfcBuildingStorey not found with this ID: "+e)}},{key:"withStoreyObjects",value:function(e,t){var n=this.viewer,r=n.scene,i=n.metaScene,a=i.metaObjects[e];if(a)for(var s=a.getObjectIDsInSubtree(),o=0,l=s.length;o1&&void 0!==arguments[1]?arguments[1]:{},n=this.storeys[e];if(!n)return this.error("IfcBuildingStorey not found with this ID: "+e),IR;var r,i,a=this.viewer,s=a.scene,o=t.format||"png",l=this._fitStoreyMaps?n.storeyAABB:n.modelAABB,u=Math.abs((l[5]-l[2])/(l[3]-l[0])),c=t.padding||0;t.width&&t.height?(r=t.width,i=t.height):t.height?(i=t.height,r=Math.round(i/u)):t.width?(r=t.width,i=Math.round(r*u)):(r=300,i=Math.round(r*u)),this._objectsMemento.saveObjects(s),this._cameraMemento.saveCamera(s),this.showStoreyObjects(e,le.apply(t,{hideOthers:!0})),this._arrangeStoreyMapCamera(n);var f=a.getSnapshot({width:r,height:i,format:o});return this._objectsMemento.restoreObjects(s),this._cameraMemento.restoreCamera(s),new dR(e,f,o,r,i,c)}},{key:"_arrangeStoreyMapCamera",value:function(e){var t=this.viewer,n=t.scene.camera,r=this._fitStoreyMaps?e.storeyAABB:e.modelAABB,i=$.getAABB3Center(r),a=vR;a[0]=i[0]+.5*n.worldUp[0],a[1]=i[1]+.5*n.worldUp[1],a[2]=i[2]+.5*n.worldUp[2];var s=n.worldForward;t.cameraFlight.jumpTo({eye:a,look:i,up:s});var o=(r[3]-r[0])/2,l=(r[4]-r[1])/2,u=(r[5]-r[2])/2,c=-o,f=+o,p=-l,A=+l,d=-u,v=+u;t.camera.customProjection.matrix=$.orthoMat4c(c,f,d,v,p,A,hR),t.camera.projection="customProjection"}},{key:"pickStoreyMap",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),null;var a=1-t[0]/e.width,s=1-t[1]/e.height,o=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,l=o[0],u=o[1],c=o[2],f=o[3],p=o[4],A=o[5],d=f-l,v=p-u,h=A-c,I=$.vec3([l+d*a,u+.5*v,c+h*s]),y=$.vec3([0,-1,0]),m=$.addVec3(I,y,vR),w=this.viewer.camera.worldForward,g=$.lookAtMat4v(I,m,w,hR),E=this.viewer.scene.pick({pickSurface:n.pickSurface,pickInvisible:!0,matrix:g});return E}},{key:"storeyMapToWorldPos",value:function(e,t){var n=e.storeyId,r=this.storeys[n];if(!r)return this.error("IfcBuildingStorey not found with this ID: "+n),null;var i=1-t[0]/e.width,a=1-t[1]/e.height,s=this._fitStoreyMaps?r.storeyAABB:r.modelAABB,o=s[0],l=s[1],u=s[2],c=s[3],f=s[4],p=s[5],A=c-o,d=f-l,v=p-u,h=$.vec3([o+A*i,l+.5*d,u+v*a]);return h}},{key:"getStoreyContainingWorldPos",value:function(e){for(var t in this.storeys){var n=this.storeys[t];if($.point3AABB3Intersect(n.storeyAABB,e))return t}return null}},{key:"worldPosToStoreyMap",value:function(e,t,n){var r=e.storeyId,i=this.storeys[r];if(!i)return this.error("IfcBuildingStorey not found with this ID: "+r),!1;var a=this._fitStoreyMaps?i.storeyAABB:i.modelAABB,s=a[0],o=a[1],l=a[2],u=a[3]-s,c=a[4]-o,f=a[5]-l,p=this.viewer.camera.worldUp,A=p[0]>p[1]&&p[0]>p[2],d=!A&&p[1]>p[0]&&p[1]>p[2];!A&&!d&&p[2]>p[0]&&(p[2],p[1]);var v=e.width/u,h=d?e.height/f:e.height/c;return n[0]=Math.floor(e.width-(t[0]-s)*v),n[1]=Math.floor(e.height-(t[2]-l)*h),n[0]>=0&&n[0]=0&&n[1]<=e.height}},{key:"worldDirToStoreyMap",value:function(e,t,n){var r=this.viewer.camera,i=r.eye,a=r.look,s=$.subVec3(a,i,vR),o=r.worldUp,l=o[0]>o[1]&&o[0]>o[2],u=!l&&o[1]>o[0]&&o[1]>o[2];!l&&!u&&o[2]>o[0]&&(o[2],o[1]),l?(n[0]=s[1],n[1]=s[2]):u?(n[0]=s[0],n[1]=s[2]):(n[0]=s[0],n[1]=s[1]),$.normalizeVec2(n)}},{key:"destroy",value:function(){this.viewer.scene.off(this._onModelLoaded),v(E(n.prototype),"destroy",this).call(this)}}]),n}(),mR=new Float64Array([0,0,1]),wR=new Float64Array(4),gR=function(){function e(t){b(this,e),this.id=null,this._viewer=t.viewer,this._plugin=t,this._visible=!1,this._pos=$.vec3(),this._origin=$.vec3(),this._rtcPos=$.vec3(),this._baseDir=$.vec3(),this._rootNode=null,this._displayMeshes=null,this._affordanceMeshes=null,this._ignoreNextSectionPlaneDirUpdate=!1,this._createNodes(),this._bindEvents()}return P(e,[{key:"_setSectionPlane",value:function(e){var t=this;this._sectionPlane&&(this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._onSectionPlanePos=null,this._onSectionPlaneDir=null,this._sectionPlane=null),e&&(this.id=e.id,this._setPos(e.pos),this._setDir(e.dir),this._sectionPlane=e,this._onSectionPlanePos=e.on("pos",(function(){t._setPos(t._sectionPlane.pos)})),this._onSectionPlaneDir=e.on("dir",(function(){t._ignoreNextSectionPlaneDirUpdate?t._ignoreNextSectionPlaneDirUpdate=!1:t._setDir(t._sectionPlane.dir)})))}},{key:"sectionPlane",get:function(){return this._sectionPlane}},{key:"_setPos",value:function(e){this._pos.set(e),Oe(this._pos,this._origin,this._rtcPos),this._rootNode.origin=this._origin,this._rootNode.position=this._rtcPos}},{key:"_setDir",value:function(e){this._baseDir.set(e),this._rootNode.quaternion=$.vec3PairToQuaternion(mR,e,wR)}},{key:"_setSectionPlaneDir",value:function(e){this._sectionPlane&&(this._ignoreNextSectionPlaneDirUpdate=!0,this._sectionPlane.dir=e)}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];if(this._visible!==e){var t;for(t in this._visible=e,this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].visible=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].visible=e)}}},{key:"getVisible",value:function(){return this._visible}},{key:"setCulled",value:function(e){var t;for(t in this._displayMeshes)this._displayMeshes.hasOwnProperty(t)&&(this._displayMeshes[t].culled=e);if(!e)for(t in this._affordanceMeshes)this._affordanceMeshes.hasOwnProperty(t)&&(this._affordanceMeshes[t].culled=e)}},{key:"_createNodes",value:function(){var e=!1,t=this._viewer.scene,n=.01;this._rootNode=new da(t,{position:[0,0,0],scale:[5,5,5]});var r=this._rootNode,i={arrowHead:new Cn(r,$i({radiusTop:.001,radiusBottom:.07,radialSegments:32,heightSegments:1,height:.2,openEnded:!1})),arrowHeadBig:new Cn(r,$i({radiusTop:.001,radiusBottom:.09,radialSegments:32,heightSegments:1,height:.25,openEnded:!1})),axis:new Cn(r,$i({radiusTop:n,radiusBottom:n,radialSegments:20,heightSegments:1,height:1,openEnded:!1}))},a={red:new Nn(r,{diffuse:[1,0,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),green:new Nn(r,{diffuse:[0,1,0],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),blue:new Nn(r,{diffuse:[0,0,1],emissive:[1,0,0],ambient:[0,0,0],specular:[.6,.6,.3],shininess:80,lineWidth:2}),highlightRed:new Mn(r,{edges:!1,fill:!0,fillColor:[1,0,0],fillAlpha:.6})};this._displayMeshes={plane:r.addChild(new Ji(r,{geometry:new Cn(r,{primitive:"triangles",positions:[.5,.5,0,.5,-.5,0,-.5,-.5,0,-.5,.5,0,.5,.5,-0,.5,-.5,-0,-.5,-.5,-0,-.5,.5,-0],indices:[0,1,2,2,3,0]}),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],backfaces:!0}),opacity:.6,ghosted:!0,pickable:!1,collidable:!0,clippable:!1,visible:!1,scale:[2.4,2.4,1]}),e),planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:1.7,tube:.02,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{emissive:[0,0,0],diffuse:[0,0,0],specular:[0,0,0],shininess:0}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,.1],rotation:[0,0,45]}),e),center:r.addChild(new Ji(r,{geometry:new Cn(r,ea({radius:.05})),material:a.center,pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHead,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e),zShaft:r.addChild(new Ji(r,{geometry:i.axis,material:a.blue,matrix:function(){var e=$.translateMat4c(0,.5,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[1,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),clippable:!1,pickable:!1,collidable:!0,visible:!1}),e)},this._affordanceMeshes={planeFrame:r.addChild(new Ji(r,{geometry:new Cn(r,ka({center:[0,0,0],radius:2,tube:n,radialSegments:4,tubeSegments:4,arc:2*Math.PI})),material:new Nn(r,{ambient:[1,1,1],diffuse:[0,0,0],emissive:[1,1,0]}),highlighted:!0,highlightMaterial:new Mn(r,{edges:!1,filled:!0,fillColor:[1,1,0],fillAlpha:1}),pickable:!1,collidable:!1,clippable:!1,visible:!1,scale:[1,1,1],rotation:[0,0,45]}),e),zAxisArrow:r.addChild(new Ji(r,{geometry:i.arrowHeadBig,material:a.blue,matrix:function(){var e=$.translateMat4c(0,1.1,0,$.identityMat4()),t=$.rotationMat4v(-90*$.DEGTORAD,[.8,0,0],$.identityMat4());return $.mulMat4(t,e,$.identityMat4())}(),pickable:!1,collidable:!0,clippable:!1,visible:!1}),e)}}},{key:"_bindEvents",value:function(){var e=this,t=this._rootNode,n=$.vec2(),r=this._viewer.camera,i=this._viewer.scene,a=0,s=!1,o=$.vec3([0,0,0]),l=-1;this._onCameraViewMatrix=i.camera.on("viewMatrix",(function(){})),this._onCameraProjMatrix=i.camera.on("projMatrix",(function(){})),this._onSceneTick=i.on("tick",(function(){s=!1;var n=Math.abs($.lenVec3($.subVec3(i.camera.eye,e._pos,o)));if(n!==l&&"perspective"===r.projection){var u=.07*(Math.tan(r.perspective.fov*$.DEGTORAD)*n);t.scale=[u,u,u],l=n}if("ortho"===r.projection){var f=r.ortho.scale/10;t.scale=[f,f,f],l=n}0!==a&&(c(a),a=0)}));var u=function(){var e=new Float64Array(2);return function(t){if(t){for(var n=t.target,r=0,i=0;n.offsetParent;)r+=n.offsetLeft,i+=n.offsetTop,n=n.offsetParent;e[0]=t.pageX-r,e[1]=t.pageY-i}else t=window.event,e[0]=t.x,e[1]=t.y;return e}}(),c=function(t){var n=e._sectionPlane.pos,r=e._sectionPlane.dir;$.addVec3(n,$.mulVec3Scalar(r,.1*t*e._plugin.getDragSensitivity(),$.vec3())),e._sectionPlane.pos=n},f=!1;this._plugin._controlElement.addEventListener("mousedown",this._canvasMouseDownListener=function(t){if(t.preventDefault(),e._visible&&(e._viewer.cameraControl.pointerEnabled=!1,1===t.which)){f=!0;var r=u(t);n[0]=r[0],n[1]=r[1]}}),this._plugin._controlElement.addEventListener("mousemove",this._canvasMouseMoveListener=function(t){if(e._visible&&f&&!s){var r=u(t),i=r[0],a=r[1];c(a-n[1]),n[0]=i,n[1]=a}}),this._plugin._controlElement.addEventListener("mouseup",this._canvasMouseUpListener=function(t){e._visible&&(e._viewer.cameraControl.pointerEnabled=!0,f&&(t.which,f=!1))}),this._plugin._controlElement.addEventListener("wheel",this._canvasWheelListener=function(t){e._visible&&(a+=Math.max(-1,Math.min(1,40*-t.deltaY)))});var p,A,d=null;this._plugin._controlElement.addEventListener("touchstart",this._handleTouchStart=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=t.touches[0].clientY,d=p,a=0)}),this._plugin._controlElement.addEventListener("touchmove",this._handleTouchMove=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(s||(s=!0,A=t.touches[0].clientY,null!==d&&(a+=A-d),d=A))}),this._plugin._controlElement.addEventListener("touchend",this._handleTouchEnd=function(t){t.stopPropagation(),t.preventDefault(),e._visible&&(p=null,A=null,a=0)})}},{key:"_destroy",value:function(){this._unbindEvents(),this._destroyNodes()}},{key:"_unbindEvents",value:function(){var e=this._viewer,t=e.scene,n=t.canvas.canvas,r=e.camera,i=this._plugin._controlElement;t.off(this._onSceneTick),n.removeEventListener("mousedown",this._canvasMouseDownListener),n.removeEventListener("mousemove",this._canvasMouseMoveListener),n.removeEventListener("mouseup",this._canvasMouseUpListener),n.removeEventListener("wheel",this._canvasWheelListener),i.removeEventListener("touchstart",this._handleTouchStart),i.removeEventListener("touchmove",this._handleTouchMove),i.removeEventListener("touchend",this._handleTouchEnd),r.off(this._onCameraViewMatrix),r.off(this._onCameraProjMatrix)}},{key:"_destroyNodes",value:function(){this._setSectionPlane(null),this._rootNode.destroy(),this._displayMeshes={},this._affordanceMeshes={}}}]),e}(),ER=function(){function e(t,n,r){var i=this;b(this,e),this.id=r.id,this._sectionPlane=r,this._mesh=new Ji(n,{id:r.id,geometry:new Cn(n,_n({xSize:.5,ySize:.5,zSize:.001})),material:new Nn(n,{emissive:[1,1,1],diffuse:[0,0,0],backfaces:!1}),edgeMaterial:new Fn(n,{edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),highlightMaterial:new Mn(n,{fill:!0,fillColor:[.5,1,.5],fillAlpha:.7,edges:!0,edgeColor:[0,0,0],edgeAlpha:1,edgeWidth:1}),selectedMaterial:new Mn(n,{fill:!0,fillColor:[0,0,1],fillAlpha:.7,edges:!0,edgeColor:[1,0,0],edgeAlpha:1,edgeWidth:1}),highlighted:!0,scale:[3,3,3],position:[0,0,0],rotation:[0,0,0],opacity:.3,edges:!0});var a=$.vec3([0,0,0]),s=$.vec3(),o=$.vec3([0,0,1]),l=$.vec4(4),u=$.vec3(),c=function(){var e=i._sectionPlane.scene.center,t=[-i._sectionPlane.dir[0],-i._sectionPlane.dir[1],-i._sectionPlane.dir[2]];$.subVec3(e,i._sectionPlane.pos,a);var n=-$.dotVec3(t,a);$.normalizeVec3(t),$.mulVec3Scalar(t,n,s);var r=$.vec3PairToQuaternion(o,i._sectionPlane.dir,l);u[0]=.1*s[0],u[1]=.1*s[1],u[2]=.1*s[2],i._mesh.quaternion=r,i._mesh.position=u};this._onSectionPlanePos=this._sectionPlane.on("pos",c),this._onSectionPlaneDir=this._sectionPlane.on("dir",c),this._highlighted=!1,this._selected=!1}return P(e,[{key:"setHighlighted",value:function(e){this._highlighted=!!e,this._mesh.highlighted=this._highlighted,this._mesh.highlightMaterial.fillColor=e?[0,.7,0]:[0,0,0]}},{key:"getHighlighted",value:function(){return this._highlighted}},{key:"setSelected",value:function(e){this._selected=!!e,this._mesh.edgeMaterial.edgeWidth=e?3:1,this._mesh.highlightMaterial.edgeWidth=e?3:1}},{key:"getSelected",value:function(){return this._selected}},{key:"destroy",value:function(){this._sectionPlane.off(this._onSectionPlanePos),this._sectionPlane.off(this._onSectionPlaneDir),this._mesh.destroy()}}]),e}(),TR=function(){function e(t,n){var r=this;if(b(this,e),!(n.onHoverEnterPlane&&n.onHoverLeavePlane&&n.onClickedNothing&&n.onClickedPlane))throw"Missing config(s): onHoverEnterPlane, onHoverLeavePlane, onClickedNothing || onClickedPlane";this.plugin=t,this._viewer=t.viewer,this._onHoverEnterPlane=n.onHoverEnterPlane,this._onHoverLeavePlane=n.onHoverLeavePlane,this._onClickedNothing=n.onClickedNothing,this._onClickedPlane=n.onClickedPlane,this._visible=!0,this._planes={},this._canvas=n.overviewCanvas,this._scene=new zn(this._viewer,{canvasId:this._canvas.id,transparent:!0}),this._scene.clearLights(),new vn(this._scene,{dir:[.4,-.4,.8],color:[.8,1,1],intensity:1,space:"view"}),new vn(this._scene,{dir:[-.8,-.3,-.4],color:[.8,.8,.8],intensity:1,space:"view"}),new vn(this._scene,{dir:[.8,-.6,-.8],color:[1,1,1],intensity:1,space:"view"}),this._scene.camera,this._scene.camera.perspective.fov=70,this._zUp=!1;var i=this._scene.camera,a=$.rotationMat4c(-90*$.DEGTORAD,1,0,0),s=$.vec3(),o=$.vec3(),l=$.vec3();this._synchCamera=function(){var e=r._viewer.camera.eye,t=r._viewer.camera.look,n=r._viewer.camera.up;$.mulVec3Scalar($.normalizeVec3($.subVec3(e,t,s)),7),r._zUp?($.transformVec3(a,s,o),$.transformVec3(a,n,l),i.look=[0,0,0],i.eye=$.transformVec3(a,s,o),i.up=$.transformPoint3(a,n,l)):(i.look=[0,0,0],i.eye=s,i.up=n)},this._onViewerCameraMatrix=this._viewer.camera.on("matrix",this._synchCamera),this._onViewerCameraWorldAxis=this._viewer.camera.on("worldAxis",this._synchCamera),this._onViewerCameraFOV=this._viewer.camera.perspective.on("fov",(function(e){r._scene.camera.perspective.fov=e}));var u=null;this._onInputMouseMove=this._scene.input.on("mousemove",(function(e){var t=r._scene.pick({canvasPos:e});if(t){if(!u||t.entity.id!==u.id){if(u)r._planes[u.id]&&r._onHoverLeavePlane(u.id);u=t.entity,r._planes[u.id]&&r._onHoverEnterPlane(u.id)}}else u&&(r._onHoverLeavePlane(u.id),u=null)})),this._scene.canvas.canvas.addEventListener("mouseup",this._onCanvasMouseUp=function(){u?r._planes[u.id]&&r._onClickedPlane(u.id):r._onClickedNothing()}),this._scene.canvas.canvas.addEventListener("mouseout",this._onCanvasMouseOut=function(){u&&(r._onHoverLeavePlane(u.id),u=null)}),this.setVisible(n.overviewVisible)}return P(e,[{key:"addSectionPlane",value:function(e){this._planes[e.id]=new ER(this,this._scene,e)}},{key:"setPlaneHighlighted",value:function(e,t){var n=this._planes[e];n&&n.setHighlighted(t)}},{key:"setPlaneSelected",value:function(e,t){var n=this._planes[e];n&&n.setSelected(t)}},{key:"removeSectionPlane",value:function(e){var t=this._planes[e.id];t&&(t.destroy(),delete this._planes[e.id])}},{key:"setVisible",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this._visible=e,this._canvas.style.visibility=e?"visible":"hidden"}},{key:"getVisible",value:function(){return this._visible}},{key:"destroy",value:function(){this._viewer.camera.off(this._onViewerCameraMatrix),this._viewer.camera.off(this._onViewerCameraWorldAxis),this._viewer.camera.perspective.off(this._onViewerCameraFOV),this._scene.input.off(this._onInputMouseMove),this._scene.canvas.canvas.removeEventListener("mouseup",this._onCanvasMouseUp),this._scene.canvas.canvas.removeEventListener("mouseout",this._onCanvasMouseOut),this._scene.destroy()}}]),e}(),bR=$.AABB3(),DR=$.vec3(),PR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(b(this,n),(r=t.call(this,"FaceAlignedSectionPlanesPlugin",e))._freeControls=[],r._sectionPlanes=e.scene.sectionPlanes,r._controls={},r._shownControlId=null,r._dragSensitivity=i.dragSensitivity||1,null!==i.overviewCanvasId&&void 0!==i.overviewCanvasId){var a=document.getElementById(i.overviewCanvasId);a?r._overview=new TR(g(r),{overviewCanvas:a,visible:i.overviewVisible,onHoverEnterPlane:function(e){r._overview.setPlaneHighlighted(e,!0)},onHoverLeavePlane:function(e){r._overview.setPlaneHighlighted(e,!1)},onClickedPlane:function(e){if(r.getShownControl()!==e){r.showControl(e);var t=r.sectionPlanes[e].pos;bR.set(r.viewer.scene.aabb),$.getAABB3Center(bR,DR),bR[0]+=t[0]-DR[0],bR[1]+=t[1]-DR[1],bR[2]+=t[2]-DR[2],bR[3]+=t[0]-DR[0],bR[4]+=t[1]-DR[1],bR[5]+=t[2]-DR[2],r.viewer.cameraFlight.flyTo({aabb:bR,fitFOV:65})}else r.hideControl()},onClickedNothing:function(){r.hideControl()}}):r.warn("Can't find overview canvas: '"+i.overviewCanvasId+"' - will create plugin without overview")}return null===i.controlElementId||void 0===i.controlElementId?r.error("Parameter expected: controlElementId"):(r._controlElement=document.getElementById(i.controlElementId),r._controlElement||r.warn("Can't find control element: '"+i.controlElementId+"' - will create plugin without control element")),r._onSceneSectionPlaneCreated=e.scene.on("sectionPlaneCreated",(function(e){r._sectionPlaneCreated(e)})),r}return P(n,[{key:"setDragSensitivity",value:function(e){this._dragSensitivity=e||1}},{key:"getDragSensitivity",value:function(){return this._dragSensitivity}},{key:"setOverviewVisible",value:function(e){this._overview&&this._overview.setVisible(e)}},{key:"getOverviewVisible",value:function(){if(this._overview)return this._overview.getVisible()}},{key:"sectionPlanes",get:function(){return this._sectionPlanes}},{key:"createSectionPlane",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};void 0!==e.id&&null!==e.id&&this.viewer.scene.components[e.id]&&(this.error("Viewer component with this ID already exists: "+e.id),delete e.id);var t=new ia(this.viewer.scene,{id:e.id,pos:e.pos,dir:e.dir,active:!0});return t}},{key:"_sectionPlaneCreated",value:function(e){var t=this,n=this._freeControls.length>0?this._freeControls.pop():new gR(this);n._setSectionPlane(e),n.setVisible(!1),this._controls[e.id]=n,this._overview&&this._overview.addSectionPlane(e),e.once("destroyed",(function(){t._sectionPlaneDestroyed(e)}))}},{key:"flipSectionPlanes",value:function(){var e=this.viewer.scene.sectionPlanes;for(var t in e){e[t].flipDir()}}},{key:"showControl",value:function(e){var t=this._controls[e];t?(this.hideControl(),t.setVisible(!0),this._overview&&this._overview.setPlaneSelected(e,!0),this._shownControlId=e):this.error("Control not found: "+e)}},{key:"getShownControl",value:function(){return this._shownControlId}},{key:"hideControl",value:function(){for(var e in this._controls)this._controls.hasOwnProperty(e)&&(this._controls[e].setVisible(!1),this._overview&&this._overview.setPlaneSelected(e,!1));this._shownControlId=null}},{key:"destroySectionPlane",value:function(e){var t=this.viewer.scene.sectionPlanes[e];t?(this._sectionPlaneDestroyed(t),t.destroy(),e===this._shownControlId&&(this._shownControlId=null)):this.error("SectionPlane not found: "+e)}},{key:"_sectionPlaneDestroyed",value:function(e){this._overview&&this._overview.removeSectionPlane(e);var t=this._controls[e.id];t&&(t.setVisible(!1),t._setSectionPlane(null),delete this._controls[e.id],this._freeControls.push(t))}},{key:"clear",value:function(){for(var e=Object.keys(this._sectionPlanes),t=0,n=e.length;t>5&31)/31,s=(C>>10&31)/31):(i=l,a=u,s=c),(E&&i!==d||a!==v||s!==h)&&(null!==d&&(I=!0),d=i,v=a,h=s)}for(var _=1;_<=3;_++){var B=b+12*_;w.push(f.getFloat32(B,!0)),w.push(f.getFloat32(B+4,!0)),w.push(f.getFloat32(B+8,!0)),g.push(D,P,R),A&&o.push(i,a,s,1)}E&&I&&(LR(n,w,g,o,m,r),w=[],g=[],o=o?[]:null,I=!1)}w.length>0&&LR(n,w,g,o,m,r)}function NR(e,t,n,r){for(var i,a,s,o,l,u,c,f=/facet([\s\S]*?)endfacet/g,p=0,A=/[\s]+([+-]?(?:\d+.\d+|\d+.|\d+|.\d+)(?:[eE][+-]?\d+)?)/.source,d=new RegExp("vertex"+A+A+A,"g"),v=new RegExp("normal"+A+A+A,"g"),h=[],I=[];null!==(o=f.exec(t));){for(l=0,u=0,c=o[0];null!==(o=v.exec(c));)i=parseFloat(o[1]),a=parseFloat(o[2]),s=parseFloat(o[3]),u++;for(;null!==(o=d.exec(c));)h.push(parseFloat(o[1]),parseFloat(o[2]),parseFloat(o[3])),I.push(i,a,s),l++;1!==u&&e.error("Error in normal of face "+p),3!==l&&e.error("Error in positions of face "+p),p++}LR(n,h,I,null,new ya(n,{roughness:.5}),r)}function LR(e,t,n,r,i,a){for(var s=new Int32Array(t.length/3),o=0,l=s.length;o0?n:null,r=r&&r.length>0?r:null,a.smoothNormals&&$.faceToVertexNormals(t,n,a);var u=_R;Se(t,t,u);var c=new Cn(e,{primitive:"triangles",positions:t,normals:n,colors:r,indices:s}),f=new Ji(e,{origin:0!==u[0]||0!==u[1]||0!==u[2]?u:null,geometry:c,material:i,edges:a.edges});e.addChild(f)}function MR(e){return"string"!=typeof e?function(e){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(e);for(var t="",n=0,r=e.length;n1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"STLLoader",e,i))._sceneGraphLoader=new BR,r.dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new CR}},{key:"load",value:function(e){e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src,r=e.stl;return n||r?(n?this._sceneGraphLoader.load(this,t,n,e):this._sceneGraphLoader.parse(this,t,r,e),t):(this.error("load() param expected: either 'src' or 'stl'"),t)}}]),n}(),HR=[],UR=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,n),(r=t.call(this,"TreeViewPlugin",e)).errors=[],r.valid=!0;var a=i.containerElement||document.getElementById(i.containerElementId);if(!(a instanceof HTMLElement))return r.error("Mandatory config expected: valid containerElementId or containerElement"),w(r);for(var s=0;;s++)if(!HR[s]){HR[s]=g(r),r._index=s,r._id="tree-".concat(s);break}if(r._containerElement=a,r._metaModels={},r._autoAddModels=!1!==i.autoAddModels,r._autoExpandDepth=i.autoExpandDepth||0,r._sortNodes=!1!==i.sortNodes,r._pruneEmptyNodes=!1!==i.pruneEmptyNodes,r._viewer=e,r._rootElement=null,r._muteSceneEvents=!1,r._muteTreeEvents=!1,r._rootNodes=[],r._objectNodes={},r._nodeNodes={},r._rootName=i.rootName,r._sortNodes=i.sortNodes,r._pruneEmptyNodes=i.pruneEmptyNodes,r._showListItemElementId=null,r._containerElement.oncontextmenu=function(e){e.preventDefault()},r._onObjectVisibility=r._viewer.scene.on("objectVisibility",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){var i=e.visible;if(i!==n.checked){r._muteTreeEvents=!0,n.checked=i,i?n.numVisibleEntities++:n.numVisibleEntities--;var a=document.getElementById("checkbox-".concat(n.nodeId));a&&(a.checked=i);for(var s=n.parent;s;){s.checked=i,i?s.numVisibleEntities++:s.numVisibleEntities--;var o=document.getElementById("checkbox-".concat(s.nodeId));if(o){var l=s.numVisibleEntities>0;l!==o.checked&&(o.checked=l)}s=s.parent}r._muteTreeEvents=!1}}}})),r._onObjectXrayed=r._viewer.scene.on("objectXRayed",(function(e){if(!r._muteSceneEvents){var t=e.id,n=r._objectNodes[t];if(n){r._muteTreeEvents=!0;var i=e.xrayed;if(i!==n.xrayed){n.xrayed=i;var a=n.nodeId,s=document.getElementById(a);null!==s&&(i?s.classList.add("xrayed-node"):s.classList.remove("xrayed-node")),r._muteTreeEvents=!1}}}})),r._switchExpandHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._expandSwitchElement(t)},r._switchCollapseHandler=function(e){e.preventDefault(),e.stopPropagation();var t=e.target;r._collapseSwitchElement(t)},r._checkboxChangeHandler=function(e){if(!r._muteTreeEvents){r._muteSceneEvents=!0;var t=e.target,n=t.checked,i=t.id.replace("checkbox-",""),a=r._nodeNodes[i],s=r._viewer.scene.objects,o=0;r._withNodeTree(a,(function(e){var t=e.objectId,r="checkbox-".concat(e.nodeId),i=s[t],a=0===e.children.length;e.numVisibleEntities=n?e.numEntities:0,a&&n!==e.checked&&o++,e.checked=n;var l=document.getElementById(r);l&&(l.checked=n),i&&(i.visible=n)}));for(var l=a.parent;l;){l.checked=n;var u=document.getElementById("checkbox-".concat(l.nodeId));n?l.numVisibleEntities+=o:l.numVisibleEntities-=o;var c=l.numVisibleEntities>0;c!==u.checked&&(u.checked=c),l=l.parent}r._muteSceneEvents=!1}},r._hierarchy=i.hierarchy||"containment",r._autoExpandDepth=i.autoExpandDepth||0,r._autoAddModels){for(var o=Object.keys(r.viewer.metaScene.metaModels),l=0,u=o.length;l0;return this.valid}},{key:"_validateMetaModelForStoreysHierarchy",value:function(){return!0}},{key:"_createEnabledNodes",value:function(){switch(this._pruneEmptyNodes&&this._findEmptyNodes(),this._hierarchy){case"storeys":this._createStoreysNodes(),0===this._rootNodes.length&&this.error("Failed to build storeys hierarchy");break;case"types":this._createTypesNodes();break;default:this._createContainmentNodes()}this._sortNodes&&this._doSortNodes(),this._synchNodesToEntities(),this._createTrees(),this.expandToDepth(this._autoExpandDepth)}},{key:"_createDisabledNodes",value:function(){var e=document.createElement("ul");this._rootElement=e,this._containerElement.appendChild(e);var t=this._viewer.metaScene.rootMetaObjects;for(var n in t){var r=t[n],i=r.type,a=r.name,s=a&&""!==a&&"Undefined"!==a&&"Default"!==a?a:i,o=document.createElement("li");e.appendChild(o);var l=document.createElement("a");l.href="#",l.textContent="!",l.classList.add("warn"),l.classList.add("warning"),o.appendChild(l);var u=document.createElement("span");u.textContent=s,o.appendChild(u)}}},{key:"_findEmptyNodes",value:function(){var e=this._viewer.metaScene.rootMetaObjects;for(var t in e)this._findEmptyNodes2(e[t])}},{key:"_findEmptyNodes2",value:function(e){var t=this.viewer,n=t.scene,r=e.children,i=e.id,a=n.objects[i];if(e._countEntities=0,a&&e._countEntities++,r)for(var s=0,o=r.length;si.aabb[a]?-1:e.aabb[a]r?1:0}},{key:"_synchNodesToEntities",value:function(){for(var e=Object.keys(this.viewer.metaScene.metaObjects),t=this._viewer.metaScene.metaObjects,n=this._viewer.scene.objects,r=0,i=e.length;r0){var i="switch-"+r,a=document.createElement("a");a.href="#",a.id=i,a.textContent="+",a.classList.add("plus"),a.addEventListener("click",this._switchExpandHandler),n.appendChild(a)}var s=document.createElement("input");s.id="checkbox-".concat(r),s.type="checkbox",s.checked=e.checked,s.style["pointer-events"]="all",s.addEventListener("change",this._checkboxChangeHandler),n.appendChild(s);var o=document.createElement("span");return o.textContent=e.title,n.appendChild(o),o.oncontextmenu=function(n){t.fire("contextmenu",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},o.onclick=function(n){t.fire("nodeTitleClicked",{event:n,viewer:t._viewer,treeViewPlugin:t,treeViewNode:e}),n.preventDefault()},n}},{key:"_expandSwitchElement",value:function(e){var t=this,n=e.parentElement;if(!n.getElementsByTagName("li")[0]){var r=n.id,i=this._nodeNodes[r].children.map((function(e){return t._createNodeElement(e)})),a=document.createElement("ul");i.forEach((function(e){a.appendChild(e)})),n.appendChild(a),e.classList.remove("plus"),e.classList.add("minus"),e.textContent="-",e.removeEventListener("click",this._switchExpandHandler),e.addEventListener("click",this._switchCollapseHandler)}}},{key:"_collapseNode",value:function(e){var t="switch-"+e,n=document.getElementById(t);this._collapseSwitchElement(n)}},{key:"_collapseSwitchElement",value:function(e){if(e){var t=e.parentElement;if(t){var n=t.querySelector("ul");n&&(t.removeChild(n),e.classList.remove("minus"),e.classList.add("plus"),e.textContent="+",e.removeEventListener("click",this._switchCollapseHandler),e.addEventListener("click",this._switchExpandHandler))}}}}]),n}(),GR=function(){function e(t){var n=this;b(this,e),this._scene=t,this._objects=[],this._objectsViewCulled=[],this._objectsDetailCulled=[],this._objectsChanged=[],this._objectsChangedList=[],this._modelInfos={},this._numObjects=0,this._lenObjectsChangedList=0,this._dirty=!0,this._onModelLoaded=t.on("modelLoaded",(function(e){var r=t.models[e];r&&n._addModel(r)})),this._onTick=t.on("tick",(function(){n._dirty&&n._build(),n._applyChanges()}))}return P(e,[{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._dirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._dirty=!0)}},{key:"_build",value:function(){if(this._dirty){this._applyChanges();for(var e=this._scene.objects,t=0;t0){for(var e=0;e1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ViewCull",e))._objectCullStates=jR(e.scene),r._maxTreeDepth=i.maxTreeDepth||8,r._modelInfos={},r._frustum=new Te,r._kdRoot=null,r._frustumDirty=!1,r._kdTreeDirty=!1,r._onViewMatrix=e.scene.camera.on("viewMatrix",(function(){r._frustumDirty=!0})),r._onProjMatrix=e.scene.camera.on("projMatMatrix",(function(){r._frustumDirty=!0})),r._onModelLoaded=e.scene.on("modelLoaded",(function(e){var t=r.viewer.scene.models[e];t&&r._addModel(t)})),r._onSceneTick=e.scene.on("tick",(function(){r._doCull()})),r}return P(n,[{key:"enabled",get:function(){return this._enabled},set:function(e){this._enabled=e}},{key:"_addModel",value:function(e){var t=this,n={model:e,onDestroyed:e.on("destroyed",(function(){t._removeModel(e)}))};this._modelInfos[e.id]=n,this._kdTreeDirty=!0}},{key:"_removeModel",value:function(e){var t=this._modelInfos[e.id];t&&(t.model.off(t.onDestroyed),delete this._modelInfos[e.id],this._kdTreeDirty=!0)}},{key:"_doCull",value:function(){var e=this._frustumDirty||this._kdTreeDirty;if(this._frustumDirty&&this._buildFrustum(),this._kdTreeDirty&&this._buildKDTree(),e){var t=this._kdRoot;t&&this._visitKDNode(t)}}},{key:"_buildFrustum",value:function(){var e=this.viewer.scene.camera;be(this._frustum,e.viewMatrix,e.projMatrix),this._frustumDirty=!1}},{key:"_buildKDTree",value:function(){var e=this.viewer.scene;this._kdRoot,this._kdRoot={aabb:e.getAABB(),intersection:Te.INTERSECT};for(var t=0,n=this._objectCullStates.numObjects;t=this._maxTreeDepth)return e.objects=e.objects||[],e.objects.push(n),void $.expandAABB3(e.aabb,i);if(e.left&&$.containsAABB3(e.left.aabb,i))this._insertEntityIntoKDTree(e.left,t,n,r+1);else if(e.right&&$.containsAABB3(e.right.aabb,i))this._insertEntityIntoKDTree(e.right,t,n,r+1);else{var a=e.aabb;VR[0]=a[3]-a[0],VR[1]=a[4]-a[1],VR[2]=a[5]-a[2];var s=0;if(VR[1]>VR[s]&&(s=1),VR[2]>VR[s]&&(s=2),!e.left){var o=a.slice();if(o[s+3]=(a[s]+a[s+3])/2,e.left={aabb:o,intersection:Te.INTERSECT},$.containsAABB3(o,i))return void this._insertEntityIntoKDTree(e.left,t,n,r+1)}if(!e.right){var l=a.slice();if(l[s]=(a[s]+a[s+3])/2,e.right={aabb:l,intersection:Te.INTERSECT},$.containsAABB3(l,i))return void this._insertEntityIntoKDTree(e.right,t,n,r+1)}e.objects=e.objects||[],e.objects.push(n),$.expandAABB3(e.aabb,i)}}},{key:"_visitKDNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Te.INTERSECT;if(t===Te.INTERSECT||e.intersects!==t){t===Te.INTERSECT&&(t=De(this._frustum,e.aabb),e.intersects=t);var n=t===Te.OUTSIDE,r=e.objects;if(r&&r.length>0)for(var i=0,a=r.length;i=0;)e[t]=0}var n=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),r=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);var o=new Array(60);t(o);var l=new Array(512);t(l);var u=new Array(256);t(u);var c=new Array(29);t(c);var f,p,A,d=new Array(30);function v(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}function h(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}t(d);var I=function(e){return e<256?l[e]:l[256+(e>>>7)]},y=function(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255},m=function(e,t,n){e.bi_valid>16-n?(e.bi_buf|=t<>16-e.bi_valid,e.bi_valid+=n-16):(e.bi_buf|=t<>>=1,n<<=1}while(--t>0);return n>>>1},E=function(e,t,n){var r,i,a=new Array(16),s=0;for(r=1;r<=15;r++)s=s+n[r-1]<<1,a[r]=s;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=g(a[o]++,o))}},b=function(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},D=function(e){e.bi_valid>8?y(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},P=function(e,t,n,r){var i=2*t,a=2*n;return e[i]>1;n>=1;n--)R(e,a,n);i=l;do{n=e.heap[1],e.heap[1]=e.heap[e.heap_len--],R(e,a,1),r=e.heap[1],e.heap[--e.heap_max]=n,e.heap[--e.heap_max]=r,a[2*i]=a[2*n]+a[2*r],e.depth[i]=(e.depth[n]>=e.depth[r]?e.depth[n]:e.depth[r])+1,a[2*n+1]=a[2*r+1]=i,e.heap[1]=i++,R(e,a,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var n,r,i,a,s,o,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,f=t.stat_desc.has_stree,p=t.stat_desc.extra_bits,A=t.stat_desc.extra_base,d=t.stat_desc.max_length,v=0;for(a=0;a<=15;a++)e.bl_count[a]=0;for(l[2*e.heap[e.heap_max]+1]=0,n=e.heap_max+1;n<573;n++)(a=l[2*l[2*(r=e.heap[n])+1]+1]+1)>d&&(a=d,v++),l[2*r+1]=a,r>u||(e.bl_count[a]++,s=0,r>=A&&(s=p[r-A]),o=l[2*r],e.opt_len+=o*(a+s),f&&(e.static_len+=o*(c[2*r+1]+s)));if(0!==v){do{for(a=d-1;0===e.bl_count[a];)a--;e.bl_count[a]--,e.bl_count[a+1]+=2,e.bl_count[d]--,v-=2}while(v>0);for(a=d;0!==a;a--)for(r=e.bl_count[a];0!==r;)(i=e.heap[--n])>u||(l[2*i+1]!==a&&(e.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),r--)}}(e,t),E(a,u,e.bl_count)},B=function(e,t,n){var r,i,a=-1,s=t[1],o=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(n+1)+1]=65535,r=0;r<=n;r++)i=s,s=t[2*(r+1)+1],++o>=7;h<30;h++)for(d[h]=I<<7,e=0;e<1<0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,n=4093624447;for(t=0;t<=31;t++,n>>>=1)if(1&n&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),_(e,e.l_desc),_(e,e.d_desc),u=function(e){var t;for(B(e,e.dyn_ltree,e.l_desc.max_code),B(e,e.dyn_dtree,e.d_desc.max_code),_(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*a[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(l=e.static_len+3+7>>>3)<=i&&(i=l)):i=l=n+5,n+4<=i&&-1!==t?N(e,t,n,r):4===e.strategy||l===i?(m(e,2+(r?1:0),3),C(e,s,o)):(m(e,4+(r?1:0),3),function(e,t,n,r){var i;for(m(e,t-257,5),m(e,n-1,5),m(e,r-4,4),i=0;i>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,0===t?e.dyn_ltree[2*n]++:(e.matches++,t--,e.dyn_ltree[2*(u[n]+256+1)]++,e.dyn_dtree[2*I(t)]++),e.sym_next===e.sym_end},H=function(e){m(e,2,3),w(e,256,s),function(e){16===e.bi_valid?(y(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)},U=function(e,t,n,r){for(var i=65535&e|0,a=e>>>16&65535|0,s=0;0!==n;){n-=s=n>2e3?2e3:n;do{a=a+(i=i+t[r++]|0)|0}while(--s);i%=65521,a%=65521}return i|a<<16|0},G=new Uint32Array(function(){for(var e,t=[],n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=1&e?3988292384^e>>>1:e>>>1;t[n]=e}return t}()),k=function(e,t,n,r){var i=G,a=r+n;e^=-1;for(var s=r;s>>8^i[255&(e^t[s])];return-1^e},j={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},V={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8},Q=L,W=M,z=x,K=F,Y=H,X=V.Z_NO_FLUSH,q=V.Z_PARTIAL_FLUSH,J=V.Z_FULL_FLUSH,Z=V.Z_FINISH,$=V.Z_BLOCK,ee=V.Z_OK,te=V.Z_STREAM_END,ne=V.Z_STREAM_ERROR,re=V.Z_DATA_ERROR,ie=V.Z_BUF_ERROR,ae=V.Z_DEFAULT_COMPRESSION,se=V.Z_FILTERED,oe=V.Z_HUFFMAN_ONLY,le=V.Z_RLE,ue=V.Z_FIXED,ce=V.Z_UNKNOWN,fe=V.Z_DEFLATED,pe=258,Ae=262,de=42,ve=113,he=666,Ie=function(e,t){return e.msg=j[t],t},ye=function(e){return 2*e-(e>4?9:0)},me=function(e){for(var t=e.length;--t>=0;)e[t]=0},we=function(e){var t,n,r,i=e.w_size;r=t=e.hash_size;do{n=e.head[--r],e.head[r]=n>=i?n-i:0}while(--t);r=t=i;do{n=e.prev[--r],e.prev[r]=n>=i?n-i:0}while(--t)},ge=function(e,t,n){return(t<e.avail_out&&(n=e.avail_out),0!==n&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,0===t.pending&&(t.pending_out=0))},Te=function(e,t){z(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,Ee(e.strm)},be=function(e,t){e.pending_buf[e.pending++]=t},De=function(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t},Pe=function(e,t,n,r){var i=e.avail_in;return i>r&&(i=r),0===i?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),1===e.state.wrap?e.adler=U(e.adler,t,i,n):2===e.state.wrap&&(e.adler=k(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},Re=function(e,t){var n,r,i=e.max_chain_length,a=e.strstart,s=e.prev_length,o=e.nice_match,l=e.strstart>e.w_size-Ae?e.strstart-(e.w_size-Ae):0,u=e.window,c=e.w_mask,f=e.prev,p=e.strstart+pe,A=u[a+s-1],d=u[a+s];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(n=t)+s]===d&&u[n+s-1]===A&&u[n]===u[a]&&u[++n]===u[a+1]){a+=2,n++;do{}while(u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&as){if(e.match_start=t,s=r,r>=o)break;A=u[a+s-1],d=u[a+s]}}}while((t=f[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead},Ce=function(e){var t,n,r,i=e.w_size;do{if(n=e.window_size-e.lookahead-e.strstart,e.strstart>=i+(i-Ae)&&(e.window.set(e.window.subarray(i,i+i-n),0),e.match_start-=i,e.strstart-=i,e.block_start-=i,e.insert>e.strstart&&(e.insert=e.strstart),we(e),n+=i),0===e.strm.avail_in)break;if(t=Pe(e.strm,e.window,e.strstart+e.lookahead,n),e.lookahead+=t,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=ge(e,e.ins_h,e.window[r+1]);e.insert&&(e.ins_h=ge(e,e.ins_h,e.window[r+3-1]),e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookaheade.w_size?e.w_size:e.pending_buf_size-5,s=0,o=e.strm.avail_in;do{if(n=65535,i=e.bi_valid+42>>3,e.strm.avail_out(r=e.strstart-e.block_start)+e.strm.avail_in&&(n=r+e.strm.avail_in),n>i&&(n=i),n>8,e.pending_buf[e.pending-2]=~n,e.pending_buf[e.pending-1]=~n>>8,Ee(e.strm),r&&(r>n&&(r=n),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+r),e.strm.next_out),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r,e.block_start+=r,n-=r),n&&(Pe(e.strm,e.strm.output,e.strm.next_out,n),e.strm.next_out+=n,e.strm.avail_out-=n,e.strm.total_out+=n)}while(0===s);return(o-=e.strm.avail_in)&&(o>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=o&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-o,e.strm.next_in),e.strstart),e.strstart+=o,e.insert+=o>e.w_size-e.insert?e.w_size-e.insert:o),e.block_start=e.strstart),e.high_wateri&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,i+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),i>e.strm.avail_in&&(i=e.strm.avail_in),i&&(Pe(e.strm,e.window,e.strstart,i),e.strstart+=i,e.insert+=i>e.w_size-e.insert?e.w_size-e.insert:i),e.high_water>3,a=(i=e.pending_buf_size-i>65535?65535:e.pending_buf_size-i)>e.w_size?e.w_size:i,((r=e.strstart-e.block_start)>=a||(r||t===Z)&&t!==X&&0===e.strm.avail_in&&r<=i)&&(n=r>i?i:r,s=t===Z&&0===e.strm.avail_in&&n===r?1:0,W(e,e.block_start,n,s),e.block_start+=n,Ee(e.strm)),s?3:1)},Be=function(e,t){for(var n,r;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==n&&e.strstart-n<=e.w_size-Ae&&(e.match_length=Re(e,n)),e.match_length>=3)if(r=K(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do{e.strstart++,e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=ge(e,e.ins_h,e.window[e.strstart+1]);else r=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2},Oe=function(e,t){for(var n,r,i;;){if(e.lookahead=3&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==n&&e.prev_length4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-3,r=K(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=ge(e,e.ins_h,e.window[e.strstart+3-1]),n=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,r&&(Te(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((r=K(e,0,e.window[e.strstart-1]))&&Te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=K(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2};function Se(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}var Ne=[new Se(0,0,0,0,_e),new Se(4,4,8,4,Be),new Se(4,5,16,8,Be),new Se(4,6,32,32,Be),new Se(4,4,16,16,Oe),new Se(8,16,32,32,Oe),new Se(8,16,128,128,Oe),new Se(8,32,128,256,Oe),new Se(32,128,258,1024,Oe),new Se(32,258,258,4096,Oe)];function Le(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=fe,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),me(this.dyn_ltree),me(this.dyn_dtree),me(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),me(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),me(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}var Me=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.status!==de&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==ve&&t.status!==he?1:0},xe=function(e){if(Me(e))return Ie(e,ne);e.total_in=e.total_out=0,e.data_type=ce;var t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?de:ve,e.adler=2===t.wrap?0:1,t.last_flush=-2,Q(t),ee},Fe=function(e){var t,n=xe(e);return n===ee&&((t=e.state).window_size=2*t.w_size,me(t.head),t.max_lazy_match=Ne[t.level].max_lazy,t.good_match=Ne[t.level].good_length,t.nice_match=Ne[t.level].nice_length,t.max_chain_length=Ne[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=2,t.match_available=0,t.ins_h=0),n},He=function(e,t,n,r,i,a){if(!e)return ne;var s=1;if(t===ae&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>9||n!==fe||r<8||r>15||t<0||t>9||a<0||a>ue||8===r&&1!==s)return Ie(e,ne);8===r&&(r=9);var o=new Le;return e.state=o,o.strm=e,o.status=de,o.wrap=s,o.gzhead=null,o.w_bits=r,o.w_size=1<$||t<0)return e?Ie(e,ne):ne;var n=e.state;if(!e.output||0!==e.avail_in&&!e.input||n.status===he&&t!==Z)return Ie(e,0===e.avail_out?ie:ne);var r=n.last_flush;if(n.last_flush=t,0!==n.pending){if(Ee(e),0===e.avail_out)return n.last_flush=-1,ee}else if(0===e.avail_in&&ye(t)<=ye(r)&&t!==Z)return Ie(e,ie);if(n.status===he&&0!==e.avail_in)return Ie(e,ie);if(n.status===de&&0===n.wrap&&(n.status=ve),n.status===de){var i=fe+(n.w_bits-8<<4)<<8;if(i|=(n.strategy>=oe||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(i|=32),De(n,i+=31-i%31),0!==n.strstart&&(De(n,e.adler>>>16),De(n,65535&e.adler)),e.adler=1,n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(57===n.status)if(e.adler=0,be(n,31),be(n,139),be(n,8),n.gzhead)be(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),be(n,255&n.gzhead.time),be(n,n.gzhead.time>>8&255),be(n,n.gzhead.time>>16&255),be(n,n.gzhead.time>>24&255),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(be(n,255&n.gzhead.extra.length),be(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=k(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69;else if(be(n,0),be(n,0),be(n,0),be(n,0),be(n,0),be(n,9===n.level?2:n.strategy>=oe||n.level<2?4:0),be(n,3),n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee;if(69===n.status){if(n.gzhead.extra){for(var a=n.pending,s=(65535&n.gzhead.extra.length)-n.gzindex;n.pending+s>n.pending_buf_size;){var o=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+o),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex+=o,Ee(e),0!==n.pending)return n.last_flush=-1,ee;a=0,s-=o}var l=new Uint8Array(n.gzhead.extra);n.pending_buf.set(l.subarray(n.gzindex,n.gzindex+s),n.pending),n.pending+=s,n.gzhead.hcrc&&n.pending>a&&(e.adler=k(e.adler,n.pending_buf,n.pending-a,a)),n.gzindex=0}n.status=73}if(73===n.status){if(n.gzhead.name){var u,c=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>c&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;c=0}u=n.gzindexc&&(e.adler=k(e.adler,n.pending_buf,n.pending-c,c)),n.gzindex=0}n.status=91}if(91===n.status){if(n.gzhead.comment){var f,p=n.pending;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>p&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p)),Ee(e),0!==n.pending)return n.last_flush=-1,ee;p=0}f=n.gzindexp&&(e.adler=k(e.adler,n.pending_buf,n.pending-p,p))}n.status=103}if(103===n.status){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(Ee(e),0!==n.pending))return n.last_flush=-1,ee;be(n,255&e.adler),be(n,e.adler>>8&255),e.adler=0}if(n.status=ve,Ee(e),0!==n.pending)return n.last_flush=-1,ee}if(0!==e.avail_in||0!==n.lookahead||t!==X&&n.status!==he){var A=0===n.level?_e(n,t):n.strategy===oe?function(e,t){for(var n;;){if(0===e.lookahead&&(Ce(e),0===e.lookahead)){if(t===X)return 1;break}if(e.match_length=0,n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):n.strategy===le?function(e,t){for(var n,r,i,a,s=e.window;;){if(e.lookahead<=pe){if(Ce(e),e.lookahead<=pe&&t===X)return 1;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&((r=s[i=e.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i])){a=e.strstart+pe;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&ie.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(n=K(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=K(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(Te(e,!1),0===e.strm.avail_out))return 1}return e.insert=0,t===Z?(Te(e,!0),0===e.strm.avail_out?3:4):e.sym_next&&(Te(e,!1),0===e.strm.avail_out)?1:2}(n,t):Ne[n.level].func(n,t);if(3!==A&&4!==A||(n.status=he),1===A||3===A)return 0===e.avail_out&&(n.last_flush=-1),ee;if(2===A&&(t===q?Y(n):t!==$&&(W(n,0,0,!1),t===J&&(me(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),Ee(e),0===e.avail_out))return n.last_flush=-1,ee}return t!==Z?ee:n.wrap<=0?te:(2===n.wrap?(be(n,255&e.adler),be(n,e.adler>>8&255),be(n,e.adler>>16&255),be(n,e.adler>>24&255),be(n,255&e.total_in),be(n,e.total_in>>8&255),be(n,e.total_in>>16&255),be(n,e.total_in>>24&255)):(De(n,e.adler>>>16),De(n,65535&e.adler)),Ee(e),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?ee:te)},je=function(e){if(Me(e))return ne;var t=e.state.status;return e.state=null,t===ve?Ie(e,re):ee},Ve=function(e,t){var n=t.length;if(Me(e))return ne;var r=e.state,i=r.wrap;if(2===i||1===i&&r.status!==de||r.lookahead)return ne;if(1===i&&(e.adler=U(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){0===i&&(me(r.head),r.strstart=0,r.block_start=0,r.insert=0);var a=new Uint8Array(r.w_size);a.set(t.subarray(n-r.w_size,n),0),t=a,n=r.w_size}var s=e.avail_in,o=e.next_in,l=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,Ce(r);r.lookahead>=3;){var u=r.strstart,c=r.lookahead-2;do{r.ins_h=ge(r,r.ins_h,r.window[u+3-1]),r.prev[u&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=u,u++}while(--c);r.strstart=u,r.lookahead=2,Ce(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,e.next_in=o,e.input=l,e.avail_in=s,r.wrap=i,ee},Qe=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},We=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var n=t.shift();if(n){if("object"!=T(n))throw new TypeError(n+"must be non-object");for(var r in n)Qe(n,r)&&(e[r]=n[r])}}return e},ze=function(e){for(var t=0,n=0,r=e.length;n=252?6:Xe>=248?5:Xe>=240?4:Xe>=224?3:Xe>=192?2:1;Ye[254]=Ye[254]=1;var qe=function(e){if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(e);var t,n,r,i,a,s=e.length,o=0;for(i=0;i>>6,t[a++]=128|63&n):n<65536?(t[a++]=224|n>>>12,t[a++]=128|n>>>6&63,t[a++]=128|63&n):(t[a++]=240|n>>>18,t[a++]=128|n>>>12&63,t[a++]=128|n>>>6&63,t[a++]=128|63&n);return t},Je=function(e,t){var n,r,i=t||e.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(e.subarray(0,t));var a=new Array(2*i);for(r=0,n=0;n4)a[r++]=65533,n+=o-1;else{for(s&=2===o?31:3===o?15:7;o>1&&n1?a[r++]=65533:s<65536?a[r++]=s:(s-=65536,a[r++]=55296|s>>10&1023,a[r++]=56320|1023&s)}}}return function(e,t){if(t<65534&&e.subarray&&Ke)return String.fromCharCode.apply(null,e.length===t?e:e.subarray(0,t));for(var n="",r=0;re.length&&(t=e.length);for(var n=t-1;n>=0&&128==(192&e[n]);)n--;return n<0||0===n?t:n+Ye[e[n]]>t?n:t},$e=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0},et=Object.prototype.toString,tt=V.Z_NO_FLUSH,nt=V.Z_SYNC_FLUSH,rt=V.Z_FULL_FLUSH,it=V.Z_FINISH,at=V.Z_OK,st=V.Z_STREAM_END,ot=V.Z_DEFAULT_COMPRESSION,lt=V.Z_DEFAULT_STRATEGY,ut=V.Z_DEFLATED;function ct(e){this.options=We({level:ot,method:ut,chunkSize:16384,windowBits:15,memLevel:8,strategy:lt},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=Ue(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(n!==at)throw new Error(j[n]);if(t.header&&Ge(this.strm,t.header),t.dictionary){var r;if(r="string"==typeof t.dictionary?qe(t.dictionary):"[object ArrayBuffer]"===et.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(n=Ve(this.strm,r))!==at)throw new Error(j[n]);this._dict_set=!0}}function ft(e,t){var n=new ct(t);if(n.push(e,!0),n.err)throw n.msg||j[n.err];return n.result}ct.prototype.push=function(e,t){var n,r,i=this.strm,a=this.options.chunkSize;if(this.ended)return!1;for(r=t===~~t?t:!0===t?it:tt,"string"==typeof e?i.input=qe(e):"[object ArrayBuffer]"===et.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(a),i.next_out=0,i.avail_out=a),(r===nt||r===rt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if((n=ke(i,r))===st)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),n=je(this.strm),this.onEnd(n),this.ended=!0,n===at;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},ct.prototype.onData=function(e){this.chunks.push(e)},ct.prototype.onEnd=function(e){e===at&&(this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var pt=ct,At=ft,dt=function(e,t){return(t=t||{}).raw=!0,ft(e,t)},vt=function(e,t){return(t=t||{}).gzip=!0,ft(e,t)},ht=16209,It=function(e,t){var n,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,b,D,P=e.state;n=e.next_in,b=e.input,r=n+(e.avail_in-5),i=e.next_out,D=e.output,a=i-(t-e.avail_out),s=i+(e.avail_out-257),o=P.dmax,l=P.wsize,u=P.whave,c=P.wnext,f=P.window,p=P.hold,A=P.bits,d=P.lencode,v=P.distcode,h=(1<>>=m=y>>>24,A-=m,0===(m=y>>>16&255))D[i++]=65535&y;else{if(!(16&m)){if(0==(64&m)){y=d[(65535&y)+(p&(1<>>=m,A-=m),A<15&&(p+=b[n++]<>>=m=y>>>24,A-=m,!(16&(m=y>>>16&255))){if(0==(64&m)){y=v[(65535&y)+(p&(1<o){e.msg="invalid distance too far back",P.mode=ht;break e}if(p>>>=m,A-=m,g>(m=i-a)){if((m=g-m)>u&&P.sane){e.msg="invalid distance too far back",P.mode=ht;break e}if(E=0,T=f,0===c){if(E+=l-m,m2;)D[i++]=T[E++],D[i++]=T[E++],D[i++]=T[E++],w-=3;w&&(D[i++]=T[E++],w>1&&(D[i++]=T[E++]))}else{E=i-g;do{D[i++]=D[E++],D[i++]=D[E++],D[i++]=D[E++],w-=3}while(w>2);w&&(D[i++]=D[E++],w>1&&(D[i++]=D[E++]))}break}}break}}while(n>3,p&=(1<<(A-=w<<3))-1,e.next_in=n,e.next_out=i,e.avail_in=n=1&&0===_[g];g--);if(E>g&&(E=g),0===g)return i[a++]=20971520,i[a++]=20971520,o.bits=1,0;for(w=1;w0&&(0===e||1!==g))return-1;for(B[1]=0,y=1;y<15;y++)B[y+1]=B[y]+_[y];for(m=0;m852||2===e&&P>592)return 1;for(;;){d=y-b,s[m]+1=A?(v=O[s[m]-A],h=C[s[m]-A]):(v=96,h=0),l=1<>b)+(u-=l)]=d<<24|v<<16|h|0}while(0!==u);for(l=1<>=1;if(0!==l?(R&=l-1,R+=l):R=0,m++,0==--_[y]){if(y===g)break;y=t[n+s[m]]}if(y>E&&(R&f)!==c){for(0===b&&(b=E),p+=w,D=1<<(T=y-b);T+b852||2===e&&P>592)return 1;i[c=R&f]=E<<24|T<<16|p-a|0}}return 0!==R&&(i[p+R]=y-b<<24|64<<16|0),o.bits=E,0},Tt=V.Z_FINISH,bt=V.Z_BLOCK,Dt=V.Z_TREES,Pt=V.Z_OK,Rt=V.Z_STREAM_END,Ct=V.Z_NEED_DICT,_t=V.Z_STREAM_ERROR,Bt=V.Z_DATA_ERROR,Ot=V.Z_MEM_ERROR,St=V.Z_BUF_ERROR,Nt=V.Z_DEFLATED,Lt=16180,Mt=16190,xt=16191,Ft=16192,Ht=16194,Ut=16199,Gt=16200,kt=16206,jt=16209,Vt=function(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)};function Qt(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var Wt,zt,Kt=function(e){if(!e)return 1;var t=e.state;return!t||t.strm!==e||t.mode16211?1:0},Yt=function(e){if(Kt(e))return _t;var t=e.state;return e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=Lt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,Pt},Xt=function(e){if(Kt(e))return _t;var t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Yt(e)},qt=function(e,t){var n;if(Kt(e))return _t;var r=e.state;return t<0?(n=0,t=-t):(n=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_t:(null!==r.window&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Xt(e))},Jt=function(e,t){if(!e)return _t;var n=new Qt;e.state=n,n.strm=e,n.window=null,n.mode=Lt;var r=qt(e,t);return r!==Pt&&(e.state=null),r},Zt=!0,$t=function(e){if(Zt){Wt=new Int32Array(512),zt=new Int32Array(32);for(var t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Et(1,e.lens,0,288,Wt,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Et(2,e.lens,0,32,zt,0,e.work,{bits:5}),Zt=!1}e.lencode=Wt,e.lenbits=9,e.distcode=zt,e.distbits=5},en=function(e,t,n,r){var i,a=e.state;return null===a.window&&(a.wsize=1<=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):((i=a.wsize-a.wnext)>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),(r-=i)?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave>>8&255,n.check=k(n.check,R,2,0),u=0,c=0,n.mode=16181;break}if(n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",n.mode=jt;break}if((15&u)!==Nt){e.msg="unknown compression method",n.mode=jt;break}if(c-=4,E=8+(15&(u>>>=4)),0===n.wbits&&(n.wbits=E),E>15||E>n.wbits){e.msg="invalid window size",n.mode=jt;break}n.dmax=1<>8&1),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16182;case 16182:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>8&255,R[2]=u>>>16&255,R[3]=u>>>24&255,n.check=k(n.check,R,4,0)),u=0,c=0,n.mode=16183;case 16183:for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>8),512&n.flags&&4&n.wrap&&(R[0]=255&u,R[1]=u>>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0,n.mode=16184;case 16184:if(1024&n.flags){for(;c<16;){if(0===o)break e;o--,u+=r[a++]<>>8&255,n.check=k(n.check,R,2,0)),u=0,c=0}else n.head&&(n.head.extra=null);n.mode=16185;case 16185:if(1024&n.flags&&((A=n.length)>o&&(A=o),A&&(n.head&&(E=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+A),E)),512&n.flags&&4&n.wrap&&(n.check=k(n.check,r,A,a)),o-=A,a+=A,n.length-=A),n.length))break e;n.length=0,n.mode=16186;case 16186:if(2048&n.flags){if(0===o)break e;A=0;do{E=r[a+A++],n.head&&E&&n.length<65536&&(n.head.name+=String.fromCharCode(E))}while(E&&A>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=xt;break;case 16189:for(;c<32;){if(0===o)break e;o--,u+=r[a++]<>>=7&c,c-=7&c,n.mode=kt;break}for(;c<3;){if(0===o)break e;o--,u+=r[a++]<>>=1)){case 0:n.mode=16193;break;case 1:if($t(n),n.mode=Ut,t===Dt){u>>>=2,c-=2;break e}break;case 2:n.mode=16196;break;case 3:e.msg="invalid block type",n.mode=jt}u>>>=2,c-=2;break;case 16193:for(u>>>=7&c,c-=7&c;c<32;){if(0===o)break e;o--,u+=r[a++]<>>16^65535)){e.msg="invalid stored block lengths",n.mode=jt;break}if(n.length=65535&u,u=0,c=0,n.mode=Ht,t===Dt)break e;case Ht:n.mode=16195;case 16195:if(A=n.length){if(A>o&&(A=o),A>l&&(A=l),0===A)break e;i.set(r.subarray(a,a+A),s),o-=A,a+=A,l-=A,s+=A,n.length-=A;break}n.mode=xt;break;case 16196:for(;c<14;){if(0===o)break e;o--,u+=r[a++]<>>=5,c-=5,n.ndist=1+(31&u),u>>>=5,c-=5,n.ncode=4+(15&u),u>>>=4,c-=4,n.nlen>286||n.ndist>30){e.msg="too many length or distance symbols",n.mode=jt;break}n.have=0,n.mode=16197;case 16197:for(;n.have>>=3,c-=3}for(;n.have<19;)n.lens[C[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,b={bits:n.lenbits},T=Et(0,n.lens,0,19,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid code lengths set",n.mode=jt;break}n.have=0,n.mode=16198;case 16198:for(;n.have>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=h,c-=h,n.lens[n.have++]=y;else{if(16===y){for(D=h+2;c>>=h,c-=h,0===n.have){e.msg="invalid bit length repeat",n.mode=jt;break}E=n.lens[n.have-1],A=3+(3&u),u>>>=2,c-=2}else if(17===y){for(D=h+3;c>>=h)),u>>>=3,c-=3}else{for(D=h+7;c>>=h)),u>>>=7,c-=7}if(n.have+A>n.nlen+n.ndist){e.msg="invalid bit length repeat",n.mode=jt;break}for(;A--;)n.lens[n.have++]=E}}if(n.mode===jt)break;if(0===n.lens[256]){e.msg="invalid code -- missing end-of-block",n.mode=jt;break}if(n.lenbits=9,b={bits:n.lenbits},T=Et(1,n.lens,0,n.nlen,n.lencode,0,n.work,b),n.lenbits=b.bits,T){e.msg="invalid literal/lengths set",n.mode=jt;break}if(n.distbits=6,n.distcode=n.distdyn,b={bits:n.distbits},T=Et(2,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,b),n.distbits=b.bits,T){e.msg="invalid distances set",n.mode=jt;break}if(n.mode=Ut,t===Dt)break e;case Ut:n.mode=Gt;case Gt:if(o>=6&&l>=258){e.next_out=s,e.avail_out=l,e.next_in=a,e.avail_in=o,n.hold=u,n.bits=c,It(e,p),s=e.next_out,i=e.output,l=e.avail_out,a=e.next_in,r=e.input,o=e.avail_in,u=n.hold,c=n.bits,n.mode===xt&&(n.back=-1);break}for(n.back=0;I=(P=n.lencode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,n.length=y,0===I){n.mode=16205;break}if(32&I){n.back=-1,n.mode=xt;break}if(64&I){e.msg="invalid literal/length code",n.mode=jt;break}n.extra=15&I,n.mode=16201;case 16201:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=16202;case 16202:for(;I=(P=n.distcode[u&(1<>>16&255,y=65535&P,!((h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>m)])>>>16&255,y=65535&P,!(m+(h=P>>>24)<=c);){if(0===o)break e;o--,u+=r[a++]<>>=m,c-=m,n.back+=m}if(u>>>=h,c-=h,n.back+=h,64&I){e.msg="invalid distance code",n.mode=jt;break}n.offset=y,n.extra=15&I,n.mode=16203;case 16203:if(n.extra){for(D=n.extra;c>>=n.extra,c-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg="invalid distance too far back",n.mode=jt;break}n.mode=16204;case 16204:if(0===l)break e;if(A=p-l,n.offset>A){if((A=n.offset-A)>n.whave&&n.sane){e.msg="invalid distance too far back",n.mode=jt;break}A>n.wnext?(A-=n.wnext,d=n.wsize-A):d=n.wnext-A,A>n.length&&(A=n.length),v=n.window}else v=i,d=s-n.offset,A=n.length;A>l&&(A=l),l-=A,n.length-=A;do{i[s++]=v[d++]}while(--A);0===n.length&&(n.mode=Gt);break;case 16205:if(0===l)break e;i[s++]=n.length,l--,n.mode=Gt;break;case kt:if(n.wrap){for(;c<32;){if(0===o)break e;o--,u|=r[a++]<=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new $e,this.strm.avail_out=0;var n=nn(this.strm,t.windowBits);if(n!==pn)throw new Error(j[n]);if(this.header=new ln,sn(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=qe(t.dictionary):"[object ArrayBuffer]"===un.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(n=on(this.strm,t.dictionary))!==pn))throw new Error(j[n])}function mn(e,t){var n=new yn(t);if(n.push(e),n.err)throw n.msg||j[n.err];return n.result}yn.prototype.push=function(e,t){var n,r,i,a=this.strm,s=this.options.chunkSize,o=this.options.dictionary;if(this.ended)return!1;for(r=t===~~t?t:!0===t?fn:cn,"[object ArrayBuffer]"===un.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(s),a.next_out=0,a.avail_out=s),(n=rn(a,r))===dn&&o&&((n=on(a,o))===pn?n=rn(a,r):n===hn&&(n=dn));a.avail_in>0&&n===An&&a.state.wrap>0&&0!==e[a.next_in];)tn(a),n=rn(a,r);switch(n){case vn:case hn:case dn:case In:return this.onEnd(n),this.ended=!0,!1}if(i=a.avail_out,a.next_out&&(0===a.avail_out||n===An))if("string"===this.options.to){var l=Ze(a.output,a.next_out),u=a.next_out-l,c=Je(a.output,l);a.next_out=u,a.avail_out=s-u,u&&a.output.set(a.output.subarray(l,l+u),0),this.onData(c)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(n!==pn||0!==i){if(n===An)return n=an(this.strm),this.onEnd(n),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},yn.prototype.onData=function(e){this.chunks.push(e)},yn.prototype.onEnd=function(e){e===pn&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=ze(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg};var wn=function(e,t){return(t=t||{}).raw=!0,mn(e,t)},gn=pt,En=At,Tn=dt,bn=vt,Dn=yn,Pn=mn,Rn=wn,Cn=mn,_n=V,Bn={Deflate:gn,deflate:En,deflateRaw:Tn,gzip:bn,Inflate:Dn,inflate:Pn,inflateRaw:Rn,ungzip:Cn,constants:_n};e.Deflate=gn,e.Inflate=Dn,e.constants=_n,e.default=Bn,e.deflate=En,e.deflateRaw=Tn,e.gzip=bn,e.inflate=Pn,e.inflateRaw=Rn,e.ungzip=Cn,Object.defineProperty(e,"__esModule",{value:!0})}));var zR=Object.freeze({__proto__:null}),KR=window.pako||zR;KR.inflate||(KR=KR.default);var YR,XR=(YR=new Float32Array(3),function(e){return YR[0]=e[0]/255,YR[1]=e[1]/255,YR[2]=e[2]/255,YR});var qR={version:1,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],meshPositions:e[4],meshIndices:e[5],meshEdgesIndices:e[6],meshColors:e[7],entityIDs:e[8],entityMeshes:e[9],entityIsObjects:e[10],positionsDecodeMatrix:e[11]}}(n),o=function(e){return{positions:new Uint16Array(KR.inflate(e.positions).buffer),normals:new Int8Array(KR.inflate(e.normals).buffer),indices:new Uint32Array(KR.inflate(e.indices).buffer),edgeIndices:new Uint32Array(KR.inflate(e.edgeIndices).buffer),meshPositions:new Uint32Array(KR.inflate(e.meshPositions).buffer),meshIndices:new Uint32Array(KR.inflate(e.meshIndices).buffer),meshEdgesIndices:new Uint32Array(KR.inflate(e.meshEdgesIndices).buffer),meshColors:new Uint8Array(KR.inflate(e.meshColors).buffer),entityIDs:KR.inflate(e.entityIDs,{to:"string"}),entityMeshes:new Uint32Array(KR.inflate(e.entityMeshes).buffer),entityIsObjects:new Uint8Array(KR.inflate(e.entityIsObjects).buffer),positionsDecodeMatrix:new Float32Array(KR.inflate(e.positionsDecodeMatrix).buffer)}}(s);!function(e,t,n,r,i,a){a.getNextId(),r.positionsCompression="precompressed",r.normalsCompression="precompressed";for(var s=n.positions,o=n.normals,l=n.indices,u=n.edgeIndices,c=n.meshPositions,f=n.meshIndices,p=n.meshEdgesIndices,A=n.meshColors,d=JSON.parse(n.entityIDs),v=n.entityMeshes,h=n.entityIsObjects,I=c.length,y=v.length,m=0;mh[t]?1:0}));for(var C=0;C1||(_[x]=B)}for(var F=0;F1,k=iC(I.subarray(4*H,4*H+3)),j=I[4*H+3]/255,V=o.subarray(A[H],U?o.length:A[H+1]),Q=l.subarray(A[H],U?l.length:A[H+1]),W=u.subarray(d[H],U?u.length:d[H+1]),z=c.subarray(v[H],U?c.length:v[H+1]),K=f.subarray(h[H],h[H]+16);if(G){var Y="".concat(s,"-geometry.").concat(H);r.createGeometry({id:Y,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K})}else{var X="".concat(s,"-").concat(H);m[_[H]],r.createMesh(le.apply({},{id:X,primitive:"triangles",positionsCompressed:V,normalsCompressed:Q,indices:W,edgeIndices:z,positionsDecodeMatrix:K,color:k,opacity:j}))}}for(var q=0,J=0;J1){var se="".concat(s,"-instance.").concat(q++),oe="".concat(s,"-geometry.").concat(ae),ue=16*g[J],ce=p.subarray(ue,ue+16);r.createMesh(le.apply({},{id:se,geometryId:oe,matrix:ce})),re.push(se)}else re.push(ae)}re.length>0&&r.createEntity(le.apply({},{id:ee,isObject:!0,meshIds:re}))}}(0,0,o,r,0,a)}},sC=window.pako||zR;sC.inflate||(sC=sC.default);var oC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var lC={version:5,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],eachPrimitivePositionsAndNormalsPortion:e[5],eachPrimitiveIndicesPortion:e[6],eachPrimitiveEdgeIndicesPortion:e[7],eachPrimitiveColor:e[8],primitiveInstances:e[9],eachEntityId:e[10],eachEntityPrimitiveInstancesPortion:e[11],eachEntityMatricesPortion:e[12]}}(n),o=function(e){return{positions:new Float32Array(sC.inflate(e.positions).buffer),normals:new Int8Array(sC.inflate(e.normals).buffer),indices:new Uint32Array(sC.inflate(e.indices).buffer),edgeIndices:new Uint32Array(sC.inflate(e.edgeIndices).buffer),matrices:new Float32Array(sC.inflate(e.matrices).buffer),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(sC.inflate(e.eachPrimitivePositionsAndNormalsPortion).buffer),eachPrimitiveIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveIndicesPortion).buffer),eachPrimitiveEdgeIndicesPortion:new Uint32Array(sC.inflate(e.eachPrimitiveEdgeIndicesPortion).buffer),eachPrimitiveColor:new Uint8Array(sC.inflate(e.eachPrimitiveColor).buffer),primitiveInstances:new Uint32Array(sC.inflate(e.primitiveInstances).buffer),eachEntityId:sC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(sC.inflate(e.eachEntityPrimitiveInstancesPortion).buffer),eachEntityMatricesPortion:new Uint32Array(sC.inflate(e.eachEntityMatricesPortion).buffer)}}(s);!function(e,t,n,r,i,a){var s=a.getNextId();r.positionsCompression="disabled",r.normalsCompression="precompressed";for(var o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.eachPrimitivePositionsAndNormalsPortion,A=n.eachPrimitiveIndicesPortion,d=n.eachPrimitiveEdgeIndicesPortion,v=n.eachPrimitiveColor,h=n.primitiveInstances,I=JSON.parse(n.eachEntityId),y=n.eachEntityPrimitiveInstancesPortion,m=n.eachEntityMatricesPortion,w=p.length,g=h.length,E=new Uint8Array(w),T=I.length,b=0;b1||(D[S]=P)}for(var N=0;N1,x=oC(v.subarray(4*N,4*N+3)),F=v[4*N+3]/255,H=o.subarray(p[N],L?o.length:p[N+1]),U=l.subarray(p[N],L?l.length:p[N+1]),G=u.subarray(A[N],L?u.length:A[N+1]),k=c.subarray(d[N],L?c.length:d[N+1]);if(M){var j="".concat(s,"-geometry.").concat(N);r.createGeometry({id:j,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k})}else{var V=N;I[D[N]],r.createMesh(le.apply({},{id:V,primitive:"triangles",positionsCompressed:H,normalsCompressed:U,indices:G,edgeIndices:k,color:x,opacity:F}))}}for(var Q=0,W=0;W1){var ee="instance."+Q++,te="geometry"+$,ne=16*m[W],re=f.subarray(ne,ne+16);r.createMesh(le.apply({},{id:ee,geometryId:te,matrix:re})),J.push(ee)}else J.push($)}J.length>0&&r.createEntity(le.apply({},{id:Y,isObject:!0,meshIds:J}))}}(0,0,o,r,0,a)}},uC=window.pako||zR;uC.inflate||(uC=uC.default);var cC,fC=(cC=new Float32Array(3),function(e){return cC[0]=e[0]/255,cC[1]=e[1]/255,cC[2]=e[2]/255,cC});var pC={version:6,parse:function(e,t,n,r,i,a){var s=function(e){return{positions:e[0],normals:e[1],indices:e[2],edgeIndices:e[3],matrices:e[4],reusedPrimitivesDecodeMatrix:e[5],eachPrimitivePositionsAndNormalsPortion:e[6],eachPrimitiveIndicesPortion:e[7],eachPrimitiveEdgeIndicesPortion:e[8],eachPrimitiveColorAndOpacity:e[9],primitiveInstances:e[10],eachEntityId:e[11],eachEntityPrimitiveInstancesPortion:e[12],eachEntityMatricesPortion:e[13],eachTileAABB:e[14],eachTileEntitiesPortion:e[15]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:uC.inflate(e,t).buffer}return{positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedPrimitivesDecodeMatrix:new Float32Array(t(e.reusedPrimitivesDecodeMatrix)),eachPrimitivePositionsAndNormalsPortion:new Uint32Array(t(e.eachPrimitivePositionsAndNormalsPortion)),eachPrimitiveIndicesPortion:new Uint32Array(t(e.eachPrimitiveIndicesPortion)),eachPrimitiveEdgeIndicesPortion:new Uint32Array(t(e.eachPrimitiveEdgeIndicesPortion)),eachPrimitiveColorAndOpacity:new Uint8Array(t(e.eachPrimitiveColorAndOpacity)),primitiveInstances:new Uint32Array(t(e.primitiveInstances)),eachEntityId:uC.inflate(e.eachEntityId,{to:"string"}),eachEntityPrimitiveInstancesPortion:new Uint32Array(t(e.eachEntityPrimitiveInstancesPortion)),eachEntityMatricesPortion:new Uint32Array(t(e.eachEntityMatricesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){for(var s=a.getNextId(),o=n.positions,l=n.normals,u=n.indices,c=n.edgeIndices,f=n.matrices,p=n.reusedPrimitivesDecodeMatrix,A=n.eachPrimitivePositionsAndNormalsPortion,d=n.eachPrimitiveIndicesPortion,v=n.eachPrimitiveEdgeIndicesPortion,h=n.eachPrimitiveColorAndOpacity,I=n.primitiveInstances,y=JSON.parse(n.eachEntityId),m=n.eachEntityPrimitiveInstancesPortion,w=n.eachEntityMatricesPortion,g=n.eachTileAABB,E=n.eachTileEntitiesPortion,T=A.length,b=I.length,D=y.length,P=E.length,R=new Uint32Array(T),C=0;C1,re=te===T-1,ie=o.subarray(A[te],re?o.length:A[te+1]),ae=l.subarray(A[te],re?l.length:A[te+1]),se=u.subarray(d[te],re?u.length:d[te+1]),oe=c.subarray(v[te],re?c.length:v[te+1]),ue=fC(h.subarray(4*te,4*te+3)),ce=h[4*te+3]/255,fe=a.getNextId();if(ne){var pe="".concat(s,"-geometry.").concat(S,".").concat(te);U[pe]||(r.createGeometry({id:pe,primitive:"triangles",positionsCompressed:ie,indices:se,edgeIndices:oe,positionsDecodeMatrix:p}),U[pe]=!0),r.createMesh(le.apply(J,{id:fe,geometryId:pe,origin:B,matrix:Q,color:ue,opacity:ce})),Y.push(fe)}else r.createMesh(le.apply(J,{id:fe,origin:B,primitive:"triangles",positionsCompressed:ie,normalsCompressed:ae,indices:se,edgeIndices:oe,positionsDecodeMatrix:H,color:ue,opacity:ce})),Y.push(fe)}Y.length>0&&r.createEntity(le.apply(q,{id:j,isObject:!0,meshIds:Y}))}}}(e,t,o,r,0,a)}},AC=window.pako||zR;AC.inflate||(AC=AC.default);var dC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function vC(e){for(var t=[],n=0,r=e.length;n1,ae=re===R-1,se=dC(E.subarray(6*ne,6*ne+3)),oe=E[6*ne+3]/255,ue=E[6*ne+4]/255,ce=E[6*ne+5]/255,fe=a.getNextId();if(ie){var pe=g[ne],Ae=p.slice(pe,pe+16),de="".concat(s,"-geometry.").concat(x,".").concat(re);if(!V[de]){var ve=void 0,he=void 0,Ie=void 0,ye=void 0,me=void 0,we=void 0;switch(d[re]){case 0:ve="solid",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ve="surface",he=o.subarray(v[re],ae?o.length:v[re+1]),Ie=l.subarray(h[re],ae?l.length:h[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]),we=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ve="points",he=o.subarray(v[re],ae?o.length:v[re+1]),ye=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ve="lines",he=o.subarray(v[re],ae?o.length:v[re+1]),me=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createGeometry({id:de,primitive:ve,positionsCompressed:he,normalsCompressed:Ie,colors:ye,indices:me,edgeIndices:we,positionsDecodeMatrix:A}),V[de]=!0}r.createMesh(le.apply(ee,{id:fe,geometryId:de,origin:L,matrix:Ae,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}else{var ge=void 0,Ee=void 0,Te=void 0,be=void 0,De=void 0,Pe=void 0;switch(d[re]){case 0:ge="solid",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 1:ge="surface",Ee=o.subarray(v[re],ae?o.length:v[re+1]),Te=l.subarray(h[re],ae?l.length:h[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]),Pe=f.subarray(m[re],ae?f.length:m[re+1]);break;case 2:ge="points",Ee=o.subarray(v[re],ae?o.length:v[re+1]),be=vC(u.subarray(I[re],ae?u.length:I[re+1]));break;case 3:ge="lines",Ee=o.subarray(v[re],ae?o.length:v[re+1]),De=c.subarray(y[re],ae?c.length:y[re+1]);break;default:continue}r.createMesh(le.apply(ee,{id:fe,origin:L,primitive:ge,positionsCompressed:Ee,normalsCompressed:Te,colors:be,indices:De,edgeIndices:Pe,positionsDecodeMatrix:j,color:se,metallic:ue,roughness:ce,opacity:oe})),q.push(fe)}}q.length>0&&r.createEntity(le.apply(Z,{id:z,isObject:!0,meshIds:q}))}}}(e,t,o,r,0,a)}},IC=window.pako||zR;IC.inflate||(IC=IC.default);var yC=$.vec4(),mC=$.vec4();var wC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function gC(e){for(var t=[],n=0,r=e.length;n1,we=ye===N-1,ge=wC(R.subarray(6*Ie,6*Ie+3)),Ee=R[6*Ie+3]/255,Te=R[6*Ie+4]/255,be=R[6*Ie+5]/255,De=a.getNextId();if(me){var Pe=P[Ie],Re=I.slice(Pe,Pe+16),Ce="".concat(s,"-geometry.").concat(q,".").concat(ye),_e=X[Ce];if(!_e){_e={batchThisMesh:!t.reuseGeometries};var Be=!1;switch(m[ye]){case 0:_e.primitiveName="solid",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 1:_e.primitiveName="surface",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryNormals=A.subarray(g[ye],we?A.length:g[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),_e.geometryEdgeIndices=h.subarray(b[ye],we?h.length:b[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;case 2:_e.primitiveName="points",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryColors=gC(d.subarray(E[ye],we?d.length:E[ye+1])),Be=_e.geometryPositions.length>0;break;case 3:_e.primitiveName="lines",_e.geometryPositions=p.subarray(w[ye],we?p.length:w[ye+1]),_e.geometryIndices=v.subarray(T[ye],we?v.length:T[ye+1]),Be=_e.geometryPositions.length>0&&_e.geometryIndices.length>0;break;default:continue}if(Be||(_e=null),_e&&(_e.geometryPositions.length,_e.batchThisMesh)){_e.decompressedPositions=new Float32Array(_e.geometryPositions.length);for(var Oe=_e.geometryPositions,Se=_e.decompressedPositions,Ne=0,Le=Oe.length;Ne0&&Ve.length>0;break;case 1:Ue="surface",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),ke=A.subarray(g[ye],we?A.length:g[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),Qe=h.subarray(b[ye],we?h.length:b[ye+1]),We=Ge.length>0&&Ve.length>0;break;case 2:Ue="points",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),je=gC(d.subarray(E[ye],we?d.length:E[ye+1])),We=Ge.length>0;break;case 3:Ue="lines",Ge=p.subarray(w[ye],we?p.length:w[ye+1]),Ve=v.subarray(T[ye],we?v.length:T[ye+1]),We=Ge.length>0&&Ve.length>0;break;default:continue}We&&(r.createMesh(le.apply(ve,{id:De,origin:K,primitive:Ue,positionsCompressed:Ge,normalsCompressed:ke,colorsCompressed:je,indices:Ve,edgeIndices:Qe,positionsDecodeMatrix:re,color:ge,metallic:Te,roughness:be,opacity:Ee})),pe.push(De))}}pe.length>0&&r.createEntity(le.apply(de,{id:oe,isObject:!0,meshIds:pe}))}}}(e,t,o,r,i,a)}},TC=window.pako||zR;TC.inflate||(TC=TC.default);var bC=$.vec4(),DC=$.vec4();var PC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();var RC={version:9,parse:function(e,t,n,r,i,a){var s=function(e){return{metadata:e[0],positions:e[1],normals:e[2],colors:e[3],indices:e[4],edgeIndices:e[5],matrices:e[6],reusedGeometriesDecodeMatrix:e[7],eachGeometryPrimitiveType:e[8],eachGeometryPositionsPortion:e[9],eachGeometryNormalsPortion:e[10],eachGeometryColorsPortion:e[11],eachGeometryIndicesPortion:e[12],eachGeometryEdgeIndicesPortion:e[13],eachMeshGeometriesPortion:e[14],eachMeshMatricesPortion:e[15],eachMeshMaterial:e[16],eachEntityId:e[17],eachEntityMeshesPortion:e[18],eachTileAABB:e[19],eachTileEntitiesPortion:e[20]}}(n),o=function(e){function t(e,t){return 0===e.length?[]:TC.inflate(e,t).buffer}return{metadata:JSON.parse(TC.inflate(e.metadata,{to:"string"})),positions:new Uint16Array(t(e.positions)),normals:new Int8Array(t(e.normals)),colors:new Uint8Array(t(e.colors)),indices:new Uint32Array(t(e.indices)),edgeIndices:new Uint32Array(t(e.edgeIndices)),matrices:new Float32Array(t(e.matrices)),reusedGeometriesDecodeMatrix:new Float32Array(t(e.reusedGeometriesDecodeMatrix)),eachGeometryPrimitiveType:new Uint8Array(t(e.eachGeometryPrimitiveType)),eachGeometryPositionsPortion:new Uint32Array(t(e.eachGeometryPositionsPortion)),eachGeometryNormalsPortion:new Uint32Array(t(e.eachGeometryNormalsPortion)),eachGeometryColorsPortion:new Uint32Array(t(e.eachGeometryColorsPortion)),eachGeometryIndicesPortion:new Uint32Array(t(e.eachGeometryIndicesPortion)),eachGeometryEdgeIndicesPortion:new Uint32Array(t(e.eachGeometryEdgeIndicesPortion)),eachMeshGeometriesPortion:new Uint32Array(t(e.eachMeshGeometriesPortion)),eachMeshMatricesPortion:new Uint32Array(t(e.eachMeshMatricesPortion)),eachMeshMaterial:new Uint8Array(t(e.eachMeshMaterial)),eachEntityId:JSON.parse(TC.inflate(e.eachEntityId,{to:"string"})),eachEntityMeshesPortion:new Uint32Array(t(e.eachEntityMeshesPortion)),eachTileAABB:new Float64Array(t(e.eachTileAABB)),eachTileEntitiesPortion:new Uint32Array(t(e.eachTileEntitiesPortion))}}(s);!function(e,t,n,r,i,a){var s=a.getNextId(),o=n.metadata,l=n.positions,u=n.normals,c=n.colors,f=n.indices,p=n.edgeIndices,A=n.matrices,d=n.reusedGeometriesDecodeMatrix,v=n.eachGeometryPrimitiveType,h=n.eachGeometryPositionsPortion,I=n.eachGeometryNormalsPortion,y=n.eachGeometryColorsPortion,m=n.eachGeometryIndicesPortion,w=n.eachGeometryEdgeIndicesPortion,g=n.eachMeshGeometriesPortion,E=n.eachMeshMatricesPortion,T=n.eachMeshMaterial,b=n.eachEntityId,D=n.eachEntityMeshesPortion,P=n.eachTileAABB,R=n.eachTileEntitiesPortion,C=h.length,_=g.length,B=D.length,O=R.length;i&&i.loadData(o,{includeTypes:t.includeTypes,excludeTypes:t.excludeTypes,globalizeObjectIds:t.globalizeObjectIds});for(var S=new Uint32Array(C),N=0;N<_;N++){var L=g[N];void 0!==S[L]?S[L]++:S[L]=1}for(var M=$.vec3(),x=$.AABB3(),F={},H=0;H1,oe=ae===C-1,ue=PC(T.subarray(6*ie,6*ie+3)),ce=T[6*ie+3]/255,fe=T[6*ie+4]/255,pe=T[6*ie+5]/255,Ae=a.getNextId();if(se){var de=E[ie],ve=A.slice(de,de+16),he="".concat(s,"-geometry.").concat(H,".").concat(ae),Ie=F[he];if(!Ie){Ie={batchThisMesh:!t.reuseGeometries};var ye=!1;switch(v[ae]){case 0:Ie.primitiveName="solid",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 1:Ie.primitiveName="surface",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryNormals=u.subarray(I[ae],oe?u.length:I[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),Ie.geometryEdgeIndices=p.subarray(w[ae],oe?p.length:w[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;case 2:Ie.primitiveName="points",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryColors=c.subarray(y[ae],oe?c.length:y[ae+1]),ye=Ie.geometryPositions.length>0;break;case 3:Ie.primitiveName="lines",Ie.geometryPositions=l.subarray(h[ae],oe?l.length:h[ae+1]),Ie.geometryIndices=f.subarray(m[ae],oe?f.length:m[ae+1]),ye=Ie.geometryPositions.length>0&&Ie.geometryIndices.length>0;break;default:continue}if(ye||(Ie=null),Ie&&(Ie.geometryPositions.length,Ie.batchThisMesh)){Ie.decompressedPositions=new Float32Array(Ie.geometryPositions.length),Ie.transformedAndRecompressedPositions=new Uint16Array(Ie.geometryPositions.length);for(var me=Ie.geometryPositions,we=Ie.decompressedPositions,ge=0,Ee=me.length;ge0&&Oe.length>0;break;case 1:Re="surface",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),_e=u.subarray(I[ae],oe?u.length:I[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Se=p.subarray(w[ae],oe?p.length:w[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;case 2:Re="points",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Be=c.subarray(y[ae],oe?c.length:y[ae+1]),Ne=Ce.length>0;break;case 3:Re="lines",Ce=l.subarray(h[ae],oe?l.length:h[ae+1]),Oe=f.subarray(m[ae],oe?f.length:m[ae+1]),Ne=Ce.length>0&&Oe.length>0;break;default:continue}Ne&&(r.createMesh(le.apply(ne,{id:Ae,origin:M,primitive:Re,positionsCompressed:Ce,normalsCompressed:_e,colorsCompressed:Be,indices:Oe,edgeIndices:Se,positionsDecodeMatrix:Q,color:ue,metallic:fe,roughness:pe,opacity:ce})),Z.push(Ae))}}Z.length>0&&r.createEntity(le.apply(te,{id:Y,isObject:!0,meshIds:Z}))}}}(e,t,o,r,i,a)}},CC=window.pako||zR;CC.inflate||(CC=CC.default);var _C=$.vec4(),BC=$.vec4();var OC=function(){var e=new Float32Array(3);return function(t){return e[0]=t[0]/255,e[1]=t[1]/255,e[2]=t[2]/255,e}}();function SC(e,t){var n=[];if(t.length>1)for(var r=0,i=t.length-1;r1)for(var a=0,s=e.length/3-1;a0,z=9*k,K=1===c[z+0],Y=c[z+1];c[z+2],c[z+3];var X=c[z+4],q=c[z+5],J=c[z+6],Z=c[z+7],ee=c[z+8];if(W){var te=new Uint8Array(l.subarray(V,Q)).buffer,ne="".concat(s,"-texture-").concat(k);if(K)r.createTexture({id:ne,buffers:[te],minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee});else{var re=new Blob([te],{type:10001===Y?"image/jpeg":10002===Y?"image/png":"image/gif"}),ie=(window.URL||window.webkitURL).createObjectURL(re),ae=document.createElement("img");ae.src=ie,r.createTexture({id:ne,image:ae,minFilter:X,magFilter:q,wrapS:J,wrapT:Z,wrapR:ee})}}}for(var se=0;se=0?"".concat(s,"-texture-").concat(ce):null,normalsTextureId:pe>=0?"".concat(s,"-texture-").concat(pe):null,metallicRoughnessTextureId:fe>=0?"".concat(s,"-texture-").concat(fe):null,emissiveTextureId:Ae>=0?"".concat(s,"-texture-").concat(Ae):null,occlusionTextureId:de>=0?"".concat(s,"-texture-").concat(de):null})}for(var ve=new Uint32Array(F),he=0;he1,Ve=ke===F-1,Qe=_[Ge],We=Qe>=0?"".concat(s,"-textureSet-").concat(Qe):null,ze=OC(B.subarray(6*Ge,6*Ge+3)),Ke=B[6*Ge+3]/255,Ye=B[6*Ge+4]/255,Xe=B[6*Ge+5]/255,qe=a.getNextId();if(je){var Je=C[Ge],Ze=y.slice(Je,Je+16),$e="".concat(s,"-geometry.").concat(ge,".").concat(ke),et=we[$e];if(!et){et={batchThisMesh:!t.reuseGeometries};var tt=!1;switch(w[ke]){case 0:et.primitiveName="solid",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 1:et.primitiveName="surface",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryNormals=p.subarray(E[ke],Ve?p.length:E[ke+1]),et.geometryUVs=d.subarray(b[ke],Ve?d.length:b[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),et.geometryEdgeIndices=h.subarray(P[ke],Ve?h.length:P[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 2:et.primitiveName="points",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryColors=A.subarray(T[ke],Ve?A.length:T[ke+1]),tt=et.geometryPositions.length>0;break;case 3:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=v.subarray(D[ke],Ve?v.length:D[ke+1]),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;case 4:et.primitiveName="lines",et.geometryPositions=f.subarray(g[ke],Ve?f.length:g[ke+1]),et.geometryIndices=SC(et.geometryPositions,v.subarray(D[ke],Ve?v.length:D[ke+1])),tt=et.geometryPositions.length>0&&et.geometryIndices.length>0;break;default:continue}if(tt||(et=null),et&&(et.geometryPositions.length,et.batchThisMesh)){et.decompressedPositions=new Float32Array(et.geometryPositions.length),et.transformedAndRecompressedPositions=new Uint16Array(et.geometryPositions.length);for(var nt=et.geometryPositions,rt=et.decompressedPositions,it=0,at=nt.length;it0&&vt.length>0;break;case 1:ct="surface",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),pt=p.subarray(E[ke],Ve?p.length:E[ke+1]),At=d.subarray(b[ke],Ve?d.length:b[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),ht=h.subarray(P[ke],Ve?h.length:P[ke+1]),It=ft.length>0&&vt.length>0;break;case 2:ct="points",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),dt=A.subarray(T[ke],Ve?A.length:T[ke+1]),It=ft.length>0;break;case 3:ct="lines",ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),vt=v.subarray(D[ke],Ve?v.length:D[ke+1]),It=ft.length>0&&vt.length>0;break;case 4:ct="lines",vt=SC(ft=f.subarray(g[ke],Ve?f.length:g[ke+1]),v.subarray(D[ke],Ve?v.length:D[ke+1])),It=ft.length>0&&vt.length>0;break;default:continue}It&&(r.createMesh(le.apply(He,{id:qe,textureSetId:We,origin:ye,primitive:ct,positionsCompressed:ft,normalsCompressed:pt,uv:At&&At.length>0?At:null,colorsCompressed:dt,indices:vt,edgeIndices:ht,positionsDecodeMatrix:Re,color:ze,metallic:Ye,roughness:Xe,opacity:Ke})),Me.push(qe))}}Me.length>0&&r.createEntity(le.apply(Fe,{id:Oe,isObject:!0,meshIds:Me}))}}}(e,t,o,r,i,a)}},LC={};LC[qR.version]=qR,LC[$R.version]=$R,LC[nC.version]=nC,LC[aC.version]=aC,LC[lC.version]=lC,LC[pC.version]=pC,LC[hC.version]=hC,LC[EC.version]=EC,LC[RC.version]=RC,LC[NC.version]=NC;var MC=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"XKTLoader",e,i))._maxGeometryBatchSize=i.maxGeometryBatchSize,r.textureTranscoder=i.textureTranscoder,r.dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r.reuseGeometries=i.reuseGeometries,r}return P(n,[{key:"supportedVersions",get:function(){return Object.keys(LC)}},{key:"textureTranscoder",get:function(){return this._textureTranscoder},set:function(e){this._textureTranscoder=e}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new WR}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"reuseGeometries",get:function(){return this._reuseGeometries},set:function(e){this._reuseGeometries=!1!==e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id),!(t.src||t.xkt||t.manifestSrc||t.manifest))return this.error("load() param expected: src, xkt, manifestSrc or manifestData"),c;var n={},r=t.includeTypes||this._includeTypes,i=t.excludeTypes||this._excludeTypes,a=t.objectDefaults||this._objectDefaults;if(n.reuseGeometries=null!==t.reuseGeometries&&void 0!==t.reuseGeometries?t.reuseGeometries:!1!==this._reuseGeometries,r){n.includeTypesMap={};for(var s=0,o=r.length;s=t.length?a():e._dataSource.getMetaModel("".concat(y).concat(t[o]),(function(e){p.loadData(e,{includeTypes:r,excludeTypes:i,globalizeObjectIds:n.globalizeObjectIds}),o++,l()}),s)}()},w=function(r,i,a){var s=0;!function o(){s>=r.length?i():e._dataSource.getXKT("".concat(y).concat(r[s]),(function(r){e._parseModel(r,t,n,c,p,h),s++,o()}),a)}()};if(t.manifest){var g=t.manifest,E=g.xktFiles;if(!E||0===E.length)return void d("load(): Failed to load model manifest - manifest not valid");var T=g.metaModelFiles;T?m(T,(function(){w(E,A,d)}),d):w(E,A,d)}else this._dataSource.getManifest(t.manifestSrc,(function(e){if(!c.destroyed){var t=e.xktFiles;if(t&&0!==t.length){var n=e.metaModelFiles;n?m(n,(function(){w(t,A,d)}),d):w(t,A,d)}else d("load(): Failed to load model manifest - manifest not valid")}}),d)}return c}},{key:"_loadModel",value:function(e,t,n,r,i,a,s,o){var l=this;this._dataSource.getXKT(t.src,(function(e){l._parseModel(e,t,n,r,i,a),s()}),o)}},{key:"_parseModel",value:function(e,t,n,r,i,a){if(!r.destroyed){var s=new DataView(e),o=new Uint8Array(e),l=s.getUint32(0,!0),u=LC[l];if(u){this.log("Loading .xkt V"+l);for(var c=s.getUint32(4,!0),f=[],p=4*(c+2),A=0;Ae.size)throw new RangeError("offset:"+t+", length:"+n+", size:"+e.size);return e.slice?e.slice(t,t+n):e.webkitSlice?e.webkitSlice(t,t+n):e.mozSlice?e.mozSlice(t,t+n):e.msSlice?e.msSlice(t,t+n):void 0}(e,t,n))}catch(e){i(e)}}}function d(){}function v(e){var n,r=this;r.init=function(e){n=new Blob([],{type:s}),e()},r.writeUint8Array=function(e,r){n=new Blob([n,t?e:e.buffer],{type:s}),r()},r.getData=function(t,r){var i=new FileReader;i.onload=function(e){t(e.target.result)},i.onerror=r,i.readAsText(n,e)}}function h(t){var n=this,r="",i="";n.init=function(e){r+="data:"+(t||"")+";base64,",e()},n.writeUint8Array=function(t,n){var a,s=i.length,o=i;for(i="",a=0;a<3*Math.floor((s+t.length)/3)-s;a++)o+=String.fromCharCode(t[a]);for(;a2?r+=e.btoa(o):i=o,n()},n.getData=function(t){t(r+e.btoa(i))}}function I(e){var n,r=this;r.init=function(t){n=new Blob([],{type:e}),t()},r.writeUint8Array=function(r,i){n=new Blob([n,t?r:r.buffer],{type:e}),i()},r.getData=function(e){e(n)}}function y(e,t,n,r,i,s,o,l,u,c){var f,p,A,d=0,v=t.sn;function h(){e.removeEventListener("message",I,!1),l(p,A)}function I(t){var n=t.data,i=n.data,a=n.error;if(a)return a.toString=function(){return"Error: "+this.message},void u(a);if(n.sn===v)switch("number"==typeof n.codecTime&&(e.codecTime+=n.codecTime),"number"==typeof n.crcTime&&(e.crcTime+=n.crcTime),n.type){case"append":i?(p+=i.length,r.writeUint8Array(i,(function(){y()}),c)):y();break;case"flush":A=n.crc,i?(p+=i.length,r.writeUint8Array(i,(function(){h()}),c)):h();break;case"progress":o&&o(f+n.loaded,s);break;case"importScripts":case"newTask":case"echo":break;default:console.warn("zip.js:launchWorkerProcess: unknown message: ",n)}}function y(){(f=d*a)<=s?n.readUint8Array(i+f,Math.min(a,s-f),(function(n){o&&o(f,s);var r=0===f?t:{sn:v};r.type="append",r.data=n;try{e.postMessage(r,[n.buffer])}catch(t){e.postMessage(r)}d++}),u):e.postMessage({sn:v,type:"flush"})}p=0,e.addEventListener("message",I,!1),y()}function m(e,t,n,r,i,s,l,u,c,f){var p,A=0,d=0,v="input"===s,h="output"===s,I=new o;!function s(){var o;if((p=A*a)127?i[n-128]:String.fromCharCode(n);return r}function E(e){return decodeURIComponent(escape(e))}function T(e){var t,n="";for(t=0;t>16,n=65535&e;try{return new Date(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch(e){}}(e.lastModDateRaw),1!=(1&e.bitFlag)?((r||8!=(8&e.bitFlag))&&(e.crc32=t.view.getUint32(n+10,!0),e.compressedSize=t.view.getUint32(n+14,!0),e.uncompressedSize=t.view.getUint32(n+18,!0)),4294967295!==e.compressedSize&&4294967295!==e.uncompressedSize?(e.filenameLength=t.view.getUint16(n+22,!0),e.extraFieldLength=t.view.getUint16(n+24,!0)):i("File is using Zip64 (4gb+ file size).")):i("File contains encrypted entry.")}function D(t,a,s){var o=0;function l(){}l.prototype.getData=function(r,a,l,c){var f=this;function p(e,t){c&&!function(e){var t=u(4);return t.view.setUint32(0,e),f.crc32==t.view.getUint32(0)}(t)?s("CRC failed."):r.getData((function(e){a(e)}))}function A(e){s(e||i)}function d(e){s(e||"Error while writing file data.")}t.readUint8Array(f.offset,30,(function(i){var a,v=u(i.length,i);1347093252==v.view.getUint32(0)?(b(f,v,4,!1,s),a=f.offset+30+f.filenameLength+f.extraFieldLength,r.init((function(){0===f.compressionMethod?w(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d):function(t,n,r,i,a,s,o,l,u,c,f){var p=o?"output":"none";e.zip.useWebWorkers?y(t,{sn:n,codecClass:"Inflater",crcType:p},r,i,a,s,u,l,c,f):m(new e.zip.Inflater,r,i,a,s,p,u,l,c,f)}(f._worker,o++,t,r,a,f.compressedSize,c,p,l,A,d)}),d)):s(n)}),A)};var c={getEntries:function(e){var i=this._worker;!function(e){t.size<22?s(n):i(22,(function(){i(Math.min(65558,t.size),(function(){s(n)}))}));function i(n,i){t.readUint8Array(t.size-n,n,(function(t){for(var n=t.length-22;n>=0;n--)if(80===t[n]&&75===t[n+1]&&5===t[n+2]&&6===t[n+3])return void e(new DataView(t.buffer,n,22));i()}),(function(){s(r)}))}}((function(a){var o,c;o=a.getUint32(16,!0),c=a.getUint16(8,!0),o<0||o>=t.size?s(n):t.readUint8Array(o,t.size-o,(function(t){var r,a,o,f,p=0,A=[],d=u(t.length,t);for(r=0;r>>8^n[255&(t^e[r])];this.crc=t},o.prototype.get=function(){return~this.crc},o.prototype.table=function(){var e,t,n,r=[];for(e=0;e<256;e++){for(n=e,t=0;t<8;t++)1&n?n=n>>>1^3988292384:n>>>=1;r[e]=n}return r}(),l.prototype.append=function(e,t){return e},l.prototype.flush=function(){},f.prototype=new c,f.prototype.constructor=f,p.prototype=new c,p.prototype.constructor=p,A.prototype=new c,A.prototype.constructor=A,d.prototype.getData=function(e){e(this.data)},v.prototype=new d,v.prototype.constructor=v,h.prototype=new d,h.prototype.constructor=h,I.prototype=new d,I.prototype.constructor=I;var _={deflater:["z-worker.js","deflate.js"],inflater:["z-worker.js","inflate.js"]};function B(t,n,r){if(null===e.zip.workerScripts||null===e.zip.workerScriptsPath){var i;if(e.zip.workerScripts){if(i=e.zip.workerScripts[t],!Array.isArray(i))return void r(new Error("zip.workerScripts."+t+" is not an array!"));i=function(e){var t=document.createElement("a");return e.map((function(e){return t.href=e,t.href}))}(i)}else(i=_[t].slice(0))[0]=(e.zip.workerScriptsPath||"")+i[0];var a=new Worker(i[0]);a.codecTime=a.crcTime=0,a.postMessage({type:"importScripts",scripts:i.slice(1)}),a.addEventListener("message",(function e(t){var i=t.data;if(i.error)return a.terminate(),void r(i.error);"importScripts"===i.type&&(a.removeEventListener("message",e),a.removeEventListener("error",s),n(a))})),a.addEventListener("error",s)}else r(new Error("Either zip.workerScripts or zip.workerScriptsPath may be set, not both."));function s(e){a.terminate(),r(e)}}function O(e){console.error(e)}e.zip={Reader:c,Writer:d,BlobReader:A,Data64URIReader:p,TextReader:f,BlobWriter:I,Data64URIWriter:h,TextWriter:v,createReader:function(e,t,n){n=n||O,e.init((function(){D(e,t,n)}),n)},createWriter:function(e,t,n,r){n=n||O,r=!!r,e.init((function(){C(e,t,n,r)}),n)},useWebWorkers:!0,workerScriptsPath:null,workerScripts:null}}(FC);var HC=FC.zip;!function(e){var t,n,r=e.Reader,i=e.Writer;try{n=0===new Blob([new DataView(new ArrayBuffer(0))]).size}catch(e){}function a(e){var t=this;function n(n,r){var i;t.data?n():((i=new XMLHttpRequest).addEventListener("load",(function(){t.size||(t.size=Number(i.getResponseHeader("Content-Length"))||Number(i.response.byteLength)),t.data=new Uint8Array(i.response),n()}),!1),i.addEventListener("error",r,!1),i.open("GET",e),i.responseType="arraybuffer",i.send())}t.size=0,t.init=function(r,i){if(function(e){var t=document.createElement("a");return t.href=e,"http:"===t.protocol||"https:"===t.protocol}(e)){var a=new XMLHttpRequest;a.addEventListener("load",(function(){t.size=Number(a.getResponseHeader("Content-Length")),t.size?r():n(r,i)}),!1),a.addEventListener("error",i,!1),a.open("HEAD",e),a.send()}else n(r,i)},t.readUint8Array=function(e,r,i,a){n((function(){i(new Uint8Array(t.data.subarray(e,e+r)))}),a)}}function s(e){var t=this;t.size=0,t.init=function(n,r){var i=new XMLHttpRequest;i.addEventListener("load",(function(){t.size=Number(i.getResponseHeader("Content-Length")),"bytes"==i.getResponseHeader("Accept-Ranges")?n():r("HTTP Range not supported.")}),!1),i.addEventListener("error",r,!1),i.open("HEAD",e),i.send()},t.readUint8Array=function(t,n,r,i){!function(t,n,r,i){var a=new XMLHttpRequest;a.open("GET",e),a.responseType="arraybuffer",a.setRequestHeader("Range","bytes="+t+"-"+(t+n-1)),a.addEventListener("load",(function(){r(a.response)}),!1),a.addEventListener("error",i,!1),a.send()}(t,n,(function(e){r(new Uint8Array(e))}),i)}}function o(e){var t=this;t.size=0,t.init=function(n,r){t.size=e.byteLength,n()},t.readUint8Array=function(t,n,r,i){r(new Uint8Array(e.slice(t,t+n)))}}function l(){var e,t=this;t.init=function(t,n){e=new Uint8Array,t()},t.writeUint8Array=function(t,n,r){var i=new Uint8Array(e.length+t.length);i.set(e),i.set(t,e.length),e=i,n()},t.getData=function(t){t(e.buffer)}}function u(e,t){var r,i=this;i.init=function(t,n){e.createWriter((function(e){r=e,t()}),n)},i.writeUint8Array=function(e,i,a){var s=new Blob([n?e:e.buffer],{type:t});r.onwrite=function(){r.onwrite=null,i()},r.onerror=a,r.write(s)},i.getData=function(t){e.file(t)}}a.prototype=new r,a.prototype.constructor=a,s.prototype=new r,s.prototype.constructor=s,o.prototype=new r,o.prototype.constructor=o,l.prototype=new i,l.prototype.constructor=l,u.prototype=new i,u.prototype.constructor=u,e.FileWriter=u,e.HttpReader=a,e.HttpRangeReader=s,e.ArrayBufferReader=o,e.ArrayBufferWriter=l,e.fs&&((t=e.fs.ZipDirectoryEntry).prototype.addHttpContent=function(n,r,i){return function(n,r,i,a){if(n.directory)return a?new t(n.fs,r,i,n):new e.fs.ZipFileEntry(n.fs,r,i,n);throw"Parent entry is not a directory."}(this,n,{data:r,Reader:i?s:a})},t.prototype.importHttpContent=function(e,t,n,r){this.importZip(t?new s(e):new a(e),n,r)},e.fs.FS.prototype.importHttpContent=function(e,n,r,i){this.entries=[],this.root=new t(this),this.root.importHttpContent(e,n,r,i)})}(HC);var UC=["4.2"],GC=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};b(this,e),this.supportedSchemas=UC,this._xrayOpacity=.7,this._src=null,this._options=n,this.viewpoint=null,n.workerScriptsPath?(HC.workerScriptsPath=n.workerScriptsPath,this.src=n.src,this.xrayOpacity=.7,this.displayEffect=n.displayEffect,this.createMetaModel=n.createMetaModel):t.error("Config expected: workerScriptsPath")}return P(e,[{key:"load",value:function(e,t,n,r,i,a){switch(r.materialType){case"MetallicMaterial":t._defaultMaterial=new ya(t,{baseColor:[1,1,1],metallic:.6,roughness:.6});break;case"SpecularMaterial":t._defaultMaterial=new ga(t,{diffuse:[1,1,1],specular:$.vec3([1,1,1]),glossiness:.5});break;default:t._defaultMaterial=new Nn(t,{reflectivity:.75,shiness:100,diffuse:[1,1,1]})}t._wireframeMaterial=new va(t,{color:[0,0,0],lineWidth:2});var s=t.scene.canvas.spinner;s.processes++,kC(e,t,n,r,(function(){s.processes--,i&&i(),t.fire("loaded",!0,!1)}),(function(e){s.processes--,t.error(e),a&&a(e),t.fire("error",e)}),(function(e){console.log("Error, Will Robinson: "+e)}))}}]),e}(),kC=function(e,t,n,r,i,a){!function(e,t,n){var r=new XC;r.load(e,(function(){t(r)}),(function(e){n("Error loading ZIP archive: "+e)}))}(n,(function(n){jC(e,n,r,t,i,a)}),a)},jC=function(){return function(t,n,r,i,a){var s={plugin:t,zip:n,edgeThreshold:30,materialType:r.materialType,scene:i.scene,modelNode:i,info:{references:{}},materials:{}};r.createMetaModel&&(s.metaModelData={modelId:i.id,metaObjects:[{name:i.id,type:"Default",id:i.id}]}),i.scene.loading++,function(t,n){t.zip.getFile("Manifest.xml",(function(r,i){for(var a=i.children,s=0,o=a.length;s0){for(var s=a.trim().split(" "),o=new Int16Array(s.length),l=0,u=0,c=s.length;u0){n.primitive="triangles";for(var a=[],s=0,o=i.length;s=t.length)n();else{var o=t[a].id,l=o.lastIndexOf(":");l>0&&(o=o.substring(l+1));var u=o.lastIndexOf("#");u>0&&(o=o.substring(0,u)),r[o]?i(a+1):function(e,t,n){e.zip.getFile(t,(function(t,r){!function(e,t,n){for(var r,i=t.children,a=0,s=i.length;a0)for(var r=0,i=t.length;r1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),r=t.call(this,"XML3DLoader",e,i),i.workerScriptsPath?(r._workerScriptsPath=i.workerScriptsPath,r._loader=new GC(g(r),i),r.supportedSchemas=r._loader.supportedSchemas,r):(r.error("Config expected: workerScriptsPath"),w(r))}return P(n,[{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.workerScriptsPath=this._workerScriptsPath,e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new da(this.viewer.scene,le.apply(e,{isModel:!0})),n=e.src;return n?(this._loader.load(this,t,n,e),t):(this.error("load() param expected: src"),t)}}]),n}(),r_=Object.defineProperty,i_=Object.defineProperties,a_=Object.getOwnPropertyDescriptors,s_=Object.getOwnPropertySymbols,o_=Object.prototype.hasOwnProperty,l_=Object.prototype.propertyIsEnumerable,u_=function(e,t,n){return t in e?r_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n},c_=function(e,t){for(var n in t||(t={}))o_.call(t,n)&&u_(e,n,t[n]);if(s_){var r,i=f(s_(t));try{for(i.s();!(r=i.n()).done;){n=r.value;l_.call(t,n)&&u_(e,n,t[n])}}catch(e){i.e(e)}finally{i.f()}}return e},f_=function(e,t){return i_(e,a_(t))},p_=function(e,t){return function(){return t||(0,e[Object.keys(e)[0]])((t={exports:{}}).exports,t),t.exports}},A_=function(e,t,n){return new Promise((function(r,i){var a=function(e){try{o(n.next(e))}catch(e){i(e)}},s=function(e){try{o(n.throw(e))}catch(e){i(e)}},o=function(e){return e.done?r(e.value):Promise.resolve(e.value).then(a,s)};o((n=n.apply(e,t)).next())}))},d_=p_({"dist/web-ifc-mt.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};function t(){return O.buffer!=F.buffer&&J(),F}function r(){return O.buffer!=F.buffer&&J(),H}function i(){return O.buffer!=F.buffer&&J(),U}function a(){return O.buffer!=F.buffer&&J(),G}function s(){return O.buffer!=F.buffer&&J(),k}function o(){return O.buffer!=F.buffer&&J(),j}function l(){return O.buffer!=F.buffer&&J(),V}function u(){return O.buffer!=F.buffer&&J(),Q}var p,A,d=void 0!==e?e:{};d.ready=new Promise((function(e,t){p=e,A=t}));var v,h,I,y=Object.assign({},d),m="./this.program",w=function(e,t){throw t},g="object"==("undefined"==typeof window?"undefined":T(window)),E="function"==typeof importScripts,b="object"==("undefined"==typeof process?"undefined":T(process))&&"object"==T(process.versions)&&"string"==typeof process.versions.node,D=d.ENVIRONMENT_IS_PTHREAD||!1,P="";function R(e){return d.locateFile?d.locateFile(e,P):P+e}(g||E)&&(E?P=self.location.href:"undefined"!=typeof document&&document.currentScript&&(P=document.currentScript.src),n&&(P=n),P=0!==P.indexOf("blob:")?P.substr(0,P.replace(/[?#].*/,"").lastIndexOf("/")+1):"",v=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},E&&(I=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),h=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)});var C,_=d.print||console.log.bind(console),B=d.printErr||console.warn.bind(console);Object.assign(d,y),y=null,d.arguments,d.thisProgram&&(m=d.thisProgram),d.quit&&(w=d.quit),d.wasmBinary&&(C=d.wasmBinary);var O,S,N=d.noExitRuntime||!0;"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&de("no native wasm support detected");var L,M=!1;function x(e,t){e||de(t)}var F,H,U,G,k,j,V,Q,W="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function z(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&W)return W.decode(e.buffer instanceof SharedArrayBuffer?e.slice(t,i):e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function K(e,t){return(e>>>=0)?z(r(),e,t):""}function Y(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function X(e,t,n){return Y(e,r(),t,n)}function q(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function J(){var e=O.buffer;d.HEAP8=F=new Int8Array(e),d.HEAP16=U=new Int16Array(e),d.HEAP32=k=new Int32Array(e),d.HEAPU8=H=new Uint8Array(e),d.HEAPU16=G=new Uint16Array(e),d.HEAPU32=j=new Uint32Array(e),d.HEAPF32=V=new Float32Array(e),d.HEAPF64=Q=new Float64Array(e)}var Z,$=d.INITIAL_MEMORY||16777216;if(x($>=5242880,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+$+"! (STACK_SIZE=5242880)"),D)O=d.wasmMemory;else if(d.wasmMemory)O=d.wasmMemory;else if(!((O=new WebAssembly.Memory({initial:$/65536,maximum:65536,shared:!0})).buffer instanceof SharedArrayBuffer))throw B("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),b&&B("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)"),Error("bad memory");J(),$=O.buffer.byteLength;var ee=[],te=[],ne=[];function re(){return N}function ie(){if(d.preRun)for("function"==typeof d.preRun&&(d.preRun=[d.preRun]);d.preRun.length;)oe(d.preRun.shift());Ve(ee)}function ae(){D||(d.noFSInit||xe.init.initialized||xe.init(),xe.ignorePermissions=!1,Ve(te))}function se(){if(!D){if(d.postRun)for("function"==typeof d.postRun&&(d.postRun=[d.postRun]);d.postRun.length;)ue(d.postRun.shift());Ve(ne)}}function oe(e){ee.unshift(e)}function le(e){te.unshift(e)}function ue(e){ne.unshift(e)}var ce=0,fe=null;function pe(e){ce++,d.monitorRunDependencies&&d.monitorRunDependencies(ce)}function Ae(e){if(ce--,d.monitorRunDependencies&&d.monitorRunDependencies(ce),0==ce&&fe){var t=fe;fe=null,t()}}function de(e){d.onAbort&&d.onAbort(e),B(e="Aborted("+e+")"),M=!0,L=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw A(t),t}var ve,he,Ie,ye="data:application/octet-stream;base64,";function me(e){return e.startsWith(ye)}function we(e){try{if(e==ve&&C)return new Uint8Array(C);if(I)return I(e);throw"both async and sync fetching of the wasm failed"}catch(e){de(e)}}function ge(){return C||!g&&!E||"function"!=typeof fetch?Promise.resolve().then((function(){return we(ve)})):fetch(ve,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ve+"'";return e.arrayBuffer()})).catch((function(){return we(ve)}))}function Ee(){var e={a:vi};function t(e,t){var n=e.exports;d.asm=n,Xe(d.asm.ka),Z=d.asm.ia,le(d.asm.ha),S=t,je.loadWasmModuleToAllWorkers((function(){return Ae()}))}function n(e){t(e.instance,e.module)}function r(t){return ge().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){B("failed to asynchronously prepare wasm: "+e),de(e)}))}if(pe(),d.instantiateWasm)try{return d.instantiateWasm(e,t)}catch(e){B("Module.instantiateWasm callback failed with error: "+e),A(e)}return(C||"function"!=typeof WebAssembly.instantiateStreaming||me(ve)||"function"!=typeof fetch?r(n):fetch(ve,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(n,(function(e){return B("wasm streaming compile failed: "+e),B("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(A),{}}function Te(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function be(e){var t=je.pthreads[e];delete je.pthreads[e],t.terminate(),Ti(e),je.runningWorkers.splice(je.runningWorkers.indexOf(t),1),t.pthread_ptr=0}function De(e){je.pthreads[e].postMessage({cmd:"cancel"})}function Pe(e){var t=je.pthreads[e];x(t),je.returnWorkerToPool(t)}function Re(e){var t=je.getNewWorker();if(!t)return 6;je.runningWorkers.push(t),je.pthreads[e.pthread_ptr]=t,t.pthread_ptr=e.pthread_ptr;var n={cmd:"run",start_routine:e.startRoutine,arg:e.arg,pthread_ptr:e.pthread_ptr};return t.postMessage(n,e.transferList),0}me(ve="web-ifc-mt.wasm")||(ve=R(ve));var Ce={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Ce.isAbs(e),n="/"===e.substr(-1);return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Ce.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Ce.normalize(e.join("/"))},join2:function(e,t){return Ce.normalize(e+"/"+t)}};function _e(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return de("randomDevice")}}var Be={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:xe.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Ce.isAbs(r)}return e=Ce.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Be.resolve(e).substr(1),t=Be.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:q(e)+1,i=new Array(r),a=Y(e,i,0,i.length);return t&&(i.length=a),i}var Se={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Se.ttys[e]={input:[],output:[],ops:t},xe.registerDevice(e,Se.stream_ops)},stream_ops:{open:function(e){var t=Se.ttys[e.node.rdev];if(!t)throw new xe.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new xe.ErrnoError(60);for(var a=0,s=0;s0&&(_(z(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(B(z(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(B(z(e.output,0)),e.output=[])}}};function Ne(e){de()}var Le={ops_table:null,mount:function(e){return Le.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(xe.isBlkdev(n)||xe.isFIFO(n))throw new xe.ErrnoError(63);Le.ops_table||(Le.ops_table={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:xe.chrdev_stream_ops}});var i=xe.createNode(e,t,n,r);return xe.isDir(i.mode)?(i.node_ops=Le.ops_table.dir.node,i.stream_ops=Le.ops_table.dir.stream,i.contents={}):xe.isFile(i.mode)?(i.node_ops=Le.ops_table.file.node,i.stream_ops=Le.ops_table.file.stream,i.usedBytes=0,i.contents=null):xe.isLink(i.mode)?(i.node_ops=Le.ops_table.link.node,i.stream_ops=Le.ops_table.link.stream):xe.isChrdev(i.mode)&&(i.node_ops=Le.ops_table.chrdev.node,i.stream_ops=Le.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=xe.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,xe.isDir(e.mode)?t.size=4096:xe.isFile(e.mode)?t.size=e.usedBytes:xe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&Le.resizeFileStorage(e,t.size)},lookup:function(e,t){throw xe.genericErrors[44]},mknod:function(e,t,n,r){return Le.createNode(e,t,n,r)},rename:function(e,t,n){if(xe.isDir(e.mode)){var r;try{r=xe.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new xe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=xe.lookupNode(e,t);for(var r in n.contents)throw new xe.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=Le.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!xe.isLink(e.mode))throw new xe.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||r+n>>=0,t().set(l,s>>>0)}else o=!1,s=l.byteOffset;return{ptr:s,allocated:o}},msync:function(e,t,n,r,i){return Le.stream_ops.write(e,t,0,r,n,!1),0}}};function Me(e,t,n,r){var i=r?"":"al "+e;h(e,(function(n){x(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&Ae()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&pe()}var xe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=Be.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new xe.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=xe.root,a="/",s=0;s40)throw new xe.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(xe.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%xe.nameTable.length},hashAddNode:function(e){var t=xe.hashName(e.parent.id,e.name);e.name_next=xe.nameTable[t],xe.nameTable[t]=e},hashRemoveNode:function(e){var t=xe.hashName(e.parent.id,e.name);if(xe.nameTable[t]===e)xe.nameTable[t]=e.name_next;else for(var n=xe.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=xe.mayLookup(e);if(n)throw new xe.ErrnoError(n,e);for(var r=xe.hashName(e.id,t),i=xe.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return xe.lookup(e,t)},createNode:function(e,t,n,r){var i=new xe.FSNode(e,t,n,r);return xe.hashAddNode(i),i},destroyNode:function(e){xe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=xe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return xe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=xe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return xe.lookupNode(e,t),20}catch(e){}return xe.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=xe.lookupNode(e,t)}catch(e){return e.errno}var i=xe.nodePermissions(e,"wx");if(i)return i;if(n){if(!xe.isDir(r.mode))return 54;if(xe.isRoot(r)||xe.getPath(r)===xe.cwd())return 10}else if(xe.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?xe.isLink(e.mode)?32:xe.isDir(e.mode)&&("r"!==xe.flagsToPermissionString(t)||512&t)?31:xe.nodePermissions(e,xe.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xe.MAX_OPEN_FDS,n=e;n<=t;n++)if(!xe.streams[n])return n;throw new xe.ErrnoError(33)},getStream:function(e){return xe.streams[e]},createStream:function(e,t,n){xe.FSStream||(xe.FSStream=function(){this.shared={}},xe.FSStream.prototype={},Object.defineProperties(xe.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new xe.FSStream,e);var r=xe.nextfd(t,n);return e.fd=r,xe.streams[r]=e,e},closeStream:function(e){xe.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=xe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new xe.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){xe.devices[e]={stream_ops:t}},getDevice:function(e){return xe.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),xe.syncFSRequests++,xe.syncFSRequests>1&&B("warning: "+xe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=xe.getMounts(xe.root.mount),r=0;function i(e){return xe.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&xe.root)throw new xe.ErrnoError(10);if(!i&&!a){var s=xe.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,xe.isMountpoint(r))throw new xe.ErrnoError(10);if(!xe.isDir(r.mode))throw new xe.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?xe.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=xe.lookupPath(e,{follow_mount:!1});if(!xe.isMountpoint(t.node))throw new xe.ErrnoError(28);var n=t.node,r=n.mounted,i=xe.getMounts(r);Object.keys(xe.nameTable).forEach((function(e){for(var t=xe.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&xe.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=xe.lookupPath(e,{parent:!0}).node,i=Ce.basename(e);if(!i||"."===i||".."===i)throw new xe.ErrnoError(28);var a=xe.mayCreate(r,i);if(a)throw new xe.ErrnoError(a);if(!r.node_ops.mknod)throw new xe.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,xe.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,xe.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(1==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.read)throw new xe.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new xe.ErrnoError(28);if(xe.isClosed(e))throw new xe.ErrnoError(8);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(xe.isDir(e.node.mode))throw new xe.ErrnoError(31);if(!e.stream_ops.write)throw new xe.ErrnoError(28);e.seekable&&1024&e.flags&&xe.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new xe.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(xe.isClosed(e))throw new xe.ErrnoError(8);if(t<0||n<=0)throw new xe.ErrnoError(28);if(0==(2097155&e.flags))throw new xe.ErrnoError(8);if(!xe.isFile(e.node.mode)&&!xe.isDir(e.node.mode))throw new xe.ErrnoError(43);if(!e.stream_ops.allocate)throw new xe.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new xe.ErrnoError(2);if(1==(2097155&e.flags))throw new xe.ErrnoError(2);if(!e.stream_ops.mmap)throw new xe.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new xe.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=xe.open(e,n.flags),i=xe.stat(e),a=i.size,s=new Uint8Array(a);return xe.read(r,s,0,a,0),"utf8"===n.encoding?t=z(s,0):"binary"===n.encoding&&(t=s),xe.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=xe.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(q(t)+1),a=Y(t,i,0,i.length);xe.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");xe.write(r,t,0,t.byteLength,void 0,n.canOwn)}xe.close(r)},cwd:function(){return xe.currentPath},chdir:function(e){var t=xe.lookupPath(e,{follow:!0});if(null===t.node)throw new xe.ErrnoError(44);if(!xe.isDir(t.node.mode))throw new xe.ErrnoError(54);var n=xe.nodePermissions(t.node,"x");if(n)throw new xe.ErrnoError(n);xe.currentPath=t.path},createDefaultDirectories:function(){xe.mkdir("/tmp"),xe.mkdir("/home"),xe.mkdir("/home/web_user")},createDefaultDevices:function(){xe.mkdir("/dev"),xe.registerDevice(xe.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),xe.mkdev("/dev/null",xe.makedev(1,3)),Se.register(xe.makedev(5,0),Se.default_tty_ops),Se.register(xe.makedev(6,0),Se.default_tty1_ops),xe.mkdev("/dev/tty",xe.makedev(5,0)),xe.mkdev("/dev/tty1",xe.makedev(6,0));var e=_e();xe.createDevice("/dev","random",e),xe.createDevice("/dev","urandom",e),xe.mkdir("/dev/shm"),xe.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){xe.mkdir("/proc");var e=xe.mkdir("/proc/self");xe.mkdir("/proc/self/fd"),xe.mount({mount:function(){var t=xe.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=xe.getStream(n);if(!r)throw new xe.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){d.stdin?xe.createDevice("/dev","stdin",d.stdin):xe.symlink("/dev/tty","/dev/stdin"),d.stdout?xe.createDevice("/dev","stdout",null,d.stdout):xe.symlink("/dev/tty","/dev/stdout"),d.stderr?xe.createDevice("/dev","stderr",null,d.stderr):xe.symlink("/dev/tty1","/dev/stderr"),xe.open("/dev/stdin",0),xe.open("/dev/stdout",1),xe.open("/dev/stderr",1)},ensureErrnoError:function(){xe.ErrnoError||(xe.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},xe.ErrnoError.prototype=new Error,xe.ErrnoError.prototype.constructor=xe.ErrnoError,[44].forEach((function(e){xe.genericErrors[e]=new xe.ErrnoError(e),xe.genericErrors[e].stack=""})))},staticInit:function(){xe.ensureErrnoError(),xe.nameTable=new Array(4096),xe.mount(Le,{},"/"),xe.createDefaultDirectories(),xe.createDefaultDevices(),xe.createSpecialDirectories(),xe.filesystems={MEMFS:Le}},init:function(e,t,n){xe.init.initialized=!0,xe.ensureErrnoError(),d.stdin=e||d.stdin,d.stdout=t||d.stdout,d.stderr=n||d.stderr,xe.createStandardStreams()},quit:function(){xe.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=n);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,n-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",r,!1),n!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+r+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Oe(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!E)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new s;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var l={isDevice:!1,contents:o}}else l={isDevice:!1,url:r};var u=xe.createFile(e,n,l,i,a);l.contents?u.contents=l.contents:l.url&&(u.contents=null,u.url=l.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var c={};function f(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=xe.indexedDB();try{var i=r.open(xe.DB_NAME(),xe.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){_("creating db"),i.result.createObjectStore(xe.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([xe.DB_STORE_NAME],"readwrite"),a=r.objectStore(xe.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(xe.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=xe.indexedDB();try{var i=r.open(xe.DB_NAME(),xe.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([xe.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(xe.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){xe.analyzePath(e).exists&&xe.unlink(e),xe.createDataFile(Ce.dirname(e),Ce.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Fe={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Ce.isAbs(t))return t;var r;if(r=-100===e?xe.cwd():Fe.getStreamFromFD(e).path,0==t.length){if(!n)throw new xe.ErrnoError(44);return r}return Ce.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Ce.normalize(t)!==Ce.normalize(xe.getPath(e.node)))return-54;throw e}s()[n>>>2]=r.dev,s()[n+8>>>2]=r.ino,s()[n+12>>>2]=r.mode,o()[n+16>>>2]=r.nlink,s()[n+20>>>2]=r.uid,s()[n+24>>>2]=r.gid,s()[n+28>>>2]=r.rdev,Ie=[r.size>>>0,(he=r.size,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+40>>>2]=Ie[0],s()[n+44>>>2]=Ie[1],s()[n+48>>>2]=4096,s()[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),l=r.ctime.getTime();return Ie=[Math.floor(i/1e3)>>>0,(he=Math.floor(i/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+56>>>2]=Ie[0],s()[n+60>>>2]=Ie[1],o()[n+64>>>2]=i%1e3*1e3,Ie=[Math.floor(a/1e3)>>>0,(he=Math.floor(a/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+72>>>2]=Ie[0],s()[n+76>>>2]=Ie[1],o()[n+80>>>2]=a%1e3*1e3,Ie=[Math.floor(l/1e3)>>>0,(he=Math.floor(l/1e3),+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+88>>>2]=Ie[0],s()[n+92>>>2]=Ie[1],o()[n+96>>>2]=l%1e3*1e3,Ie=[r.ino>>>0,(he=r.ino,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[n+104>>>2]=Ie[0],s()[n+108>>>2]=Ie[1],0},doMsync:function(e,t,n,i,a){if(!xe.isFile(t.node.mode))throw new xe.ErrnoError(43);if(2&i)return 0;e>>>=0;var s=r().slice(e,e+n);xe.msync(t,s,a,n,i)},varargs:void 0,get:function(){return Fe.varargs+=4,s()[Fe.varargs-4>>>2]},getStr:function(e){return K(e)},getStreamFromFD:function(e){var t=xe.getStream(e);if(!t)throw new xe.ErrnoError(8);return t}};function He(e){if(D)return Hr(1,1,e);L=e,re()||(je.terminateAllThreads(),d.onExit&&d.onExit(e),M=!0),w(e,new Te(e))}function Ue(e,t){if(L=e,!t&&D)throw We(e),"unwind";He(e)}var Ge=Ue;function ke(e){if(e instanceof Te||"unwind"==e)return L;w(1,e)}var je={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){D?je.initWorker():je.initMainThread()},initMainThread:function(){for(var e=navigator.hardwareConcurrency;e--;)je.allocateUnusedWorker()},initWorker:function(){N=!1},setExitStatus:function(e){L=e},terminateAllThreads:function(){for(var e=0,t=Object.values(je.pthreads);e0;)e.shift()(d)}function Qe(){var e=Ii(),t=s()[e+52>>>2],n=s()[e+56>>>2];Pi(t,t-n),Ci(t)}function We(e){if(D)return Hr(2,0,e);try{Ge(e)}catch(e){ke(e)}}d.PThread=je,d.establishStackSpace=Qe;var ze=[];function Ke(e){var t=ze[e];return t||(e>=ze.length&&(ze.length=e+1),ze[e]=t=Z.get(e)),t}function Ye(e,t){var n=Ke(e)(t);re()?je.setExitStatus(n):bi(n)}function Xe(e){je.tlsInitFunctions.push(e)}function qe(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){o()[this.ptr+4>>>2]=e},this.get_type=function(){return o()[this.ptr+4>>>2]},this.set_destructor=function(e){o()[this.ptr+8>>>2]=e},this.get_destructor=function(){return o()[this.ptr+8>>>2]},this.set_refcount=function(e){s()[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,t()[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=t()[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,t()[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=t()[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){Atomics.add(s(),this.ptr+0>>2,1)},this.release_ref=function(){return 1===Atomics.sub(s(),this.ptr+0>>2,1)},this.set_adjusted_ptr=function(e){o()[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return o()[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(Bi(this.get_type()))return o()[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function Je(e,t,n){throw new qe(e).init(t,n),e}function Ze(e){mi(e,!E,1,!g),je.threadInitTLS()}function $e(e){D?postMessage({cmd:"cleanupThread",thread:e}):Pe(e)}function et(e){}d.invokeEntryPoint=Ye;var tt="To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";function nt(e){de(tt)}function rt(e,t){de(tt)}var it={};function at(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function st(e){return this.fromWireType(s()[e>>>2])}var ot={},lt={},ut={},ct=48,ft=57;function pt(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=ct&&t<=ft?"_"+e:e}function At(e,t){return e=pt(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function dt(e,t){var n=At(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var vt=void 0;function ht(e){throw new vt(e)}function It(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ht("Mismatched type converter count");for(var i=0;i>>0];)t+=bt[r()[n++>>>0]];return t}var Pt=void 0;function Rt(e){throw new Pt(e)}function Ct(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||Rt('type "'+r+'" must have a positive integer typeid pointer'),lt.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;Rt("Cannot register type '"+r+"' twice")}if(lt[e]=t,delete ut[e],ot.hasOwnProperty(e)){var i=ot[e];delete ot[e],i.forEach((function(e){return e()}))}}function _t(e,n,r,a,o){var l=Et(r);Ct(e,{name:n=Dt(n),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?a:o},argPackAdvance:8,readValueFromPointer:function(e){var a;if(1===r)a=t();else if(2===r)a=i();else{if(4!==r)throw new TypeError("Unknown boolean type size: "+n);a=s()}return this.fromWireType(a[e>>>l])},destructorFunction:null})}function Bt(e){if(!(this instanceof rn))return!1;if(!(e instanceof rn))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ot(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function St(e){Rt(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Nt=!1;function Lt(e){}function Mt(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function xt(e){e.count.value-=1,0===e.count.value&&Mt(e)}function Ft(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ft(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ht={};function Ut(){return Object.keys(zt).length}function Gt(){var e=[];for(var t in zt)zt.hasOwnProperty(t)&&e.push(zt[t]);return e}var kt=[];function jt(){for(;kt.length;){var e=kt.pop();e.$$.deleteScheduled=!1,e.delete()}}var Vt=void 0;function Qt(e){Vt=e,kt.length&&Vt&&Vt(jt)}function Wt(){d.getInheritedInstanceCount=Ut,d.getLiveInheritedInstances=Gt,d.flushPendingDeletes=jt,d.setDelayFunction=Qt}var zt={};function Kt(e,t){for(void 0===t&&Rt("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function Yt(e,t){return t=Kt(e,t),zt[t]}function Xt(e,t){return t.ptrType&&t.ptr||ht("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ht("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Jt(Object.create(e,{$$:{value:t}}))}function qt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=Yt(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Xt(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Xt(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ht[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ft(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Xt(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Jt(e){return"undefined"==typeof FinalizationRegistry?(Jt=function(e){return e},e):(Nt=new FinalizationRegistry((function(e){xt(e.$$)})),Lt=function(e){return Nt.unregister(e)},(Jt=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};Nt.register(e,n,e)}return e})(e))}function Zt(){if(this.$$.ptr||St(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=Jt(Object.create(Object.getPrototypeOf(this),{$$:{value:Ot(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function $t(){this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),Lt(this),xt(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function en(){return!this.$$.ptr}function tn(){return this.$$.ptr||St(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Rt("Object already scheduled for deletion"),kt.push(this),1===kt.length&&Vt&&Vt(jt),this.$$.deleteScheduled=!0,this}function nn(){rn.prototype.isAliasOf=Bt,rn.prototype.clone=Zt,rn.prototype.delete=$t,rn.prototype.isDeleted=en,rn.prototype.deleteLater=tn}function rn(){}function an(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Rt("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function sn(e,t,n){d.hasOwnProperty(e)?((void 0===n||void 0!==d[e].overloadTable&&void 0!==d[e].overloadTable[n])&&Rt("Cannot register public name '"+e+"' twice"),an(d,e,e),d.hasOwnProperty(n)&&Rt("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),d[e].overloadTable[n]=t):(d[e]=t,void 0!==n&&(d[e].numArguments=n))}function on(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ln(e,t,n){for(;t!==n;)t.upcast||Rt("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function un(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function cn(e,t){var n;if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ln(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Rt("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:Rt("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Fn.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:Rt("Unsupporting sharing policy")}return n}function fn(e,t){if(null===t)return this.isReference&&Rt("null is not a valid "+this.name),0;t.$$||Rt('Cannot pass "'+Vn(t)+'" as a '+this.name),t.$$.ptr||Rt("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&Rt("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ln(t.$$.ptr,n,this.registeredClass)}function pn(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function An(e){this.rawDestructor&&this.rawDestructor(e)}function dn(e){null!==e&&e.delete()}function vn(){hn.prototype.getPointee=pn,hn.prototype.destructor=An,hn.prototype.argPackAdvance=8,hn.prototype.readValueFromPointer=st,hn.prototype.deleteObject=dn,hn.prototype.fromWireType=qt}function hn(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=cn:r?(this.toWireType=un,this.destructorFunction=null):(this.toWireType=fn,this.destructorFunction=null)}function In(e,t,n){d.hasOwnProperty(e)||ht("Replacing nonexistant public symbol"),void 0!==d[e].overloadTable&&void 0!==n?d[e].overloadTable[n]=t:(d[e]=t,d[e].argCount=n)}function yn(e,t,n){var r=d["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}function mn(e,t,n){return e.includes("j")?yn(e,t,n):Ke(t).apply(null,n)}function wn(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),mn(e,t,n)}}function gn(e,t){var n=(e=Dt(e)).includes("j")?wn(e,t):Ke(t);return"function"!=typeof n&&Rt("unknown function pointer with signature "+e+": "+t),n}var En=void 0;function Tn(e){var t=yi(e),n=Dt(t);return Di(t),n}function bn(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||lt[t]||(ut[t]?ut[t].forEach(e):(n.push(t),r[t]=!0))})),new En(e+": "+n.map(Tn).join([", "]))}function Dn(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Dt(c),a=gn(i,a),o&&(o=gn(s,o)),u&&(u=gn(l,u)),p=gn(f,p);var A=pt(c);sn(A,(function(){bn("Cannot construct "+c+" due to unbound types",[r])})),It([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:rn.prototype;var s=At(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Pt("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Pt(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Pt("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new on(c,s,l,p,n,a,o,u),d=new hn(c,f,!0,!1,!1),v=new hn(c+"*",f,!1,!1,!1),h=new hn(c+" const*",f,!1,!0,!1);return Ht[e]={pointerType:v,constPointerType:h},In(A,s),[d,v,h]}))}function Pn(e,t){for(var n=[],r=0;r>>2]);return n}function Rn(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=At(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Cn(e,t,n,r,i){var a=t.length;a<2&&Rt("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=Pn(t,n);i=gn(r,i),It([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Pt("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){bn("Cannot construct "+e.name+" due to unbound types",s)},It([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Cn(n,r,null,i,a),[]})),[]}))}function Bn(e,t,n,r,i,a,s,o){var l=Pn(n,r);t=Dt(t),a=gn(i,a),It([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){bn("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(an(u,t,r),u[t].overloadTable[n-2]=i),It([],l,(function(i){var o=Cn(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var On=[],Sn=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function Nn(e){e>4&&0==--Sn[e].refcount&&(Sn[e]=void 0,On.push(e))}function Ln(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(u()[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Wn(e,t,n){var r=Et(n);Ct(e,{name:t=Dt(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Qn(t,r),destructorFunction:null})}function zn(e,t,n,r,i,a){var s=Pn(t,n);e=Dt(e),i=gn(r,i),sn(e,(function(){bn("Cannot call "+e+" due to unbound types",s)}),t-1),It([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return In(e,Cn(e,r,null,i,a),t-1),[]}))}function Kn(e,n,l){switch(n){case 0:return l?function(e){return t()[e>>>0]}:function(e){return r()[e>>>0]};case 1:return l?function(e){return i()[e>>>1]}:function(e){return a()[e>>>1]};case 2:return l?function(e){return s()[e>>>2]}:function(e){return o()[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Yn(e,t,n,r,i){t=Dt(t);var a=Et(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Ct(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:Kn(t,a,0!==r),destructorFunction:null})}function Xn(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){e>>=2;var t=o(),n=t[e>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Ct(e,{name:n=Dt(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function qn(e,t){var n="std::string"===(t=Dt(t));Ct(e,{name:t,fromWireType:function(e){var t,i=o()[e>>>2],a=e+4;if(n)for(var s=a,l=0;l<=i;++l){var u=a+l;if(l==i||0==r()[u>>>0]){var c=K(s,u-s);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),s=u+1}}else{var f=new Array(i);for(l=0;l>>0]);t=f.join("")}return Di(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var a="string"==typeof t;a||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Rt("Cannot pass non-string to std::string"),i=n&&a?q(t):t.length;var s=hi(4+i+1),l=s+4;if(l>>>=0,o()[s>>>2]=i,n&&a)X(t,l,i+1);else if(a)for(var u=0;u255&&(Di(l),Rt("String has UTF-16 code units that do not fit in 8 bits")),r()[l+u>>>0]=c}else for(u=0;u>>0]=t[u];return null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}var Jn="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Zn(e,t){for(var n=e,s=n>>1,o=s+t/2;!(s>=o)&&a()[s>>>0];)++s;if((n=s<<1)-e>32&&Jn)return Jn.decode(r().slice(e,n));for(var l="",u=0;!(u>=t/2);++u){var c=i()[e+2*u>>>1];if(0==c)break;l+=String.fromCharCode(c)}return l}function $n(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,a=(n-=2)<2*e.length?n/2:e.length,s=0;s>>1]=o,t+=2}return i()[t>>>1]=0,t-r}function er(e){return 2*e.length}function tr(e,t){for(var n=0,r="";!(n>=t/4);){var i=s()[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function nr(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),s()[t>>>2]=o,(t+=4)+4>i)break}return s()[t>>>2]=0,t-r}function rr(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ir(e,t,n){var r,i,s,l,u;n=Dt(n),2===t?(r=Zn,i=$n,l=er,s=function(){return a()},u=1):4===t&&(r=tr,i=nr,l=rr,s=function(){return o()},u=2),Ct(e,{name:n,fromWireType:function(e){for(var n,i=o()[e>>>2],a=s(),l=e+4,c=0;c<=i;++c){var f=e+4+c*t;if(c==i||0==a[f>>>u]){var p=r(l,f-l);void 0===n?n=p:(n+=String.fromCharCode(0),n+=p),l=f+t}}return Di(e),n},toWireType:function(e,r){"string"!=typeof r&&Rt("Cannot pass non-string to C++ string type "+n);var a=l(r),s=hi(4+a+t);return s>>>=0,o()[s>>>2]=a>>u,i(r,s+4,a+t),null!==e&&e.push(Di,s),s},argPackAdvance:8,readValueFromPointer:st,destructorFunction:function(e){Di(e)}})}function ar(e,t,n,r,i,a){it[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),elements:[]}}function sr(e,t,n,r,i,a,s,o,l){it[e].elements.push({getterReturnType:t,getter:gn(n,r),getterContext:i,setterArgumentType:a,setter:gn(s,o),setterContext:l})}function or(e,t,n,r,i,a){mt[e]={name:Dt(t),rawConstructor:gn(n,r),rawDestructor:gn(i,a),fields:[]}}function lr(e,t,n,r,i,a,s,o,l,u){mt[e].fields.push({fieldName:Dt(t),getterReturnType:n,getter:gn(r,i),getterContext:a,setterArgumentType:s,setter:gn(o,l),setterContext:u})}function ur(e,t){Ct(e,{isVoid:!0,name:t=Dt(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function cr(e){B(K(e))}function fr(e){Atomics.store(s(),e>>2,1),Ii()&&Ei(e),Atomics.compareExchange(s(),e>>2,1,0)}function pr(e,t,n,r){if(e==t)setTimeout((function(){return fr(r)}));else if(D)postMessage({targetThread:e,cmd:"processProxyingQueue",queue:r});else{var i=je.pthreads[e];if(!i)return;i.postMessage({cmd:"processProxyingQueue",queue:r})}return 1}function Ar(e,t,n){return-1}function dr(e,t,n){e=Fn.toValue(e),t=kn(t,"emval::as");var r=[],i=Fn.toHandle(r);return o()[n>>>2]=i,t.toWireType(r,e)}function vr(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hr(e,t,n,r){e=Fn.toValue(e);for(var i=vr(t,n),a=new Array(t),s=0;s4&&(Sn[e].refcount+=1)}function br(e,t){return(e=Fn.toValue(e))instanceof(t=Fn.toValue(t))}function Dr(e){return"number"==typeof(e=Fn.toValue(e))}function Pr(e){return"string"==typeof(e=Fn.toValue(e))}function Rr(){return Fn.toHandle([])}function Cr(e){return Fn.toHandle(mr(e))}function _r(){return Fn.toHandle({})}function Br(e){at(Fn.toValue(e)),Nn(e)}function Or(e,t,n){e=Fn.toValue(e),t=Fn.toValue(t),n=Fn.toValue(n),e[t]=n}function Sr(e,t){var n=(e=kn(e,"_emval_take_value")).readValueFromPointer(t);return Fn.toHandle(n)}function Nr(){de("")}function Lr(e){Lr.shown||(Lr.shown={}),Lr.shown[e]||(Lr.shown[e]=1,B(e))}function Mr(){E||Lr("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function xr(e,t,n){r().copyWithin(e>>>0,t>>>0,t+n>>>0)}function Fr(e){var t=Ri(),n=e();return Ci(t),n}function Hr(e,t){var n=arguments.length-2,r=arguments;return Fr((function(){for(var i=n,a=_i(8*i),s=a>>3,o=0;o>>0]=l}return gi(e,i,a,t)}))}Ir=function(){return performance.timeOrigin+performance.now()};var Ur=[];function Gr(e,t,n){Ur.length=t;for(var r=n>>3,i=0;i>>0];return di[e].apply(null,Ur)}function kr(e){var t=O.buffer;try{return O.grow(e-t.byteLength+65535>>>16),J(),1}catch(e){}}function jr(e){var t=r().length;if((e>>>=0)<=t)return!1;var n=4294901760;if(e>n)return!1;for(var i,a,s=1;s<=4;s*=2){var o=t*(1+.2/s);if(o=Math.min(o,e+100663296),kr(Math.min(n,(i=Math.max(e,o))+((a=65536)-i%a)%a)))return!0}return!1}function Vr(){throw"unwind"}var Qr={};function Wr(){return m||"./this.program"}function zr(){if(!zr.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Wr()};for(var t in Qr)void 0===Qr[t]?delete e[t]:e[t]=Qr[t];var n=[];for(var t in e)n.push(t+"="+e[t]);zr.strings=n}return zr.strings}function Kr(e,n,r){for(var i=0;i>>0]=e.charCodeAt(i);r||(t()[n>>>0]=0)}function Yr(e,t){if(D)return Hr(3,1,e,t);var n=0;return zr().forEach((function(r,i){var a=t+n;o()[e+4*i>>>2]=a,Kr(r,a),n+=r.length+1})),0}function Xr(e,t){if(D)return Hr(4,1,e,t);var n=zr();o()[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),o()[t>>>2]=r,0}function qr(e){if(D)return Hr(5,1,e);try{var t=Fe.getStreamFromFD(e);return xe.close(t),0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function Jr(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=xe.read(e,t(),l,u,i);if(c<0)return-1;if(a+=c,c>>2]=i,0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function $r(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function ei(e,t,n,r,i){if(D)return Hr(7,1,e,t,n,r,i);try{var a=$r(t,n);if(isNaN(a))return 61;var o=Fe.getStreamFromFD(e);return xe.llseek(o,a,r),Ie=[o.position>>>0,(he=o.position,+Math.abs(he)>=1?he>0?(0|Math.min(+Math.floor(he/4294967296),4294967295))>>>0:~~+Math.ceil((he-+(~~he>>>0))/4294967296)>>>0:0)],s()[i>>>2]=Ie[0],s()[i+4>>>2]=Ie[1],o.getdents&&0===a&&0===r&&(o.getdents=null),0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function ti(e,n,r,i){for(var a=0,s=0;s>>2],u=o()[n+4>>>2];n+=8;var c=xe.write(e,t(),l,u,i);if(c<0)return-1;a+=c,void 0!==i&&(i+=c)}return a}function ni(e,t,n,r){if(D)return Hr(8,1,e,t,n,r);try{var i=ti(Fe.getStreamFromFD(e),t,n);return o()[r>>>2]=i,0}catch(e){if(void 0===xe||!(e instanceof xe.ErrnoError))throw e;return e.errno}}function ri(e){return e%4==0&&(e%100!=0||e%400==0)}function ii(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var ai=[31,29,31,30,31,30,31,31,30,31,30,31],si=[31,28,31,30,31,30,31,31,30,31,30,31];function oi(e,t){for(var n=new Date(e.getTime());t>0;){var r=ri(n.getFullYear()),i=n.getMonth(),a=(r?ai:si)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function li(e,n){t().set(e,n>>>0)}function ui(e,t,n,r){var i=s()[r+40>>>2],a={tm_sec:s()[r>>>2],tm_min:s()[r+4>>>2],tm_hour:s()[r+8>>>2],tm_mday:s()[r+12>>>2],tm_mon:s()[r+16>>>2],tm_year:s()[r+20>>>2],tm_wday:s()[r+24>>>2],tm_yday:s()[r+28>>>2],tm_isdst:s()[r+32>>>2],tm_gmtoff:s()[r+36>>>2],tm_zone:i?K(i):""},o=K(n),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in l)o=o.replace(new RegExp(u,"g"),l[u]);var c=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],f=["January","February","March","April","May","June","July","August","September","October","November","December"];function p(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var t=oi(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=v(n),a=v(r);return d(i,t)<=0?d(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var I={"%a":function(e){return c[e.tm_wday].substring(0,3)},"%A":function(e){return c[e.tm_wday]},"%b":function(e){return f[e.tm_mon].substring(0,3)},"%B":function(e){return f[e.tm_mon]},"%C":function(e){return A((e.tm_year+1900)/100|0,2)},"%d":function(e){return A(e.tm_mday,2)},"%e":function(e){return p(e.tm_mday,2," ")},"%g":function(e){return h(e).toString().substring(2)},"%G":function(e){return h(e)},"%H":function(e){return A(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),A(t,2)},"%j":function(e){return A(e.tm_mday+ii(ri(e.tm_year+1900)?ai:si,e.tm_mon-1),3)},"%m":function(e){return A(e.tm_mon+1,2)},"%M":function(e){return A(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return A(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return A(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ri(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ri(e.tm_year%400-1))&&t++}return A(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return A(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var u in o=o.replace(/%%/g,"\0\0"),I)o.includes(u)&&(o=o.replace(new RegExp(u,"g"),I[u](a)));var y=Oe(o=o.replace(/\0\0/g,"%"),!1);return y.length>t?0:(li(y,e),y.length-1)}function ci(e,t,n,r,i){return ui(e,t,n,r)}je.init();var fi=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=xe.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},pi=365,Ai=146;Object.defineProperties(fi.prototype,{read:{get:function(){return(this.mode&pi)===pi},set:function(e){e?this.mode|=pi:this.mode&=~pi}},write:{get:function(){return(this.mode&Ai)===Ai},set:function(e){e?this.mode|=Ai:this.mode&=~Ai}},isFolder:{get:function(){return xe.isDir(this.mode)}},isDevice:{get:function(){return xe.isChrdev(this.mode)}}}),xe.FSNode=fi,xe.staticInit(),vt=d.InternalError=dt(Error,"InternalError"),Tt(),Pt=d.BindingError=dt(Error,"BindingError"),nn(),Wt(),vn(),En=d.UnboundTypeError=dt(Error,"UnboundTypeError"),xn();var di=[null,He,We,Yr,Xr,qr,Zr,ei,ni],vi={g:Je,T:Ze,J:$e,X:et,_:nt,Z:rt,da:yt,q:wt,H:gt,ba:_t,p:Dn,o:_n,c:Bn,aa:Hn,D:Gn,t:jn,B:Wn,d:zn,s:Yn,i:Xn,C:qn,x:ir,ea:ar,j:sr,r:or,f:lr,ca:ur,Y:cr,V:pr,S:Ar,n:dr,z:hr,b:Nn,F:gr,l:Er,u:Tr,ga:br,y:Dr,E:Pr,fa:Rr,h:Cr,w:_r,m:Br,k:Or,e:Sr,A:Nr,U:Mr,v:Ir,W:xr,R:Gr,P:jr,$:Vr,L:Yr,M:Xr,I:Ge,N:qr,O:Zr,G:ei,Q:ni,a:O||d.wasmMemory,K:ci};Ee();var hi=function(){return(hi=d.asm.ja).apply(null,arguments)};d.__emscripten_tls_init=function(){return(d.__emscripten_tls_init=d.asm.ka).apply(null,arguments)};var Ii=d._pthread_self=function(){return(Ii=d._pthread_self=d.asm.la).apply(null,arguments)},yi=d.___getTypeName=function(){return(yi=d.___getTypeName=d.asm.ma).apply(null,arguments)};d.__embind_initialize_bindings=function(){return(d.__embind_initialize_bindings=d.asm.na).apply(null,arguments)};var mi=d.__emscripten_thread_init=function(){return(mi=d.__emscripten_thread_init=d.asm.oa).apply(null,arguments)};d.__emscripten_thread_crashed=function(){return(d.__emscripten_thread_crashed=d.asm.pa).apply(null,arguments)};var wi,gi=function(){return(gi=d.asm.qa).apply(null,arguments)},Ei=d.__emscripten_proxy_execute_task_queue=function(){return(Ei=d.__emscripten_proxy_execute_task_queue=d.asm.ra).apply(null,arguments)},Ti=function(){return(Ti=d.asm.sa).apply(null,arguments)},bi=d.__emscripten_thread_exit=function(){return(bi=d.__emscripten_thread_exit=d.asm.ta).apply(null,arguments)},Di=function(){return(Di=d.asm.ua).apply(null,arguments)},Pi=function(){return(Pi=d.asm.va).apply(null,arguments)},Ri=function(){return(Ri=d.asm.wa).apply(null,arguments)},Ci=function(){return(Ci=d.asm.xa).apply(null,arguments)},_i=function(){return(_i=d.asm.ya).apply(null,arguments)},Bi=function(){return(Bi=d.asm.za).apply(null,arguments)};function Oi(){if(!(ce>0)){if(D)return p(d),ae(),void startWorker(d);ie(),ce>0||(d.setStatus?(d.setStatus("Running..."),setTimeout((function(){setTimeout((function(){d.setStatus("")}),1),e()}),1)):e())}function e(){wi||(wi=!0,d.calledRun=!0,M||(ae(),p(d),d.onRuntimeInitialized&&d.onRuntimeInitialized(),se()))}}if(d.dynCall_jiji=function(){return(d.dynCall_jiji=d.asm.Aa).apply(null,arguments)},d.dynCall_viijii=function(){return(d.dynCall_viijii=d.asm.Ba).apply(null,arguments)},d.dynCall_iiiiij=function(){return(d.dynCall_iiiiij=d.asm.Ca).apply(null,arguments)},d.dynCall_iiiiijj=function(){return(d.dynCall_iiiiijj=d.asm.Da).apply(null,arguments)},d.dynCall_iiiiiijj=function(){return(d.dynCall_iiiiiijj=d.asm.Ea).apply(null,arguments)},d.keepRuntimeAlive=re,d.wasmMemory=O,d.ExitStatus=Te,d.PThread=je,fe=function e(){wi||Oi(),wi||(fe=e)},d.preInit)for("function"==typeof d.preInit&&(d.preInit=[d.preInit]);d.preInit.length>0;)d.preInit.pop()();return Oi(),e.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),v_=p_({"dist/web-ifc.js":function(e,t){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=void 0!==r?r:{};i.ready=new Promise((function(n,r){e=n,t=r}));var a,s,o=Object.assign({},i),l="./this.program",u=!0,c="";function f(e){return i.locateFile?i.locateFile(e,c):c+e}"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),n&&(c=n),c=0!==c.indexOf("blob:")?c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1):"",a=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},s=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?t(r.response):n()},r.onerror=n,r.send(null)};var p,A,d=i.print||console.log.bind(console),v=i.printErr||console.warn.bind(console);Object.assign(i,o),o=null,i.arguments,i.thisProgram&&(l=i.thisProgram),i.quit,i.wasmBinary&&(p=i.wasmBinary),i.noExitRuntime,"object"!=("undefined"==typeof WebAssembly?"undefined":T(WebAssembly))&&Y("no native wasm support detected");var h=!1;function I(e,t){e||Y(t)}var y,m,w,g,E,b,D,P,R,C="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function _(e,t,n){for(var r=(t>>>=0)+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&C)return C.decode(e.subarray(t,i));for(var a="";t>10,56320|1023&u)}}else a+=String.fromCharCode((31&s)<<6|o)}else a+=String.fromCharCode(s)}return a}function B(e,t){return(e>>>=0)?_(m,e,t):""}function O(e,t,n,r){if(!(r>0))return 0;for(var i=n>>>=0,a=n+r-1,s=0;s=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),o<=127){if(n>=a)break;t[n++>>>0]=o}else if(o<=2047){if(n+1>=a)break;t[n++>>>0]=192|o>>6,t[n++>>>0]=128|63&o}else if(o<=65535){if(n+2>=a)break;t[n++>>>0]=224|o>>12,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}else{if(n+3>=a)break;t[n++>>>0]=240|o>>18,t[n++>>>0]=128|o>>12&63,t[n++>>>0]=128|o>>6&63,t[n++>>>0]=128|63&o}}return t[n>>>0]=0,n-i}function S(e,t,n){return O(e,m,t,n)}function N(e){for(var t=0,n=0;n=55296&&r<=57343?(t+=4,++n):t+=3}return t}function L(){var e=A.buffer;i.HEAP8=y=new Int8Array(e),i.HEAP16=w=new Int16Array(e),i.HEAP32=E=new Int32Array(e),i.HEAPU8=m=new Uint8Array(e),i.HEAPU16=g=new Uint16Array(e),i.HEAPU32=b=new Uint32Array(e),i.HEAPF32=D=new Float32Array(e),i.HEAPF64=P=new Float64Array(e)}var M=[],x=[],F=[];function H(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)k(i.preRun.shift());re(M)}function U(){i.noFSInit||Yn.init.initialized||Yn.init(),Yn.ignorePermissions=!1,re(x)}function G(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)V(i.postRun.shift());re(F)}function k(e){M.unshift(e)}function j(e){x.unshift(e)}function V(e){F.unshift(e)}var Q=0,W=null;function z(e){Q++,i.monitorRunDependencies&&i.monitorRunDependencies(Q)}function K(e){if(Q--,i.monitorRunDependencies&&i.monitorRunDependencies(Q),0==Q&&W){var t=W;W=null,t()}}function Y(e){i.onAbort&&i.onAbort(e),v(e="Aborted("+e+")"),h=!0,e+=". Build with -sASSERTIONS for more info.";var n=new WebAssembly.RuntimeError(e);throw t(n),n}var X,q,J,Z="data:application/octet-stream;base64,";function $(e){return e.startsWith(Z)}function ee(e){try{if(e==X&&p)return new Uint8Array(p);throw"both async and sync fetching of the wasm failed"}catch(e){Y(e)}}function te(){return!p&&u&&"function"==typeof fetch?fetch(X,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+X+"'";return e.arrayBuffer()})).catch((function(){return ee(X)})):Promise.resolve().then((function(){return ee(X)}))}function ne(){var e={a:hr};function n(e,t){var n=e.exports;i.asm=n,A=i.asm.V,L(),R=i.asm.X,j(i.asm.W),K()}function r(e){n(e.instance)}function a(t){return te().then((function(t){return WebAssembly.instantiate(t,e)})).then((function(e){return e})).then(t,(function(e){v("failed to asynchronously prepare wasm: "+e),Y(e)}))}if(z(),i.instantiateWasm)try{return i.instantiateWasm(e,n)}catch(e){v("Module.instantiateWasm callback failed with error: "+e),t(e)}return(p||"function"!=typeof WebAssembly.instantiateStreaming||$(X)||"function"!=typeof fetch?a(r):fetch(X,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,e).then(r,(function(e){return v("wasm streaming compile failed: "+e),v("falling back to ArrayBuffer instantiation"),a(r)}))}))).catch(t),{}}function re(e){for(;e.length>0;)e.shift()(i)}function ie(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){b[this.ptr+4>>>2]=e},this.get_type=function(){return b[this.ptr+4>>>2]},this.set_destructor=function(e){b[this.ptr+8>>>2]=e},this.get_destructor=function(){return b[this.ptr+8>>>2]},this.set_refcount=function(e){E[this.ptr>>>2]=e},this.set_caught=function(e){e=e?1:0,y[this.ptr+12>>>0]=e},this.get_caught=function(){return 0!=y[this.ptr+12>>>0]},this.set_rethrown=function(e){e=e?1:0,y[this.ptr+13>>>0]=e},this.get_rethrown=function(){return 0!=y[this.ptr+13>>>0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=E[this.ptr>>>2];E[this.ptr>>>2]=e+1},this.release_ref=function(){var e=E[this.ptr>>>2];return E[this.ptr>>>2]=e-1,1===e},this.set_adjusted_ptr=function(e){b[this.ptr+16>>>2]=e},this.get_adjusted_ptr=function(){return b[this.ptr+16>>>2]},this.get_exception_ptr=function(){if(gr(this.get_type()))return b[this.excPtr>>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}function ae(e,t,n){throw new ie(e).init(t,n),e}$(X="web-ifc.wasm")||(X=f(X));var se={};function oe(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function le(e){return this.fromWireType(E[e>>>2])}var ue={},ce={},fe={},pe=48,Ae=57;function de(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=pe&&t<=Ae?"_"+e:e}function ve(e,t){return e=de(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(t)}function he(e,t){var n=ve(t,(function(e){this.name=t,this.message=e;var n=new Error(e).stack;void 0!==n&&(this.stack=this.toString()+"\n"+n.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var Ie=void 0;function ye(e){throw new Ie(e)}function me(e,t,n){function r(t){var r=n(t);r.length!==e.length&&ye("Mismatched type converter count");for(var i=0;i>>0];)t+=Pe[m[n++>>>0]];return t}var Ce=void 0;function _e(e){throw new Ce(e)}function Be(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=t.name;if(e||_e('type "'+r+'" must have a positive integer typeid pointer'),ce.hasOwnProperty(e)){if(n.ignoreDuplicateRegistrations)return;_e("Cannot register type '"+r+"' twice")}if(ce[e]=t,delete fe[e],ue.hasOwnProperty(e)){var i=ue[e];delete ue[e],i.forEach((function(e){return e()}))}}function Oe(e,t,n,r,i){var a=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:i},argPackAdvance:8,readValueFromPointer:function(e){var r;if(1===n)r=y;else if(2===n)r=w;else{if(4!==n)throw new TypeError("Unknown boolean type size: "+t);r=E}return this.fromWireType(r[e>>>a])},destructorFunction:null})}function Se(e){if(!(this instanceof at))return!1;if(!(e instanceof at))return!1;for(var t=this.$$.ptrType.registeredClass,n=this.$$.ptr,r=e.$$.ptrType.registeredClass,i=e.$$.ptr;t.baseClass;)n=t.upcast(n),t=t.baseClass;for(;r.baseClass;)i=r.upcast(i),r=r.baseClass;return t===r&&n===i}function Ne(e){return{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}}function Le(e){_e(e.$$.ptrType.registeredClass.name+" instance already deleted")}var Me=!1;function xe(e){}function Fe(e){e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)}function He(e){e.count.value-=1,0===e.count.value&&Fe(e)}function Ue(e,t,n){if(t===n)return e;if(void 0===n.baseClass)return null;var r=Ue(e,t,n.baseClass);return null===r?null:n.downcast(r)}var Ge={};function ke(){return Object.keys(Ye).length}function je(){var e=[];for(var t in Ye)Ye.hasOwnProperty(t)&&e.push(Ye[t]);return e}var Ve=[];function Qe(){for(;Ve.length;){var e=Ve.pop();e.$$.deleteScheduled=!1,e.delete()}}var We=void 0;function ze(e){We=e,Ve.length&&We&&We(Qe)}function Ke(){i.getInheritedInstanceCount=ke,i.getLiveInheritedInstances=je,i.flushPendingDeletes=Qe,i.setDelayFunction=ze}var Ye={};function Xe(e,t){for(void 0===t&&_e("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}function qe(e,t){return t=Xe(e,t),Ye[t]}function Je(e,t){return t.ptrType&&t.ptr||ye("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&ye("Both smartPtrType and smartPtr must be specified"),t.count={value:1},$e(Object.create(e,{$$:{value:t}}))}function Ze(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var n=qe(this.registeredClass,t);if(void 0!==n){if(0===n.$$.count.value)return n.$$.ptr=t,n.$$.smartPtr=e,n.clone();var r=n.clone();return this.destructor(e),r}function i(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,s=this.registeredClass.getActualType(t),o=Ge[s];if(!o)return i.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Ue(t,this.registeredClass,a.registeredClass);return null===l?i.call(this):this.isSmartPointer?Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function $e(e){return"undefined"==typeof FinalizationRegistry?($e=function(e){return e},e):(Me=new FinalizationRegistry((function(e){He(e.$$)})),xe=function(e){return Me.unregister(e)},($e=function(e){var t=e.$$;if(t.smartPtr){var n={$$:t};Me.register(e,n,e)}return e})(e))}function et(){if(this.$$.ptr||Le(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=$e(Object.create(Object.getPrototypeOf(this),{$$:{value:Ne(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e}function tt(){this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),xe(this),He(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)}function nt(){return!this.$$.ptr}function rt(){return this.$$.ptr||Le(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&_e("Object already scheduled for deletion"),Ve.push(this),1===Ve.length&&We&&We(Qe),this.$$.deleteScheduled=!0,this}function it(){at.prototype.isAliasOf=Se,at.prototype.clone=et,at.prototype.delete=tt,at.prototype.isDeleted=nt,at.prototype.deleteLater=rt}function at(){}function st(e,t,n){if(void 0===e[t].overloadTable){var r=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||_e("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+e[t].overloadTable+")!"),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[r.argCount]=r}}function ot(e,t,n){i.hasOwnProperty(e)?((void 0===n||void 0!==i[e].overloadTable&&void 0!==i[e].overloadTable[n])&&_e("Cannot register public name '"+e+"' twice"),st(i,e,e),i.hasOwnProperty(n)&&_e("Cannot register multiple overloads of a function with the same number of arguments ("+n+")!"),i[e].overloadTable[n]=t):(i[e]=t,void 0!==n&&(i[e].numArguments=n))}function lt(e,t,n,r,i,a,s,o){this.name=e,this.constructor=t,this.instancePrototype=n,this.rawDestructor=r,this.baseClass=i,this.getActualType=a,this.upcast=s,this.downcast=o,this.pureVirtualFunctions=[]}function ut(e,t,n){for(;t!==n;)t.upcast||_e("Expected null or instance of "+n.name+", got an instance of "+t.name),e=t.upcast(e),t=t.baseClass;return e}function ct(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function ft(e,t){var n;if(null===t)return this.isReference&&_e("null is not a valid "+this.name),this.isSmartPointer?(n=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,n),n):0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),!this.isConst&&t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);var r=t.$$.ptrType.registeredClass;if(n=ut(t.$$.ptr,r,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&_e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?n=t.$$.smartPtr:_e("Cannot convert argument of type "+(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:n=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)n=t.$$.smartPtr;else{var i=t.clone();n=this.rawShare(n,Gt.toHandle((function(){i.delete()}))),null!==e&&e.push(this.rawDestructor,n)}break;default:_e("Unsupporting sharing policy")}return n}function pt(e,t){if(null===t)return this.isReference&&_e("null is not a valid "+this.name),0;t.$$||_e('Cannot pass "'+zt(t)+'" as a '+this.name),t.$$.ptr||_e("Cannot pass deleted object as a pointer of type "+this.name),t.$$.ptrType.isConst&&_e("Cannot convert argument of type "+t.$$.ptrType.name+" to parameter type "+this.name);var n=t.$$.ptrType.registeredClass;return ut(t.$$.ptr,n,this.registeredClass)}function At(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function dt(e){this.rawDestructor&&this.rawDestructor(e)}function vt(e){null!==e&&e.delete()}function ht(){It.prototype.getPointee=At,It.prototype.destructor=dt,It.prototype.argPackAdvance=8,It.prototype.readValueFromPointer=le,It.prototype.deleteObject=vt,It.prototype.fromWireType=Ze}function It(e,t,n,r,i,a,s,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=n,this.isConst=r,this.isSmartPointer=i,this.pointeeType=a,this.sharingPolicy=s,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,i||void 0!==t.baseClass?this.toWireType=ft:r?(this.toWireType=ct,this.destructorFunction=null):(this.toWireType=pt,this.destructorFunction=null)}function yt(e,t,n){i.hasOwnProperty(e)||ye("Replacing nonexistant public symbol"),void 0!==i[e].overloadTable&&void 0!==n?i[e].overloadTable[n]=t:(i[e]=t,i[e].argCount=n)}function mt(e,t,n){var r=i["dynCall_"+e];return n&&n.length?r.apply(null,[t].concat(n)):r.call(null,t)}var wt=[];function gt(e){var t=wt[e];return t||(e>=wt.length&&(wt.length=e+1),wt[e]=t=R.get(e)),t}function Et(e,t,n){return e.includes("j")?mt(e,t,n):gt(t).apply(null,n)}function Tt(e,t){var n=[];return function(){return n.length=0,Object.assign(n,arguments),Et(e,t,n)}}function bt(e,t){var n=(e=Re(e)).includes("j")?Tt(e,t):gt(t);return"function"!=typeof n&&_e("unknown function pointer with signature "+e+": "+t),n}var Dt=void 0;function Pt(e){var t=yr(e),n=Re(t);return wr(t),n}function Rt(e,t){var n=[],r={};throw t.forEach((function e(t){r[t]||ce[t]||(fe[t]?fe[t].forEach(e):(n.push(t),r[t]=!0))})),new Dt(e+": "+n.map(Pt).join([", "]))}function Ct(e,t,n,r,i,a,s,o,l,u,c,f,p){c=Re(c),a=bt(i,a),o&&(o=bt(s,o)),u&&(u=bt(l,u)),p=bt(f,p);var A=de(c);ot(A,(function(){Rt("Cannot construct "+c+" due to unbound types",[r])})),me([e,t,n],r?[r]:[],(function(t){var n,i;t=t[0],i=r?(n=t.registeredClass).instancePrototype:at.prototype;var s=ve(A,(function(){if(Object.getPrototypeOf(this)!==l)throw new Ce("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new Ce(c+" has no accessible constructor");var e=f.constructor_body[arguments.length];if(void 0===e)throw new Ce("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(f.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),l=Object.create(i,{constructor:{value:s}});s.prototype=l;var f=new lt(c,s,l,p,n,a,o,u),d=new It(c,f,!0,!1,!1),v=new It(c+"*",f,!1,!1,!1),h=new It(c+" const*",f,!1,!0,!1);return Ge[e]={pointerType:v,constPointerType:h},yt(A,s),[d,v,h]}))}function _t(e,t){for(var n=[],r=0;r>>2]);return n}function Bt(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+T(e)+" which is not a function");var n=ve(e.name||"unknownFunctionName",(function(){}));n.prototype=e.prototype;var r=new n,i=e.apply(r,t);return i instanceof Object?i:r}function Ot(e,t,n,r,i){var a=t.length;a<2&&_e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==n,o=!1,l=1;l0?", ":"")+f),p+=(u?"var rv = ":"")+"invoker(fn"+(f.length>0?", ":"")+f+");\n",o)p+="runDestructors(destructors);\n";else for(l=s?1:2;l0);var s=_t(t,n);i=bt(r,i),me([],[e],(function(e){var n="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Ce("Cannot register multiple constructors with identical number of parameters ("+(t-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[t-1]=function(){Rt("Cannot construct "+e.name+" due to unbound types",s)},me([],s,(function(r){return r.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ot(n,r,null,i,a),[]})),[]}))}function Nt(e,t,n,r,i,a,s,o){var l=_t(n,r);t=Re(t),a=bt(i,a),me([],[e],(function(e){var r=(e=e[0]).name+"."+t;function i(){Rt("Cannot call "+r+" due to unbound types",l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,c=u[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===n-2?(i.argCount=n-2,i.className=e.name,u[t]=i):(st(u,t,r),u[t].overloadTable[n-2]=i),me([],l,(function(i){var o=Ot(r,i,e,a,s);return void 0===u[t].overloadTable?(o.argCount=n-2,u[t]=o):u[t].overloadTable[n-2]=o,[]})),[]}))}var Lt=[],Mt=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function xt(e){e>4&&0==--Mt[e].refcount&&(Mt[e]=void 0,Lt.push(e))}function Ft(){for(var e=0,t=5;t>>2])};case 3:return function(e){return this.fromWireType(P[e>>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Yt(e,t,n){var r=be(n);Be(e,{name:t=Re(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:Kt(t,r),destructorFunction:null})}function Xt(e,t,n,r,i,a){var s=_t(t,n);e=Re(e),i=bt(r,i),ot(e,(function(){Rt("Cannot call "+e+" due to unbound types",s)}),t-1),me([],s,(function(n){var r=[n[0],null].concat(n.slice(1));return yt(e,Ot(e,r,null,i,a),t-1),[]}))}function qt(e,t,n){switch(t){case 0:return n?function(e){return y[e>>>0]}:function(e){return m[e>>>0]};case 1:return n?function(e){return w[e>>>1]}:function(e){return g[e>>>1]};case 2:return n?function(e){return E[e>>>2]}:function(e){return b[e>>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Jt(e,t,n,r,i){t=Re(t);var a=be(n),s=function(e){return e};if(0===r){var o=32-8*n;s=function(e){return e<>>o}}var l=t.includes("unsigned");Be(e,{name:t,fromWireType:s,toWireType:l?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:qt(t,a,0!==r),destructorFunction:null})}function Zt(e,t,n){var r=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function i(e){var t=b,n=t[(e>>=2)>>>0],i=t[e+1>>>0];return new r(t.buffer,i,n)}Be(e,{name:n=Re(n),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})}function $t(e,t){var n="std::string"===(t=Re(t));Be(e,{name:t,fromWireType:function(e){var t,r=b[e>>>2],i=e+4;if(n)for(var a=i,s=0;s<=r;++s){var o=i+s;if(s==r||0==m[o>>>0]){var l=B(a,o-a);void 0===t?t=l:(t+=String.fromCharCode(0),t+=l),a=o+1}}else{var u=new Array(r);for(s=0;s>>0]);t=u.join("")}return wr(e),t},toWireType:function(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var i="string"==typeof t;i||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||_e("Cannot pass non-string to std::string"),r=n&&i?N(t):t.length;var a=Ir(4+r+1),s=a+4;if(s>>>=0,b[a>>>2]=r,n&&i)S(t,s,r+1);else if(i)for(var o=0;o255&&(wr(s),_e("String has UTF-16 code units that do not fit in 8 bits")),m[s+o>>>0]=l}else for(o=0;o>>0]=t[o];return null!==e&&e.push(wr,a),a},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}var en="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function tn(e,t){for(var n=e,r=n>>1,i=r+t/2;!(r>=i)&&g[r>>>0];)++r;if((n=r<<1)-e>32&&en)return en.decode(m.subarray(e>>>0,n>>>0));for(var a="",s=0;!(s>=t/2);++s){var o=w[e+2*s>>>1];if(0==o)break;a+=String.fromCharCode(o)}return a}function nn(e,t,n){if(void 0===n&&(n=2147483647),n<2)return 0;for(var r=t,i=(n-=2)<2*e.length?n/2:e.length,a=0;a>>1]=s,t+=2}return w[t>>>1]=0,t-r}function rn(e){return 2*e.length}function an(e,t){for(var n=0,r="";!(n>=t/4);){var i=E[e+4*n>>>2];if(0==i)break;if(++n,i>=65536){var a=i-65536;r+=String.fromCharCode(55296|a>>10,56320|1023&a)}else r+=String.fromCharCode(i)}return r}function sn(e,t,n){if(void 0===n&&(n=2147483647),n<4)return 0;for(var r=t>>>=0,i=r+n-4,a=0;a=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),E[t>>>2]=s,(t+=4)+4>i)break}return E[t>>>2]=0,t-r}function on(e){for(var t=0,n=0;n=55296&&r<=57343&&++n,t+=4}return t}function ln(e,t,n){var r,i,a,s,o;n=Re(n),2===t?(r=tn,i=nn,s=rn,a=function(){return g},o=1):4===t&&(r=an,i=sn,s=on,a=function(){return b},o=2),Be(e,{name:n,fromWireType:function(e){for(var n,i=b[e>>>2],s=a(),l=e+4,u=0;u<=i;++u){var c=e+4+u*t;if(u==i||0==s[c>>>o]){var f=r(l,c-l);void 0===n?n=f:(n+=String.fromCharCode(0),n+=f),l=c+t}}return wr(e),n},toWireType:function(e,r){"string"!=typeof r&&_e("Cannot pass non-string to C++ string type "+n);var a=s(r),l=Ir(4+a+t);return b[(l>>>=0)>>>2]=a>>o,i(r,l+4,a+t),null!==e&&e.push(wr,l),l},argPackAdvance:8,readValueFromPointer:le,destructorFunction:function(e){wr(e)}})}function un(e,t,n,r,i,a){se[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),elements:[]}}function cn(e,t,n,r,i,a,s,o,l){se[e].elements.push({getterReturnType:t,getter:bt(n,r),getterContext:i,setterArgumentType:a,setter:bt(s,o),setterContext:l})}function fn(e,t,n,r,i,a){ge[e]={name:Re(t),rawConstructor:bt(n,r),rawDestructor:bt(i,a),fields:[]}}function pn(e,t,n,r,i,a,s,o,l,u){ge[e].fields.push({fieldName:Re(t),getterReturnType:n,getter:bt(r,i),getterContext:a,setterArgumentType:s,setter:bt(o,l),setterContext:u})}function An(e,t){Be(e,{isVoid:!0,name:t=Re(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})}function dn(e,t,n){e=Gt.toValue(e),t=Qt(t,"emval::as");var r=[],i=Gt.toHandle(r);return b[n>>>2]=i,t.toWireType(r,e)}function vn(e,t){for(var n=new Array(e),r=0;r>>2],"parameter "+r);return n}function hn(e,t,n,r){e=Gt.toValue(e);for(var i=vn(t,n),a=new Array(t),s=0;s4&&(Mt[e].refcount+=1)}function Tn(e,t){return(e=Gt.toValue(e))instanceof(t=Gt.toValue(t))}function bn(e){return"number"==typeof(e=Gt.toValue(e))}function Dn(e){return"string"==typeof(e=Gt.toValue(e))}function Pn(){return Gt.toHandle([])}function Rn(e){return Gt.toHandle(yn(e))}function Cn(){return Gt.toHandle({})}function _n(e){oe(Gt.toValue(e)),xt(e)}function Bn(e,t,n){e=Gt.toValue(e),t=Gt.toValue(t),n=Gt.toValue(n),e[t]=n}function On(e,t){var n=(e=Qt(e,"_emval_take_value")).readValueFromPointer(t);return Gt.toHandle(n)}function Sn(){Y("")}function Nn(e,t,n){m.copyWithin(e>>>0,t>>>0,t+n>>>0)}function Ln(e){var t=A.buffer;try{return A.grow(e-t.byteLength+65535>>>16),L(),1}catch(e){}}function Mn(e){var t=m.length,n=4294901760;if((e>>>=0)>n)return!1;for(var r,i,a=1;a<=4;a*=2){var s=t*(1+.2/a);if(s=Math.min(s,e+100663296),Ln(Math.min(n,(r=Math.max(e,s))+((i=65536)-r%i)%i)))return!0}return!1}var xn={};function Fn(){return l||"./this.program"}function Hn(){if(!Hn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==("undefined"==typeof navigator?"undefined":T(navigator))&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:Fn()};for(var t in xn)void 0===xn[t]?delete e[t]:e[t]=xn[t];var n=[];for(var t in e)n.push(t+"="+e[t]);Hn.strings=n}return Hn.strings}function Un(e,t,n){for(var r=0;r>>0]=e.charCodeAt(r);n||(y[t>>>0]=0)}var Gn={isAbs:function(e){return"/"===e.charAt(0)},splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t=Gn.isAbs(e),n="/"===e.substr(-1);return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),e||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=Gn.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=(e=(e=Gn.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Gn.normalize(e.join("/"))},join2:function(e,t){return Gn.normalize(e+"/"+t)}};function kn(){if("object"==("undefined"==typeof crypto?"undefined":T(crypto))&&"function"==typeof crypto.getRandomValues){var e=new Uint8Array(1);return function(){return crypto.getRandomValues(e),e[0]}}return function(){return Y("randomDevice")}}var jn={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Yn.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t=Gn.isAbs(r)}return e=Gn.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"),(t?"/":"")+e||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=jn.resolve(e).substr(1),t=jn.resolve(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),a=Math.min(r.length,i.length),s=a,o=0;o0?n:N(e)+1,i=new Array(r),a=O(e,i,0,i.length);return t&&(i.length=a),i}var Qn={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Qn.ttys[e]={input:[],output:[],ops:t},Yn.registerDevice(e,Qn.stream_ops)},stream_ops:{open:function(e){var t=Qn.ttys[e.node.rdev];if(!t)throw new Yn.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new Yn.ErrnoError(60);for(var a=0,s=0;s0&&(d(_(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(v(_(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(v(_(e.output,0)),e.output=[])}}};function Wn(e){Y()}var zn={ops_table:null,mount:function(e){return zn.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Yn.isBlkdev(n)||Yn.isFIFO(n))throw new Yn.ErrnoError(63);zn.ops_table||(zn.ops_table={dir:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,lookup:zn.node_ops.lookup,mknod:zn.node_ops.mknod,rename:zn.node_ops.rename,unlink:zn.node_ops.unlink,rmdir:zn.node_ops.rmdir,readdir:zn.node_ops.readdir,symlink:zn.node_ops.symlink},stream:{llseek:zn.stream_ops.llseek}},file:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:{llseek:zn.stream_ops.llseek,read:zn.stream_ops.read,write:zn.stream_ops.write,allocate:zn.stream_ops.allocate,mmap:zn.stream_ops.mmap,msync:zn.stream_ops.msync}},link:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr,readlink:zn.node_ops.readlink},stream:{}},chrdev:{node:{getattr:zn.node_ops.getattr,setattr:zn.node_ops.setattr},stream:Yn.chrdev_stream_ops}});var i=Yn.createNode(e,t,n,r);return Yn.isDir(i.mode)?(i.node_ops=zn.ops_table.dir.node,i.stream_ops=zn.ops_table.dir.stream,i.contents={}):Yn.isFile(i.mode)?(i.node_ops=zn.ops_table.file.node,i.stream_ops=zn.ops_table.file.stream,i.usedBytes=0,i.contents=null):Yn.isLink(i.mode)?(i.node_ops=zn.ops_table.link.node,i.stream_ops=zn.ops_table.link.stream):Yn.isChrdev(i.mode)&&(i.node_ops=zn.ops_table.chrdev.node,i.stream_ops=zn.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,t){t>>>=0;var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(t>>>=0,e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr:function(e){var t={};return t.dev=Yn.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Yn.isDir(e.mode)?t.size=4096:Yn.isFile(e.mode)?t.size=e.usedBytes:Yn.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr:function(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&zn.resizeFileStorage(e,t.size)},lookup:function(e,t){throw Yn.genericErrors[44]},mknod:function(e,t,n,r){return zn.createNode(e,t,n,r)},rename:function(e,t,n){if(Yn.isDir(e.mode)){var r;try{r=Yn.lookupNode(t,n)}catch(e){}if(r)for(var i in r.contents)throw new Yn.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink:function(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir:function(e,t){var n=Yn.lookupNode(e,t);for(var r in n.contents)throw new Yn.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir:function(e){var t=[".",".."];for(var n in e.contents)e.contents.hasOwnProperty(n)&&t.push(n);return t},symlink:function(e,t,n){var r=zn.createNode(e,t,41471,0);return r.link=n,r},readlink:function(e){if(!Yn.isLink(e.mode))throw new Yn.ErrnoError(28);return e.link}},stream_ops:{read:function(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-i,r);if(s>8&&a.subarray)t.set(a.subarray(i,i+s),n);else for(var o=0;o0||n+t>>=0,y.set(o,a>>>0)}else s=!1,a=o.byteOffset;return{ptr:a,allocated:s}},msync:function(e,t,n,r,i){return zn.stream_ops.write(e,t,0,r,n,!1),0}}};function Kn(e,t,n,r){var i=r?"":"al "+e;s(e,(function(n){I(n,'Loading data file "'+e+'" failed (no arrayBuffer).'),t(new Uint8Array(n)),i&&K()}),(function(t){if(!n)throw'Loading data file "'+e+'" failed.';n()})),i&&z()}var Yn={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=jn.resolve(e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};if((t=Object.assign(n,t)).recurse_count>8)throw new Yn.ErrnoError(32);for(var r=e.split("/").filter((function(e){return!!e})),i=Yn.root,a="/",s=0;s40)throw new Yn.ErrnoError(32)}}return{path:a,node:i}},getPath:function(e){for(var t;;){if(Yn.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Yn.nameTable.length},hashAddNode:function(e){var t=Yn.hashName(e.parent.id,e.name);e.name_next=Yn.nameTable[t],Yn.nameTable[t]=e},hashRemoveNode:function(e){var t=Yn.hashName(e.parent.id,e.name);if(Yn.nameTable[t]===e)Yn.nameTable[t]=e.name_next;else for(var n=Yn.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Yn.mayLookup(e);if(n)throw new Yn.ErrnoError(n,e);for(var r=Yn.hashName(e.id,t),i=Yn.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return Yn.lookup(e,t)},createNode:function(e,t,n,r){var i=new Yn.FSNode(e,t,n,r);return Yn.hashAddNode(i),i},destroyNode:function(e){Yn.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var t=Yn.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Yn.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Yn.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{return Yn.lookupNode(e,t),20}catch(e){}return Yn.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Yn.lookupNode(e,t)}catch(e){return e.errno}var i=Yn.nodePermissions(e,"wx");if(i)return i;if(n){if(!Yn.isDir(r.mode))return 54;if(Yn.isRoot(r)||Yn.getPath(r)===Yn.cwd())return 10}else if(Yn.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Yn.isLink(e.mode)?32:Yn.isDir(e.mode)&&("r"!==Yn.flagsToPermissionString(t)||512&t)?31:Yn.nodePermissions(e,Yn.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Yn.MAX_OPEN_FDS,n=e;n<=t;n++)if(!Yn.streams[n])return n;throw new Yn.ErrnoError(33)},getStream:function(e){return Yn.streams[e]},createStream:function(e,t,n){Yn.FSStream||(Yn.FSStream=function(){this.shared={}},Yn.FSStream.prototype={},Object.defineProperties(Yn.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},position:{get:function(){return this.shared.position},set:function(e){this.shared.position=e}}})),e=Object.assign(new Yn.FSStream,e);var r=Yn.nextfd(t,n);return e.fd=r,Yn.streams[r]=e,e},closeStream:function(e){Yn.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Yn.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Yn.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Yn.devices[e]={stream_ops:t}},getDevice:function(e){return Yn.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Yn.syncFSRequests++,Yn.syncFSRequests>1&&v("warning: "+Yn.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Yn.getMounts(Yn.root.mount),r=0;function i(e){return Yn.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach((function(t){if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)}))},mount:function(e,t,n){var r,i="/"===n,a=!n;if(i&&Yn.root)throw new Yn.ErrnoError(10);if(!i&&!a){var s=Yn.lookupPath(n,{follow_mount:!1});if(n=s.path,r=s.node,Yn.isMountpoint(r))throw new Yn.ErrnoError(10);if(!Yn.isDir(r.mode))throw new Yn.ErrnoError(54)}var o={type:e,opts:t,mountpoint:n,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,i?Yn.root=l:r&&(r.mounted=o,r.mount&&r.mount.mounts.push(o)),l},unmount:function(e){var t=Yn.lookupPath(e,{follow_mount:!1});if(!Yn.isMountpoint(t.node))throw new Yn.ErrnoError(28);var n=t.node,r=n.mounted,i=Yn.getMounts(r);Object.keys(Yn.nameTable).forEach((function(e){for(var t=Yn.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&Yn.destroyNode(t),t=n}})),n.mounted=null;var a=n.mount.mounts.indexOf(r);n.mount.mounts.splice(a,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Yn.lookupPath(e,{parent:!0}).node,i=Gn.basename(e);if(!i||"."===i||".."===i)throw new Yn.ErrnoError(28);var a=Yn.mayCreate(r,i);if(a)throw new Yn.ErrnoError(a);if(!r.node_ops.mknod)throw new Yn.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Yn.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Yn.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",i=0;i>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(1==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.read)throw new Yn.ErrnoError(28);var a=void 0!==i;if(a){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var s=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=s),s},write:function(e,t,n,r,i,a){if(n>>>=0,r<0||i<0)throw new Yn.ErrnoError(28);if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(Yn.isDir(e.node.mode))throw new Yn.ErrnoError(31);if(!e.stream_ops.write)throw new Yn.ErrnoError(28);e.seekable&&1024&e.flags&&Yn.llseek(e,0,2);var s=void 0!==i;if(s){if(!e.seekable)throw new Yn.ErrnoError(70)}else i=e.position;var o=e.stream_ops.write(e,t,n,r,i,a);return s||(e.position+=o),o},allocate:function(e,t,n){if(Yn.isClosed(e))throw new Yn.ErrnoError(8);if(t<0||n<=0)throw new Yn.ErrnoError(28);if(0==(2097155&e.flags))throw new Yn.ErrnoError(8);if(!Yn.isFile(e.node.mode)&&!Yn.isDir(e.node.mode))throw new Yn.ErrnoError(43);if(!e.stream_ops.allocate)throw new Yn.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap:function(e,t,n,r,i){if(0!=(2&r)&&0==(2&i)&&2!=(2097155&e.flags))throw new Yn.ErrnoError(2);if(1==(2097155&e.flags))throw new Yn.ErrnoError(2);if(!e.stream_ops.mmap)throw new Yn.ErrnoError(43);return e.stream_ops.mmap(e,t,n,r,i)},msync:function(e,t,n,r,i){return n>>>=0,e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},munmap:function(e){return 0},ioctl:function(e,t,n){if(!e.stream_ops.ioctl)throw new Yn.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile:function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.flags=n.flags||0,n.encoding=n.encoding||"binary","utf8"!==n.encoding&&"binary"!==n.encoding)throw new Error('Invalid encoding type "'+n.encoding+'"');var r=Yn.open(e,n.flags),i=Yn.stat(e),a=i.size,s=new Uint8Array(a);return Yn.read(r,s,0,a,0),"utf8"===n.encoding?t=_(s,0):"binary"===n.encoding&&(t=s),Yn.close(r),t},writeFile:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n.flags=n.flags||577;var r=Yn.open(e,n.flags,n.mode);if("string"==typeof t){var i=new Uint8Array(N(t)+1),a=O(t,i,0,i.length);Yn.write(r,i,0,a,void 0,n.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Yn.write(r,t,0,t.byteLength,void 0,n.canOwn)}Yn.close(r)},cwd:function(){return Yn.currentPath},chdir:function(e){var t=Yn.lookupPath(e,{follow:!0});if(null===t.node)throw new Yn.ErrnoError(44);if(!Yn.isDir(t.node.mode))throw new Yn.ErrnoError(54);var n=Yn.nodePermissions(t.node,"x");if(n)throw new Yn.ErrnoError(n);Yn.currentPath=t.path},createDefaultDirectories:function(){Yn.mkdir("/tmp"),Yn.mkdir("/home"),Yn.mkdir("/home/web_user")},createDefaultDevices:function(){Yn.mkdir("/dev"),Yn.registerDevice(Yn.makedev(1,3),{read:function(){return 0},write:function(e,t,n,r,i){return r}}),Yn.mkdev("/dev/null",Yn.makedev(1,3)),Qn.register(Yn.makedev(5,0),Qn.default_tty_ops),Qn.register(Yn.makedev(6,0),Qn.default_tty1_ops),Yn.mkdev("/dev/tty",Yn.makedev(5,0)),Yn.mkdev("/dev/tty1",Yn.makedev(6,0));var e=kn();Yn.createDevice("/dev","random",e),Yn.createDevice("/dev","urandom",e),Yn.mkdir("/dev/shm"),Yn.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){Yn.mkdir("/proc");var e=Yn.mkdir("/proc/self");Yn.mkdir("/proc/self/fd"),Yn.mount({mount:function(){var t=Yn.createNode(e,"fd",16895,73);return t.node_ops={lookup:function(e,t){var n=+t,r=Yn.getStream(n);if(!r)throw new Yn.ErrnoError(8);var i={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return r.path}}};return i.parent=i,i}},t}},{},"/proc/self/fd")},createStandardStreams:function(){i.stdin?Yn.createDevice("/dev","stdin",i.stdin):Yn.symlink("/dev/tty","/dev/stdin"),i.stdout?Yn.createDevice("/dev","stdout",null,i.stdout):Yn.symlink("/dev/tty","/dev/stdout"),i.stderr?Yn.createDevice("/dev","stderr",null,i.stderr):Yn.symlink("/dev/tty1","/dev/stderr"),Yn.open("/dev/stdin",0),Yn.open("/dev/stdout",1),Yn.open("/dev/stderr",1)},ensureErrnoError:function(){Yn.ErrnoError||(Yn.ErrnoError=function(e,t){this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},Yn.ErrnoError.prototype=new Error,Yn.ErrnoError.prototype.constructor=Yn.ErrnoError,[44].forEach((function(e){Yn.genericErrors[e]=new Yn.ErrnoError(e),Yn.genericErrors[e].stack=""})))},staticInit:function(){Yn.ensureErrnoError(),Yn.nameTable=new Array(4096),Yn.mount(zn,{},"/"),Yn.createDefaultDirectories(),Yn.createDefaultDevices(),Yn.createSpecialDirectories(),Yn.filesystems={MEMFS:zn}},init:function(e,t,n){Yn.init.initialized=!0,Yn.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=n||i.stderr,Yn.createStandardStreams()},quit:function(){Yn.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,r=Number(e.getResponseHeader("Content-length")),i=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,s=1048576;i||(s=r);var o=this;o.setDataGetter((function(e){var t=e*s,i=(e+1)*s-1;if(i=Math.min(i,r-1),void 0===o.chunks[e]&&(o.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>r-1)throw new Error("only "+r+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",n,!1),r!==s&&i.setRequestHeader("Range","bytes="+e+"-"+t),i.responseType="arraybuffer",i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+n+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):Vn(i.responseText||"",!0)}(t,i)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!a&&r||(s=r=1,r=this.getter(0).length,s=r,d("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s={isDevice:!1,url:n},o=Yn.createFile(e,t,s,r,i);s.contents?o.contents=s.contents:s.url&&(o.contents=null,o.url=s.url),Object.defineProperties(o,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var s=Math.min(a.length-i,r);if(a.slice)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=function(){d("creating db"),i.result.createObjectStore(Yn.DB_STORE_NAME)},i.onsuccess=function(){var r=i.result.transaction([Yn.DB_STORE_NAME],"readwrite"),a=r.objectStore(Yn.DB_STORE_NAME),s=0,o=0,l=e.length;function u(){0==o?t():n()}e.forEach((function(e){var t=a.put(Yn.analyzePath(e).object.contents,e);t.onsuccess=function(){++s+o==l&&u()},t.onerror=function(){o++,s+o==l&&u()}})),r.onerror=n},i.onerror=n},loadFilesFromDB:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=Yn.indexedDB();try{var i=r.open(Yn.DB_NAME(),Yn.DB_VERSION)}catch(e){return n(e)}i.onupgradeneeded=n,i.onsuccess=function(){var r=i.result;try{var a=r.transaction([Yn.DB_STORE_NAME],"readonly")}catch(e){return void n(e)}var s=a.objectStore(Yn.DB_STORE_NAME),o=0,l=0,u=e.length;function c(){0==l?t():n()}e.forEach((function(e){var t=s.get(e);t.onsuccess=function(){Yn.analyzePath(e).exists&&Yn.unlink(e),Yn.createDataFile(Gn.dirname(e),Gn.basename(e),t.result,!0,!0,!0),++o+l==u&&c()},t.onerror=function(){l++,o+l==u&&c()}})),a.onerror=n},i.onerror=n}},Xn={DEFAULT_POLLMASK:5,calculateAt:function(e,t,n){if(Gn.isAbs(t))return t;var r;if(r=-100===e?Yn.cwd():Xn.getStreamFromFD(e).path,0==t.length){if(!n)throw new Yn.ErrnoError(44);return r}return Gn.join2(r,t)},doStat:function(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&Gn.normalize(t)!==Gn.normalize(Yn.getPath(e.node)))return-54;throw e}E[n>>>2]=r.dev,E[n+8>>>2]=r.ino,E[n+12>>>2]=r.mode,b[n+16>>>2]=r.nlink,E[n+20>>>2]=r.uid,E[n+24>>>2]=r.gid,E[n+28>>>2]=r.rdev,J=[r.size>>>0,(q=r.size,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+40>>>2]=J[0],E[n+44>>>2]=J[1],E[n+48>>>2]=4096,E[n+52>>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),s=r.ctime.getTime();return J=[Math.floor(i/1e3)>>>0,(q=Math.floor(i/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+56>>>2]=J[0],E[n+60>>>2]=J[1],b[n+64>>>2]=i%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(q=Math.floor(a/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+72>>>2]=J[0],E[n+76>>>2]=J[1],b[n+80>>>2]=a%1e3*1e3,J=[Math.floor(s/1e3)>>>0,(q=Math.floor(s/1e3),+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+88>>>2]=J[0],E[n+92>>>2]=J[1],b[n+96>>>2]=s%1e3*1e3,J=[r.ino>>>0,(q=r.ino,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[n+104>>>2]=J[0],E[n+108>>>2]=J[1],0},doMsync:function(e,t,n,r,i){if(!Yn.isFile(t.node.mode))throw new Yn.ErrnoError(43);if(2&r)return 0;e>>>=0;var a=m.slice(e,e+n);Yn.msync(t,a,i,n,r)},varargs:void 0,get:function(){return Xn.varargs+=4,E[Xn.varargs-4>>>2]},getStr:function(e){return B(e)},getStreamFromFD:function(e){var t=Yn.getStream(e);if(!t)throw new Yn.ErrnoError(8);return t}};function qn(e,t){var n=0;return Hn().forEach((function(r,i){var a=t+n;b[e+4*i>>>2]=a,Un(r,a),n+=r.length+1})),0}function Jn(e,t){var n=Hn();b[e>>>2]=n.length;var r=0;return n.forEach((function(e){r+=e.length+1})),b[t>>>2]=r,0}function Zn(e){try{var t=Xn.getStreamFromFD(e);return Yn.close(t),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function $n(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.read(e,y,s,o,r);if(l<0)return-1;if(i+=l,l>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function tr(e,t){return t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN}function nr(e,t,n,r,i){try{var a=tr(t,n);if(isNaN(a))return 61;var s=Xn.getStreamFromFD(e);return Yn.llseek(s,a,r),J=[s.position>>>0,(q=s.position,+Math.abs(q)>=1?q>0?(0|Math.min(+Math.floor(q/4294967296),4294967295))>>>0:~~+Math.ceil((q-+(~~q>>>0))/4294967296)>>>0:0)],E[i>>>2]=J[0],E[i+4>>>2]=J[1],s.getdents&&0===a&&0===r&&(s.getdents=null),0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function rr(e,t,n,r){for(var i=0,a=0;a>>2],o=b[t+4>>>2];t+=8;var l=Yn.write(e,y,s,o,r);if(l<0)return-1;i+=l,void 0!==r&&(r+=l)}return i}function ir(e,t,n,r){try{var i=rr(Xn.getStreamFromFD(e),t,n);return b[r>>>2]=i,0}catch(e){if(void 0===Yn||!(e instanceof Yn.ErrnoError))throw e;return e.errno}}function ar(e){return e%4==0&&(e%100!=0||e%400==0)}function sr(e,t){for(var n=0,r=0;r<=t;n+=e[r++]);return n}var or=[31,29,31,30,31,30,31,31,30,31,30,31],lr=[31,28,31,30,31,30,31,31,30,31,30,31];function ur(e,t){for(var n=new Date(e.getTime());t>0;){var r=ar(n.getFullYear()),i=n.getMonth(),a=(r?or:lr)[i];if(!(t>a-n.getDate()))return n.setDate(n.getDate()+t),n;t-=a-n.getDate()+1,n.setDate(1),i<11?n.setMonth(i+1):(n.setMonth(0),n.setFullYear(n.getFullYear()+1))}return n}function cr(e,t){y.set(e,t>>>0)}function fr(e,t,n,r){var i=E[r+40>>>2],a={tm_sec:E[r>>>2],tm_min:E[r+4>>>2],tm_hour:E[r+8>>>2],tm_mday:E[r+12>>>2],tm_mon:E[r+16>>>2],tm_year:E[r+20>>>2],tm_wday:E[r+24>>>2],tm_yday:E[r+28>>>2],tm_isdst:E[r+32>>>2],tm_gmtoff:E[r+36>>>2],tm_zone:i?B(i):""},s=B(n),o={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in o)s=s.replace(new RegExp(l,"g"),o[l]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,t,n){for(var r="number"==typeof e?e.toString():e||"";r.length0?1:0}var r;return 0===(r=n(e.getFullYear()-t.getFullYear()))&&0===(r=n(e.getMonth()-t.getMonth()))&&(r=n(e.getDate()-t.getDate())),r}function d(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function v(e){var t=ur(new Date(e.tm_year+1900,0,1),e.tm_yday),n=new Date(t.getFullYear(),0,4),r=new Date(t.getFullYear()+1,0,4),i=d(n),a=d(r);return A(i,t)<=0?A(a,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":function(e){return u[e.tm_wday].substring(0,3)},"%A":function(e){return u[e.tm_wday]},"%b":function(e){return c[e.tm_mon].substring(0,3)},"%B":function(e){return c[e.tm_mon]},"%C":function(e){return p((e.tm_year+1900)/100|0,2)},"%d":function(e){return p(e.tm_mday,2)},"%e":function(e){return f(e.tm_mday,2," ")},"%g":function(e){return v(e).toString().substring(2)},"%G":function(e){return v(e)},"%H":function(e){return p(e.tm_hour,2)},"%I":function(e){var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":function(e){return p(e.tm_mday+sr(ar(e.tm_year+1900)?or:lr,e.tm_mon-1),3)},"%m":function(e){return p(e.tm_mon+1,2)},"%M":function(e){return p(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return p(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":function(e){var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var n=(e.tm_wday+371-e.tm_yday)%7;4==n||3==n&&ar(e.tm_year)||(t=1)}}else{t=52;var r=(e.tm_wday+7-e.tm_yday-1)%7;(4==r||5==r&&ar(e.tm_year%400-1))&&t++}return p(t,2)},"%w":function(e){return e.tm_wday},"%W":function(e){var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var t=e.tm_gmtoff,n=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(n?"+":"-")+String("0000"+t).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in s=s.replace(/%%/g,"\0\0"),h)s.includes(l)&&(s=s.replace(new RegExp(l,"g"),h[l](a)));var I=Vn(s=s.replace(/\0\0/g,"%"),!1);return I.length>t?0:(cr(I,e),I.length-1)}function pr(e,t,n,r,i){return fr(e,t,n,r)}Ie=i.InternalError=he(Error,"InternalError"),De(),Ce=i.BindingError=he(Error,"BindingError"),it(),Ke(),ht(),Dt=i.UnboundTypeError=he(Error,"UnboundTypeError"),Ut();var Ar=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Yn.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},dr=365,vr=146;Object.defineProperties(Ar.prototype,{read:{get:function(){return(this.mode&dr)===dr},set:function(e){e?this.mode|=dr:this.mode&=~dr}},write:{get:function(){return(this.mode&vr)===vr},set:function(e){e?this.mode|=vr:this.mode&=~vr}},isFolder:{get:function(){return Yn.isDir(this.mode)}},isDevice:{get:function(){return Yn.isChrdev(this.mode)}}}),Yn.FSNode=Ar,Yn.staticInit();var hr={f:ae,R:we,p:Ee,F:Te,P:Oe,o:Ct,n:St,b:Nt,O:kt,B:Vt,s:Wt,z:Yt,c:Xt,r:Jt,h:Zt,A:$t,v:ln,S:un,i:cn,q:fn,e:pn,Q:An,m:dn,x:hn,a:xt,D:wn,k:gn,t:En,U:Tn,w:bn,C:Dn,T:Pn,g:Rn,u:Cn,l:_n,j:Bn,d:On,y:Sn,N:Nn,L:Mn,H:qn,I:Jn,J:Zn,K:er,E:nr,M:ir,G:pr};ne();var Ir=function(){return(Ir=i.asm.Y).apply(null,arguments)},yr=i.___getTypeName=function(){return(yr=i.___getTypeName=i.asm.Z).apply(null,arguments)};i.__embind_initialize_bindings=function(){return(i.__embind_initialize_bindings=i.asm._).apply(null,arguments)};var mr,wr=function(){return(wr=i.asm.$).apply(null,arguments)},gr=function(){return(gr=i.asm.aa).apply(null,arguments)};function Er(){function t(){mr||(mr=!0,i.calledRun=!0,h||(U(),e(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),G()))}Q>0||(H(),Q>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),t()}),1)):t()))}if(i.dynCall_jiji=function(){return(i.dynCall_jiji=i.asm.ba).apply(null,arguments)},i.dynCall_viijii=function(){return(i.dynCall_viijii=i.asm.ca).apply(null,arguments)},i.dynCall_iiiiij=function(){return(i.dynCall_iiiiij=i.asm.da).apply(null,arguments)},i.dynCall_iiiiijj=function(){return(i.dynCall_iiiiijj=i.asm.ea).apply(null,arguments)},i.dynCall_iiiiiijj=function(){return(i.dynCall_iiiiiijj=i.asm.fa).apply(null,arguments)},W=function e(){mr||Er(),mr||(W=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return Er(),r.ready});"object"===T(e)&&"object"===T(t)?t.exports=r:"function"==typeof define&&define.amd?define([],(function(){return r})):"object"===T(e)&&(e.WebIFCWasm=r)}}),h_=3087945054,I_=3415622556,y_=639361253,m_=4207607924,w_=812556717,g_=753842376,E_=2391406946,T_=3824725483,b_=1529196076,D_=2016517767,P_=3024970846,R_=3171933400,C_=1687234759,__=395920057,B_=3460190687,O_=1033361043,S_=3856911033,N_=4097777520,L_=3740093272,M_=3009204131,x_=3473067441,F_=1281925730,H_=P((function e(t){b(this,e),this.value=t,this.type=5})),U_=P((function e(t){b(this,e),this.expressID=t,this.type=0})),G_=[],k_={},j_={},V_={},Q_={},W_={},z_=[];function K_(e,t){return Array.isArray(t)&&t.map((function(t){return K_(e,t)})),t.typecode?W_[e][t.typecode](t.value):t.value}function Y_(e){return e.value=e.value.toString(),e.valueType=e.type,e.type=2,e.label=e.constructor.name.toUpperCase(),e}(ZC=JC||(JC={})).IFC2X3="IFC2X3",ZC.IFC4="IFC4",ZC.IFC4X3="IFC4X3",z_[1]="IFC2X3",G_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null)},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},639542469:function(e,t){return new $C.IfcApplication(e,new H_(t[0].value),new $C.IfcLabel(t[1].value),new $C.IfcLabel(t[2].value),new $C.IfcIdentifier(t[3].value))},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null)},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},130549933:function(e,t){return new $C.IfcApproval(e,t[0]?new $C.IfcText(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null,new $C.IfcLabel(t[5].value),new $C.IfcIdentifier(t[6].value))},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfLinearSubgradeReactionMeasure(t[3].value):null,t[4]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[4].value):null,t[5]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[5].value):null,t[6]?new $C.IfcModulusOfRotationalSubgradeReactionMeasure(t[6].value):null)},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcModulusOfSubgradeReactionMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfSubgradeReactionMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfSubgradeReactionMeasure(t[3].value):null)},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null)},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearStiffnessMeasure(t[1].value):null,t[2]?new $C.IfcLinearStiffnessMeasure(t[2].value):null,t[3]?new $C.IfcLinearStiffnessMeasure(t[3].value):null,t[4]?new $C.IfcRotationalStiffnessMeasure(t[4].value):null,t[5]?new $C.IfcRotationalStiffnessMeasure(t[5].value):null,t[6]?new $C.IfcRotationalStiffnessMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},622194075:function(e,t){return new $C.IfcCalendarDate(e,new $C.IfcDayInMonthNumber(t[0].value),new $C.IfcMonthInYearNumber(t[1].value),new $C.IfcYearNumber(t[2].value))},747523909:function(e,t){return new $C.IfcClassification(e,new $C.IfcLabel(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new H_(t[2].value):null,new $C.IfcLabel(t[3].value))},1767535486:function(e,t){return new $C.IfcClassificationItem(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new $C.IfcLabel(t[2].value))},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0].map((function(e){return new H_(e.value)})))},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,new $C.IfcLabel(t[0].value))},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0]?new $C.IfcLabel(t[0].value):null)},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new $C.IfcConstraint(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null)},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7]?new $C.IfcText(t[7].value):null)},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,new H_(t[0].value),new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value),new H_(t[3].value),t[4]?new H_(t[4].value):null)},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},1072939445:function(e,t){return new $C.IfcDateAndTime(e,new H_(t[0].value),new H_(t[1].value))},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new $C.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,new $C.IfcIdentifier(t[0].value),new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?new $C.IfcText(t[4].value):null,t[5]?new $C.IfcText(t[5].value):null,t[6]?new $C.IfcText(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,new $C.IfcLabel(t[6].value),t[7],t[8]?new $C.IfcLabel(t[8].value):null)},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),new $C.IfcBoolean(t[2].value))},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,new H_(t[0].value),t[1].map((function(e){return K_(1,e)})))},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,new $C.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new $C.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},30780891:function(e,t){return new $C.IfcLocalTime(e,new $C.IfcHourInDay(t[0].value),t[1]?new $C.IfcMinuteInHour(t[1].value):null,t[2]?new $C.IfcSecondInMinute(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new $C.IfcDaylightSavingHour(t[4].value):null)},1838606355:function(e,t){return new $C.IfcMaterial(e,new $C.IfcLabel(t[0].value))},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcLogical(t[2].value):null)},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null)},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new $C.IfcLengthMeasure(t[3].value))},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,new H_(t[0].value))},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,K_(1,t[0]),new H_(t[1].value))},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null)},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPressureMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcModulusOfElasticityMeasure(t[9].value):null,t[10]?new $C.IfcPressureMeasure(t[10].value):null,t[11]?new $C.IfcPositiveRatioMeasure(t[11].value):null,t[12]?t[12].map((function(e){return new H_(e.value)})):null)},3368373690:function(e,t){return new $C.IfcMetric(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null,new H_(t[9].value))},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2],t[3]?new $C.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9],t[10]?new $C.IfcLabel(t[10].value):null)},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcPositiveRatioMeasure(t[5].value):null,t[6]?new $C.IfcPositiveRatioMeasure(t[6].value):null,t[7]?new $C.IfcPositiveRatioMeasure(t[7].value):null,t[8]?new $C.IfcPositiveRatioMeasure(t[8].value):null,t[9]?new $C.IfcPositiveRatioMeasure(t[9].value):null)},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0]?new $C.IfcIdentifier(t[0].value):null,new $C.IfcLabel(t[1].value),t[2]?new $C.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new $C.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new $C.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new $C.IfcPerson(e,t[0]?new $C.IfcIdentifier(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new $C.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,new $C.IfcLabel(t[0].value))},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,new $C.IfcLabel(t[0].value))},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,new $C.IfcLabel(t[0].value))},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcIdentifier(t[3].value):null,t[4].value,t[5].value,t[6].value,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0]?new $C.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null)},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null)},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null)},2598011224:function(e,t){return new $C.IfcProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,new H_(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcText(t[4].value):null)},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new $C.IfcQuantityArea(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcAreaMeasure(t[3].value))},2093928680:function(e,t){return new $C.IfcQuantityCount(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcCountMeasure(t[3].value))},931644368:function(e,t){return new $C.IfcQuantityLength(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcLengthMeasure(t[3].value))},3252649465:function(e,t){return new $C.IfcQuantityTime(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcTimeMeasure(t[3].value))},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcVolumeMeasure(t[3].value))},825690147:function(e,t){return new $C.IfcQuantityWeight(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new $C.IfcMassMeasure(t[3].value))},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,new $C.IfcAreaMeasure(t[0].value),new $C.IfcLabel(t[1].value),t[2],t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcCountMeasure(t[5].value):null)},1222501353:function(e,t){return new $C.IfcRelaxation(e,new $C.IfcNormalisedRatioMeasure(t[0].value),new $C.IfcNormalisedRatioMeasure(t[1].value))},1076942058:function(e,t){return new $C.IfcRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcText(t[2].value):null,t[3].value,new H_(t[4].value))},3982875396:function(e,t){return new $C.IfcShapeModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null)},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0]?new $C.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0]?new $C.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new $C.IfcStyleModel(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0]?new $C.IfcReal(t[0].value):null,t[1]?new $C.IfcReal(t[1].value):null)},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,new H_(t[0].value))},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null)},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,K_(1,t[1]))},985171141:function(e,t){return new $C.IfcTable(e,t[0].value,t[1].map((function(e){return new H_(e.value)})))},531007025:function(e,t){return new $C.IfcTableRow(e,t[0].map((function(e){return K_(1,e)})),t[1].value)},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new $C.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new $C.IfcLabel(e.value)})):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new $C.IfcLabel(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value))},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,new $C.IfcLabel(t[0].value),t[1]?t[1].map((function(e){return new $C.IfcTextFontName(e.value)})):null,t[2]?new $C.IfcFontStyle(t[2].value):null,t[3]?new $C.IfcFontVariant(t[3].value):null,t[4]?new $C.IfcFontWeight(t[4].value):null,K_(1,t[5]))},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0]?K_(1,t[0]):null,t[1]?new $C.IfcTextAlignment(t[1].value):null,t[2]?new $C.IfcTextDecoration(t[2].value):null,t[3]?K_(1,t[3]):null,t[4]?K_(1,t[4]):null,t[5]?new $C.IfcTextTransformation(t[5].value):null,t[6]?K_(1,t[6]):null)},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0]?new $C.IfcPositiveLengthMeasure(t[0].value):null,t[1]?new $C.IfcPositiveLengthMeasure(t[1].value):null,t[2]?new $C.IfcPlaneAngleMeasure(t[2].value):null,t[3]?new $C.IfcPlaneAngleMeasure(t[3].value):null,t[4]?K_(1,t[4]):null)},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,new $C.IfcLabel(t[0].value),t[1].map((function(e){return K_(1,e)})))},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})))},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0].map((function(e){return new $C.IfcParameterValue(e.value)})))},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcSpecificHeatCapacityMeasure(t[1].value):null,t[2]?new $C.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new $C.IfcThermodynamicTemperatureMeasure(t[3].value):null,t[4]?new $C.IfcThermalConductivityMeasure(t[4].value):null)},3101149627:function(e,t){return new $C.IfcTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(1,e)})))},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new $C.IfcLabel(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})))},1907098498:function(e,t){return new $C.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},1065908215:function(e,t){return new $C.IfcWaterProperties(e,new H_(t[0].value),t[1]?t[1].value:null,t[2]?new $C.IfcIonConcentrationMeasure(t[2].value):null,t[3]?new $C.IfcIonConcentrationMeasure(t[3].value):null,t[4]?new $C.IfcIonConcentrationMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new $C.IfcPHMeasure(t[6].value):null,t[7]?new $C.IfcNormalisedRatioMeasure(t[7].value):null)},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value),t[5].value)},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null)},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0]?new $C.IfcLabel(t[0].value):null,new $C.IfcNormalisedRatioMeasure(t[1].value),new $C.IfcNormalisedRatioMeasure(t[2].value),new $C.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new $C.IfcComplexProperty(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new $C.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new $C.IfcLabel(t[3].value):null)},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value))},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new $C.IfcLabel(t[2].value),new H_(t[3].value))},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null)},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value))},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcIdentifier(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null)},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,new $C.IfcLabel(t[0].value))},3900360178:function(e,t){return new $C.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new $C.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),t[3].value)},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcText(t[2].value):null,new $C.IfcLabel(t[3].value))},2556980723:function(e,t){return new $C.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new $C.IfcFaceBound(e,new H_(t[0].value),t[1].value)},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,new H_(t[0].value),t[1].value)},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),t[2].value)},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcForceMeasure(t[4].value):null,t[5]?new $C.IfcForceMeasure(t[5].value):null,t[6]?new $C.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},3857492461:function(e,t){return new $C.IfcFuelProperties(e,new H_(t[0].value),t[1]?new $C.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcHeatingValueMeasure(t[3].value):null,t[4]?new $C.IfcHeatingValueMeasure(t[4].value):null)},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcMolecularWeightMeasure(t[1].value):null,t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcMassDensityMeasure(t[3].value):null)},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null)},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new $C.IfcDimensionCount(t[2].value),t[3]?t[3].value:null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new $C.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new $C.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,new H_(t[0].value),t[1].value)},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcPositiveRatioMeasure(t[1].value):null,t[2]?new $C.IfcPositiveRatioMeasure(t[2].value):null,t[3]?new $C.IfcIsothermalMoistureCapacityMeasure(t[3].value):null,t[4]?new $C.IfcVaporPermeabilityMeasure(t[4].value):null,t[5]?new $C.IfcMoistureDiffusivityMeasure(t[5].value):null)},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcIdentifier(t[4].value))},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new $C.IfcThermodynamicTemperatureMeasure(t[6].value),new $C.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value))},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0]?new $C.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new $C.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new $C.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcReal(t[6].value),new $C.IfcReal(t[7].value),new $C.IfcReal(t[8].value),new H_(t[9].value),t[10]?new $C.IfcReal(t[10].value):null,new $C.IfcPositivePlaneAngleMeasure(t[11].value),new $C.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,new H_(t[0].value),t[1]?new $C.IfcDynamicViscosityMeasure(t[1].value):null,t[2]?new $C.IfcModulusOfElasticityMeasure(t[2].value):null,t[3]?new $C.IfcModulusOfElasticityMeasure(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new $C.IfcThermalExpansionCoefficientMeasure(t[5].value):null,t[6]?new $C.IfcPressureMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcText(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcText(t[11].value):null)},219451334:function(e,t){return new $C.IfcObjectDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,new H_(t[0].value))},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,new H_(t[0].value),t[1].value)},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value))},2519244187:function(e,t){return new $C.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[3].value),t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null)},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0].value,t[1].value,t[2],t[3]?new H_(t[3].value):null,new $C.IfcInteger(t[4].value),new $C.IfcInteger(t[5].value),new $C.IfcInteger(t[6].value),t[7].map((function(e){return e.value})))},2004835150:function(e,t){return new $C.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value),new H_(t[3].value))},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,new $C.IfcLabel(t[0].value))},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,new $C.IfcLabel(t[0].value))},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,new $C.IfcLabel(t[0].value))},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?K_(1,t[3]):null,t[4]?new H_(t[4].value):null)},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2]?K_(1,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,new $C.IfcIdentifier(t[0].value),t[1]?new $C.IfcText(t[1].value):null,t[2].map((function(e){return K_(1,e)})),t[3].map((function(e){return K_(1,e)})),t[4]?new $C.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,new $C.IfcLabel(t[0].value),t[1]?new $C.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4],t[5],t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new $C.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},478536968:function(e,t){return new $C.IfcRelationship(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value))},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?K_(1,t[5]):null,K_(1,t[6]),t[7]?K_(1,t[7]):null)},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new $C.IfcBoolean(t[4].value),t[5],t[6].map((function(e){return new H_(e.value)})))},1202362311:function(e,t){return new $C.IfcSoundValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new $C.IfcFrequencyMeasure(t[5].value),t[6]?K_(1,t[6]):null)},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6],t[7]?new $C.IfcText(t[7].value):null,new $C.IfcPowerMeasure(t[8].value),t[9]?new $C.IfcPowerMeasure(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new $C.IfcLabel(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLinearForceMeasure(t[1].value):null,t[2]?new $C.IfcLinearForceMeasure(t[2].value):null,t[3]?new $C.IfcLinearForceMeasure(t[3].value):null,t[4]?new $C.IfcLinearMomentMeasure(t[4].value):null,t[5]?new $C.IfcLinearMomentMeasure(t[5].value):null,t[6]?new $C.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcPlanarForceMeasure(t[1].value):null,t[2]?new $C.IfcPlanarForceMeasure(t[2].value):null,t[3]?new $C.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcLengthMeasure(t[1].value):null,t[2]?new $C.IfcLengthMeasure(t[2].value):null,t[3]?new $C.IfcLengthMeasure(t[3].value):null,t[4]?new $C.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new $C.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new $C.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new $C.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new $C.IfcForceMeasure(t[1].value):null,t[2]?new $C.IfcForceMeasure(t[2].value):null,t[3]?new $C.IfcForceMeasure(t[3].value):null,t[4]?new $C.IfcTorqueMeasure(t[4].value):null,t[5]?new $C.IfcTorqueMeasure(t[5].value):null,t[6]?new $C.IfcTorqueMeasure(t[6].value):null,t[7]?new $C.IfcWarpingMomentMeasure(t[7].value):null)},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null)},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0]?new $C.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new $C.IfcMassPerLengthMeasure(t[2].value):null,t[3]?new $C.IfcPositiveLengthMeasure(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcMomentOfInertiaMeasure(t[7].value):null,t[8]?new $C.IfcMomentOfInertiaMeasure(t[8].value):null,t[9]?new $C.IfcMomentOfInertiaMeasure(t[9].value):null,t[10]?new $C.IfcMomentOfInertiaMeasure(t[10].value):null,t[11]?new $C.IfcWarpingConstantMeasure(t[11].value):null,t[12]?new $C.IfcLengthMeasure(t[12].value):null,t[13]?new $C.IfcLengthMeasure(t[13].value):null,t[14]?new $C.IfcAreaMeasure(t[14].value):null,t[15]?new $C.IfcAreaMeasure(t[15].value):null,t[16]?new $C.IfcSectionModulusMeasure(t[16].value):null,t[17]?new $C.IfcSectionModulusMeasure(t[17].value):null,t[18]?new $C.IfcSectionModulusMeasure(t[18].value):null,t[19]?new $C.IfcSectionModulusMeasure(t[19].value):null,t[20]?new $C.IfcSectionModulusMeasure(t[20].value):null,t[21]?new $C.IfcLengthMeasure(t[21].value):null,t[22]?new $C.IfcLengthMeasure(t[22].value):null,t[23]?new $C.IfcAreaMeasure(t[23].value):null,t[24]?new $C.IfcAreaMeasure(t[24].value):null,t[25]?new $C.IfcPositiveRatioMeasure(t[25].value):null,t[26]?new $C.IfcPositiveRatioMeasure(t[26].value):null)},2233826070:function(e,t){return new $C.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new $C.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(1,t[7]):null,t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value))},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),t[2]?new $C.IfcPositiveLengthMeasure(t[2].value):null,new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value))},230924584:function(e,t){return new $C.IfcSweptSurface(e,new H_(t[0].value),new H_(t[1].value))},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new $C.IfcPlaneAngleMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null)},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value))},4282788508:function(e,t){return new $C.IfcTextLiteral(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,new $C.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new $C.IfcBoxAlignment(t[4].value))},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcLengthMeasure(t[6].value))},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,new H_(t[0].value),new H_(t[1].value))},1628702193:function(e,t){return new $C.IfcTypeObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},2347495698:function(e,t){return new $C.IfcTypeProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null)},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPlaneAngleMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1417489154:function(e,t){return new $C.IfcVector(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new $C.IfcVertexLoop(e,new H_(t[0].value))},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new $C.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new $C.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new $C.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null)},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},1299126871:function(e,t){return new $C.IfcWindowStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,new H_(t[0].value),t[1].value,new H_(t[2].value))},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0].map((function(e){return new $C.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null)},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?t[4].value:null)},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?t[3].value:null,t[4]?new H_(t[4].value):null,t[5]?t[5].value:null,t[6]?t[6].value:null)},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1].value,new H_(t[2].value))},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcPositiveLengthMeasure(t[13].value),t[14]?new $C.IfcPositiveLengthMeasure(t[14].value):null)},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,new $C.IfcPositiveLengthMeasure(t[6].value),new $C.IfcPositiveLengthMeasure(t[7].value),new $C.IfcPositiveLengthMeasure(t[8].value),new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcPositiveLengthMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new $C.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,new H_(t[0].value),new H_(t[1].value))},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null,new H_(t[3].value),t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0].map((function(e){return e.value})))},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new $C.IfcPositiveLengthMeasure(t[5].value):null,t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new $C.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null)},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new $C.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},526551008:function(e,t){return new $C.IfcDoorStyle(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10].value,t[11].value)},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0].map((function(e){return new H_(e.value)})))},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,new $C.IfcLabel(t[0].value))},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,new $C.IfcLabel(t[0].value))},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new $C.IfcElementQuantity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new $C.IfcElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new $C.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},80994333:function(e,t){return new $C.IfcEnergyProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null)},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new $C.IfcPlaneAngleMeasure(t[4].value))},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,new H_(t[0].value))},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new $C.IfcPositiveRatioMeasure(t[2].value))},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new $C.IfcLabel(t[10].value):null,t[11]?new $C.IfcThermodynamicTemperatureMeasure(t[11].value):null,t[12]?new $C.IfcThermodynamicTemperatureMeasure(t[12].value):null,t[13]?new H_(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?K_(1,t[15]):null,t[16]?new $C.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new $C.IfcLinearVelocityMeasure(t[17].value):null,t[18]?new $C.IfcPressureMeasure(t[18].value):null)},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new $C.IfcFurnitureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),t[4]?new $C.IfcPositiveLengthMeasure(t[4].value):null,new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new $C.IfcPlaneAngleMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},1281925730:function(e,t){return new $C.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new $C.IfcObject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value)},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,new H_(t[0].value),new $C.IfcLengthMeasure(t[1].value),t[2].value,new H_(t[3].value))},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5],t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},603570806:function(e,t){return new $C.IfcPlanarBox(e,new $C.IfcLengthMeasure(t[0].value),new $C.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new $C.IfcPlane(e,new H_(t[0].value))},2945172077:function(e,t){return new $C.IfcProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},4208778838:function(e,t){return new $C.IfcProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new $C.IfcProject(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcLabel(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value))},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new $C.IfcLabel(t[2].value):null)},1451395588:function(e,t){return new $C.IfcPropertySet(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},3219374653:function(e,t){return new $C.IfcProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),t[6]?new $C.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new $C.IfcParameterValue(t[1].value),new $C.IfcParameterValue(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),t[5].value,t[6].value)},3939117080:function(e,t){return new $C.IfcRelAssigns(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new $C.IfcRelAssociates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new $C.IfcLabel(t[5].value),new H_(t[6].value))},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},826625072:function(e,t){return new $C.IfcRelConnects(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null)},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return e.value})),t[8].map((function(e){return e.value})),t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new $C.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},693640335:function(e,t){return new $C.IfcRelDefines(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcCountMeasure(t[4].value):null,t[5]?new $C.IfcNormalisedRatioMeasure(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),new H_(t[8].value))},3268803585:function(e,t){return new $C.IfcRelNests(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value),t[6].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},4122056220:function(e,t){return new $C.IfcRelSequence(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),new $C.IfcTimeMeasure(t[6].value),t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},2914609552:function(e,t){return new $C.IfcResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcPlaneAngleMeasure(t[3].value))},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},451544542:function(e,t){return new $C.IfcSphere(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new $C.IfcStructuralMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9].map((function(e){return new $C.IfcPositiveLengthMeasure(e.value)})),new H_(t[10].value))},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0].map((function(e){return new H_(e.value)})))},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcParameterValue(t[3].value),new $C.IfcParameterValue(t[4].value),new H_(t[5].value))},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new $C.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3473067441:function(e,t){return new $C.IfcTask(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null)},2097647324:function(e,t){return new $C.IfcTransportElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2296667514:function(e,t){return new $C.IfcActor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value))},1674181508:function(e,t){return new $C.IfcAnnotation(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value),new $C.IfcPositiveLengthMeasure(t[5].value),new $C.IfcPositiveLengthMeasure(t[6].value),t[7]?new $C.IfcPositiveLengthMeasure(t[7].value):null,new $C.IfcPositiveLengthMeasure(t[8].value),t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},1334484129:function(e,t){return new $C.IfcBlock(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null,t[10]?new $C.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcLengthMeasure(t[9].value):null)},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1]?new $C.IfcLabel(t[1].value):null,new H_(t[2].value),new $C.IfcPositiveLengthMeasure(t[3].value),new $C.IfcPositiveLengthMeasure(t[4].value))},300633059:function(e,t){return new $C.IfcColumnType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},2510884976:function(e,t){return new $C.IfcConic(e,new H_(t[0].value))},2559216714:function(e,t){return new $C.IfcConstructionResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},3293443760:function(e,t){return new $C.IfcControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3895139033:function(e,t){return new $C.IfcCostItem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1419761937:function(e,t){return new $C.IfcCostSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,new $C.IfcIdentifier(t[11].value),t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0].map((function(e){return new H_(e.value)})))},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4],t[5]?new $C.IfcLabel(t[5].value):null,t[6],new $C.IfcElectricVoltageMeasure(t[7].value),new $C.IfcFrequencyMeasure(t[8].value),t[9]?new $C.IfcElectricCurrentMeasure(t[9].value):null,t[10]?new $C.IfcElectricCurrentMeasure(t[10].value):null,t[11]?new $C.IfcPowerMeasure(t[11].value):null,t[12]?new $C.IfcPowerMeasure(t[12].value):null,t[13].value)},1758889154:function(e,t){return new $C.IfcElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new $C.IfcElementAssembly(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new $C.IfcElementComponentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new $C.IfcEllipse(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value),new $C.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new $C.IfcFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2489546625:function(e,t){return new $C.IfcFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2827207264:function(e,t){return new $C.IfcFeatureElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},263784265:function(e,t){return new $C.IfcFurnishingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},200128114:function(e,t){return new $C.IfcGasTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null)},2706460486:function(e,t){return new $C.IfcGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),new H_(t[8].value),t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new $C.IfcText(t[9].value):null)},1051575348:function(e,t){return new $C.IfcLampType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0].map((function(e){return new H_(e.value)})))},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3181161470:function(e,t){return new $C.IfcMemberType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916936684:function(e,t){return new $C.IfcMove(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new H_(t[10].value),new H_(t[11].value),t[12]?t[12].map((function(e){return new $C.IfcText(e.value)})):null)},4143007308:function(e,t){return new $C.IfcOccupant(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3425660407:function(e,t){return new $C.IfcOrderAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcLabel(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8].value,t[9]?t[9].value:null,new $C.IfcIdentifier(t[10].value))},2837617999:function(e,t){return new $C.IfcOutletType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcLabel(t[5].value))},3327091369:function(e,t){return new $C.IfcPermit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},804291784:function(e,t){return new $C.IfcPipeFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new $C.IfcPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new $C.IfcProcedure(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},2904328755:function(e,t){return new $C.IfcProjectOrder(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6],t[7]?new $C.IfcLabel(t[7].value):null)},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})),t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0].map((function(e){return new H_(e.value)})))},2893384427:function(e,t){return new $C.IfcRailingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new $C.IfcTimeMeasure(t[13].value):null,t[14]?new $C.IfcTimeMeasure(t[14].value):null,t[15]?new $C.IfcTimeMeasure(t[15].value):null,t[16]?new $C.IfcTimeMeasure(t[16].value):null,t[17]?new $C.IfcTimeMeasure(t[17].value):null,t[18]?t[18].value:null,t[19]?new H_(t[19].value):null,t[20]?new $C.IfcTimeMeasure(t[20].value):null,t[21]?new $C.IfcTimeMeasure(t[21].value):null,t[22]?new $C.IfcPositiveRatioMeasure(t[22].value):null)},4105383287:function(e,t){return new $C.IfcServiceLife(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],new $C.IfcTimeMeasure(t[6].value))},4097777520:function(e,t){return new $C.IfcSite(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9]?new $C.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new $C.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new $C.IfcLengthMeasure(t[11].value):null,t[12]?new $C.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new $C.IfcSlabType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new $C.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),t[6]?new $C.IfcAreaMeasure(t[6].value):null,t[7]?new $C.IfcAreaMeasure(t[7].value):null,t[8]?new H_(t[8].value):null,new $C.IfcAreaMeasure(t[9].value))},3812236995:function(e,t){return new $C.IfcSpaceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new $C.IfcRatioMeasure(t[8].value):null,t[9]?new $C.IfcLabel(t[9].value):null)},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null,t[11],new H_(t[12].value),t[13].map((function(e){return new H_(e.value)})))},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9].value,t[10]?new H_(t[10].value):null)},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7].value)},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new $C.IfcSubContractResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new $C.IfcText(t[10].value):null)},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},5716631:function(e,t){return new $C.IfcTankType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6],new H_(t[7].value))},1692211062:function(e,t){return new $C.IfcTransformerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcMassMeasure(t[9].value):null,t[10]?new $C.IfcCountMeasure(t[10].value):null)},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),t[3].value,t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new $C.IfcValveType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1898987631:function(e,t){return new $C.IfcWallType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},4218914973:function(e,t){return new $C.IfcWorkPlan(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcTimeMeasure(t[9].value):null,t[10]?new $C.IfcTimeMeasure(t[10].value):null,new H_(t[11].value),t[12]?new H_(t[12].value):null,t[13],t[14]?new $C.IfcLabel(t[14].value):null)},1033361043:function(e,t){return new $C.IfcZone(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),t[1].value)},3821786052:function(e,t){return new $C.IfcActionRequest(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value))},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0].map((function(e){return new H_(e.value)})))},3460190687:function(e,t){return new $C.IfcAsset(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new $C.IfcIdentifier(t[5].value),new H_(t[6].value),new H_(t[7].value),new H_(t[8].value),new H_(t[9].value),new H_(t[10].value),new H_(t[11].value),new H_(t[12].value),new H_(t[13].value))},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},819618141:function(e,t){return new $C.IfcBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value)},231477066:function(e,t){return new $C.IfcBoilerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,new H_(t[0].value),new $C.IfcPositiveLengthMeasure(t[1].value))},2301859152:function(e,t){return new $C.IfcCoilType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new $C.IfcColumn(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3850581409:function(e,t){return new $C.IfcCompressorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new $C.IfcRatioMeasure(t[10].value):null)},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new $C.IfcIdentifier(t[5].value):null,t[6]?new $C.IfcLabel(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},335055490:function(e,t){return new $C.IfcCooledBeamType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3961806047:function(e,t){return new $C.IfcDamperType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0].map((function(e){return new H_(e.value)})))},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new $C.IfcDistributionElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new $C.IfcDistributionPort(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},395920057:function(e,t){return new $C.IfcDoor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},869906466:function(e,t){return new $C.IfcDuctFittingType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null)},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null)},857184966:function(e,t){return new $C.IfcElectricalElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},346874300:function(e,t){return new $C.IfcFanType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new $C.IfcFlowFitting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new $C.IfcFlowSegment(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new $C.IfcFooting(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new $C.IfcMember(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1687234759:function(e,t){return new $C.IfcPile(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2262370178:function(e,t){return new $C.IfcRailing(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0].value,t[1].map((function(e){return new H_(e.value)})),t[2],t[3].value,t[4].value,t[5].map((function(e){return e.value})))},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,new $C.IfcPositiveLengthMeasure(t[11].value),new $C.IfcPositiveLengthMeasure(t[12].value),new $C.IfcAreaMeasure(t[13].value),new $C.IfcAreaMeasure(t[14].value),new $C.IfcPositiveLengthMeasure(t[15].value),new $C.IfcPositiveLengthMeasure(t[16].value))},2016517767:function(e,t){return new $C.IfcRoof(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},1783015770:function(e,t){return new $C.IfcSensorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new $C.IfcStair(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?t[8].value:null,t[9]?t[9].value:null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null)},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},3824725483:function(e,t){return new $C.IfcTendon(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9],new $C.IfcPositiveLengthMeasure(t[10].value),new $C.IfcAreaMeasure(t[11].value),t[12]?new $C.IfcForceMeasure(t[12].value):null,t[13]?new $C.IfcPressureMeasure(t[13].value):null,t[14]?new $C.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new $C.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new $C.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null)},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},2391406946:function(e,t){return new $C.IfcWall(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},3304561284:function(e,t){return new $C.IfcWindow(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null)},2874132201:function(e,t){return new $C.IfcActuatorType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},753842376:function(e,t){return new $C.IfcBeam(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new $C.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new $C.IfcPositiveLengthMeasure(t[10].value):null)},578613899:function(e,t){return new $C.IfcControllerType(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new $C.IfcLabel(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null)},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcIdentifier(t[8].value):null)},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8],t[9]?new $C.IfcLabel(t[9].value):null)},979691226:function(e,t){return new $C.IfcReinforcingBar(e,new $C.IfcGloballyUniqueId(t[0].value),new H_(t[1].value),t[2]?new $C.IfcLabel(t[2].value):null,t[3]?new $C.IfcText(t[3].value):null,t[4]?new $C.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new $C.IfcIdentifier(t[7].value):null,t[8]?new $C.IfcLabel(t[8].value):null,new $C.IfcPositiveLengthMeasure(t[9].value),new $C.IfcAreaMeasure(t[10].value),t[11]?new $C.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])}},j_[1]={618182010:[912023232,3355820592],411424972:[1648886627,602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],3264961684:[776857604],2859738748:[1981873012,2732653382,4257277454,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],3796139169:[1694125774,2273265877],3200245327:[3732053477,647927063,3452421091,3548104201,3207319532,1040185647,2242383968],3265635763:[2445078500,803998398,3857492461,1860660968,1065908215,3317419933,2267347899,1227763645,1430189142,677618848,4256014907],4256014907:[1430189142,677618848],1918398963:[2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],3727388367:[4006246654,2559016684,445594917,759155922,4170525392,1983826977,1775413392,179317114,433424934,3213052703,990879717],990879717:[179317114,433424934,3213052703],1775413392:[4170525392,1983826977],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1290481447,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],2802850158:[3653947884,3843319758,1446786286,3679540991],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028,3958052878],2341007311:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080,478536968,1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518,1680319473,2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,x_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193,219451334],3982875396:[1735638870,4240577450],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],2273995522:[2609359061,4219587988],2162789131:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],3958052878:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235,2442683028],846575682:[1878645084],626085974:[597895409,3905492369,616511568],280115917:[2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],2442683028:[2265737646,4194566429,606661476,3288037868,2297822566,4054601972,3028897424,3612888222,962685235],3612888222:[4054601972,3028897424],3798115385:[2705031697],1310608509:[3150382593],370225590:[2205249479,2665983363],3900360178:[2233826070,1029017970,476780140],2556980723:[3008276851],1809719519:[803316827],1446786286:[3653947884,3843319758],3448662350:[4142052618],2453401579:[315944413,4203026998,374418227,2047409740,4147604152,2470393545,3248260540,2506943328,681481545,4070609034,3073041342,32440307,693772133,2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2581212453,3649129432,2736907675,1302238472,669184980,1417489154,3124975700,4282788508,220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,1345879162,2833995503,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],219451334:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,x_,2945172077,3888040117,3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,1628702193],2833995503:[1345879162],2529465313:[572779678,3207858831,1484403080,2835456948,194851669,4133800736,2937912522,1383045692,2898889636,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],759155922:[445594917],2559016684:[4006246654],1680319473:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017,3357820518],3357820518:[1451395588,3566463478,3455213021,360485395,80994333,1883228015,1714330368,2963535650,512836454,336235671,390701378,1202362311,2485662743,2411513650,3765753017],3615266464:[2770003689,2778083089],478536968:[781010003,202636808,4186316022,693640335,160246688,3268803585,2551354335,1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568,1865459582,205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259,3939117080],723233188:[3737207727,807026263,1425443689,2147822146,1260650574,2028607225,1856042241,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],3843319758:[3653947884],2513912981:[220341763,2777663545,3454111270,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,1856042241,477187591],230924584:[4124788165,2809605785],3028897424:[4054601972],4282788508:[3124975700],1628702193:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698],2347495698:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3288037868:[4194566429,606661476],2736907675:[3649129432],4182860854:[3454111270,2827736869],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249,1260505505,3505215534,3388369263,F_],3073041342:[4147604152,2470393545,3248260540,2506943328,681481545,4070609034],339256511:[3313531582,2635815018,2108223431,2489546625,2590856083,578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793,3256556792,1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059,1950629157,2097647324,3812236995,3893378262,1580310250,1268542332,4238390223],2777663545:[220341763],80994333:[360485395],4238390223:[1580310250,1268542332],1484403080:[3207858831],1425443689:[3737207727,807026263],3888040117:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822,2706460486,1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,103090709,3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653,4208778838,2744685151,3425660407,1916936684,x_,2945172077],2945172077:[2744685151,3425660407,1916936684,x_],4208778838:[3041715199,L_,M_,857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777,3544373492,S_,N_,3124254112,4031249490,2706606064,3219374653],3939117080:[205026976,2857406711,4278684876,1307041759,2863920197,1058617721,3372526763,2495723537,2051452291,1683148259],1683148259:[2051452291],2495723537:[2863920197,1058617721,3372526763],1865459582:[2851387026,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1327628568],826625072:[1401173127,3451746338,366585022,4122056220,1245217292,750771296,4189434867,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,3912681535,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3268803585],693640335:[781010003,202636808,4186316022],4186316022:[202636808],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[2082059205,3987759626,1621171031,1721250024,1807405624,682877961,1235345126,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126],3979015343:[2218152070],3473067441:[3425660407,1916936684],2296667514:[4143007308],1260505505:[3055160366,1916977116,1967976161,3593883385,3724593414,1213861670,3732776249],1950629157:[1909888760,819618141,1898987631,1039846685,2533589738,2324767716,2893384427,4017108033,3181161470,1457835157,1916426348,300633059],3732776249:[1213861670],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[1163958913,3821786052,3342526732,4218914973,1028945134,1637806684,652456506,4105383287,3517283431,3642467123,2904328755,3327091369,2382730787,814719939,3272907226,1419761937,3895139033],681481545:[4147604152,2470393545,3248260540,2506943328],3256556792:[578613899,3001207471,2874132201,1783015770,4037862832,2063403501,1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3009222698,4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,395041908,804291784,4288270099,3198132628,712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832,2107101300],1758889154:[857184966,1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961,1945004755,g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810,3299480353,2769231204,1620046519,263784265,2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405,2827207264,1962604670,1335981549,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,377706215,647756555],2590856083:[3313531582,2635815018,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,231477066,1871374353,1911125066,1600972822,1692211062,1305183839,977012517,1806887404,1251058090,3390157468,3174744832],647756555:[377706215],2489546625:[2108223431],2827207264:[2454782716,1376911519,855621170,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[2454782716,1376911519,855621170,3588315303],3907093117:[712377611,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,1365060375,663422040,3352864051,1133259667,3112655638,1768891740,2837617999,1161773419,1051575348,200128114],3009222698:[1810631287,2030761528],2706460486:[2188551683,B_,O_,2515109513,1634875225,2254336722,2986769608,1252848954,2391368822],3740093272:[3041715199],682877961:[2082059205,3987759626,1621171031,1721250024,1807405624],1179482911:[1975003073,734778138,4243806635],214636428:[2445595289],1807405624:[1721250024],1621171031:[3987759626],2254336722:[2515109513,1634875225],1028945134:[3342526732,4218914973],1967976161:[3055160366,1916977116],1916977116:[3055160366],3299480353:[g_,3304561284,3512223829,E_,4252922144,331165859,b_,D_,3283111854,P_,2262370178,R_,C_,1073191201,900683007,__,3495092785,1973544240,843113511,1095909175,979691226,2347447852,T_,2320036040,3027567501,2979338954,52481810],52481810:[979691226,2347447852,T_,2320036040,3027567501,2979338954],2635815018:[3313531582],2063403501:[578613899,3001207471,2874132201,1783015770,4037862832],1945004755:[1062813311,1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314,3040386961],3040386961:[1052013943,3508470533,2223149337,707683696,987401354,3132237377,4278956645,3700593921,2058353004,1658829314],855621170:[2454782716,1376911519],2058353004:[3700593921],3027567501:[979691226,2347447852,T_,2320036040],2391406946:[3512223829]},k_[1]={618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],130549933:[["Actors",2080292479,1,!0],["IsRelatedWith",3869604511,0,!0],["Relates",3869604511,1,!0]],747523909:[["Contains",1767535486,1,!0]],1767535486:[["IsClassifiedItemIn",1098599126,1,!0],["IsClassifyingItemIn",1098599126,0,!0]],1959218052:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],602808272:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],1154170062:[["IsPointedTo",770865208,1,!0],["IsPointer",770865208,0,!0]],1648886627:[["ValuesReferenced",2692823254,1,!0],["ValueOfComponents",1110488051,0,!0],["IsComponentIn",1110488051,1,!0]],852622518:[["PartOfW",M_,9,!0],["PartOfV",M_,8,!0],["PartOfU",M_,7,!0],["HasIntersections",891718957,0,!0]],3452421091:[["ReferenceIntoLibrary",2655187982,4,!0]],1838606355:[["HasRepresentation",2022407955,3,!0],["ClassifiedAs",1847130766,1,!0]],248100487:[["ToMaterialLayerSet",3303938423,0,!1]],3368373690:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["ClassifiedAs",613356794,0,!0],["RelatesConstraints",347226245,2,!0],["IsRelatedWith",347226245,3,!0],["PropertiesForConstraint",3896028662,0,!0],["Aggregates",1658513725,2,!0],["IsAggregatedIn",1658513725,3,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["PartOfComplex",3021840470,2,!0]],2226359599:[["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],2598011224:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2044713172:[["PartOfComplex",3021840470,2,!0]],2093928680:[["PartOfComplex",3021840470,2,!0]],931644368:[["PartOfComplex",3021840470,2,!0]],3252649465:[["PartOfComplex",3021840470,2,!0]],2405470396:[["PartOfComplex",3021840470,2,!0]],825690147:[["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],3692461612:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],531007025:[["OfTable",985171141,1,!1]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],280115917:[["AnnotatedSurface",1302238472,1,!0]],1742049831:[["AnnotatedSurface",1302238472,1,!0]],2552916305:[["AnnotatedSurface",1302238472,1,!0]],3101149627:[["DocumentedBy",1718945513,0,!0]],1377556343:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2442683028:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],962685235:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3612888222:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2297822566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],370225590:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3732053477:[["ReferenceToDocument",1154170062,3,!0]],3900360178:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2556980723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1809719519:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],2453401579:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0]],3590301190:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3741457305:[["DocumentedBy",1718945513,0,!0]],1402838566:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],219451334:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0]],2833995503:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2665983363:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2519244187:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["PartOfComplex",3021840470,2,!0]],2004835150:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],871118103:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],1680319473:[["HasAssociations",1865459582,4,!0]],4166981789:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],2752243245:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],941946838:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3357820518:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3650150729:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],110355661:[["PropertyForDependance",148025276,0,!0],["PropertyDependsOn",148025276,1,!0],["PartOfComplex",2542286263,3,!0]],3413951693:[["DocumentedBy",1718945513,0,!0]],3765753017:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1509187699:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2411513650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4124623270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],723233188:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485662743:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1202362311:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],390701378:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],2233826070:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3028897424:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1345879162:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1417489154:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],336235671:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],512836454:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3288037868:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],669184980:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2265737646:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1302238472:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4261334040:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1123145078:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2205249479:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485617015:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2506170314:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],693772133:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],606661476:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["AnnotatedBySymbols",3028897424,3,!0]],4054601972:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2963535650:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1714330368:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],526551008:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3073041342:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1472233963:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2777663545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],80994333:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],477187591:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4203026998:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3455213021:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],987898635:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1281925730:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],3388369263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3566463478:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],603570806:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0]],4194566429:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1451395588:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0]],2798486643:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],451544542:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3136571912:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],4070609034:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2028607225:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],1334484129:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],300633059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3732776249:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],681481545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],360485395:[["HasAssociations",1865459582,4,!0],["PropertyDefinitionOf",4186316022,5,!0],["DefinesType",1628702193,5,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1704287377:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1962604670:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3272907226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],807026263:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],263784265:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],814719939:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],200128114:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1251058090:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],4288270099:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2506943328:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],377706215:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],977012517:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916936684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3425660407:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3724593414:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["OperatesOn",4278684876,6,!0],["IsSuccessorFrom",4122056220,5,!0],["IsPredecessorTo",4122056220,4,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3642467123:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3248260540:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3517283431:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["ScheduleTimeControlAssigned",2863920197,7,!1]],4105383287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ReferencesElements",1245217292,5,!0],["ServicedBySystems",366585022,5,!0],["ContainsElements",3242617779,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],652456506:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0],["HasInteractionReqsFrom",4189434867,7,!0],["HasInteractionReqsTo",4189434867,8,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],682877961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1179482911:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ReferencesElement",3912681535,5,!0],["ConnectedBy",1638771189,4,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1721250024:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],1252848954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],3987759626:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],2082059205:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1]],734778138:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!1],["Causes",682877961,10,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ResultGroupFor",2515109513,8,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1637806684:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3593883385:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],728799441:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1898987631:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1213861670:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2470393545:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1967976161:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1916977116:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],231477066:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],52481810:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],395041908:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2611217952:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],843113511:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2188551683:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1]],1163958913:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["Controls",2495723537,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["CoversSpaces",2802773753,5,!0],["Covers",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4147604152:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["IsRelatedFromCallout",3796139169,3,!0],["IsRelatedToCallout",3796139169,2,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!1],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],855621170:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],663422040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1365060375:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],712377611:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1634875225:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],857184966:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],346874300:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3055160366:[["LayerAssignments",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],1376911519:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],1783015770:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],331165859:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["IsGroupedBy",1307041759,6,!1],["ServicesBuildings",366585022,4,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]],2454782716:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["VoidsElements",1401173127,5,!1]],578613899:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["ObjectTypeOf",781010003,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["AssignedToFlowElement",279856033,4,!0]],3700593921:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasControlElements",279856033,5,!0]],979691226:[["HasAssignments",3939117080,4,!0],["IsDecomposedBy",2551354335,4,!0],["Decomposes",2551354335,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",693640335,4,!0],["ReferencedBy",2857406711,6,!0],["HasStructuralMember",3912681535,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["HasCoverings",886880790,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasPorts",4201705270,5,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0]]},V_[1]={3630933823:function(e,t){return new $C.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new $C.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new $C.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new $C.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},1110488051:function(e,t){return new $C.IfcAppliedValueRelationship(e,t[0],t[1],t[2],t[3],t[4])},130549933:function(e,t){return new $C.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2080292479:function(e,t){return new $C.IfcApprovalActorRelationship(e,t[0],t[1],t[2])},390851274:function(e,t){return new $C.IfcApprovalPropertyRelationship(e,t[0],t[1])},3869604511:function(e,t){return new $C.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},4037036970:function(e,t){return new $C.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new $C.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new $C.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new $C.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new $C.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},622194075:function(e,t){return new $C.IfcCalendarDate(e,t[0],t[1],t[2])},747523909:function(e,t){return new $C.IfcClassification(e,t[0],t[1],t[2],t[3])},1767535486:function(e,t){return new $C.IfcClassificationItem(e,t[0],t[1],t[2])},1098599126:function(e,t){return new $C.IfcClassificationItemRelationship(e,t[0],t[1])},938368621:function(e,t){return new $C.IfcClassificationNotation(e,t[0])},3639012971:function(e,t){return new $C.IfcClassificationNotationFacet(e,t[0])},3264961684:function(e,t){return new $C.IfcColourSpecification(e,t[0])},2859738748:function(e,t){return new $C.IfcConnectionGeometry(e)},2614616156:function(e,t){return new $C.IfcConnectionPointGeometry(e,t[0],t[1])},4257277454:function(e,t){return new $C.IfcConnectionPortGeometry(e,t[0],t[1],t[2])},2732653382:function(e,t){return new $C.IfcConnectionSurfaceGeometry(e,t[0],t[1])},1959218052:function(e,t){return new $C.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1658513725:function(e,t){return new $C.IfcConstraintAggregationRelationship(e,t[0],t[1],t[2],t[3],t[4])},613356794:function(e,t){return new $C.IfcConstraintClassificationRelationship(e,t[0],t[1])},347226245:function(e,t){return new $C.IfcConstraintRelationship(e,t[0],t[1],t[2],t[3])},1065062679:function(e,t){return new $C.IfcCoordinatedUniversalTimeOffset(e,t[0],t[1],t[2])},602808272:function(e,t){return new $C.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},539742890:function(e,t){return new $C.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new $C.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new $C.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new $C.IfcCurveStyleFontPattern(e,t[0],t[1])},1072939445:function(e,t){return new $C.IfcDateAndTime(e,t[0],t[1])},1765591967:function(e,t){return new $C.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new $C.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new $C.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1376555844:function(e,t){return new $C.IfcDocumentElectronicFormat(e,t[0],t[1],t[2])},1154170062:function(e,t){return new $C.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new $C.IfcDocumentInformationRelationship(e,t[0],t[1],t[2])},3796139169:function(e,t){return new $C.IfcDraughtingCalloutRelationship(e,t[0],t[1],t[2],t[3])},1648886627:function(e,t){return new $C.IfcEnvironmentalImpactValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3200245327:function(e,t){return new $C.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new $C.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new $C.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3207319532:function(e,t){return new $C.IfcExternallyDefinedSymbol(e,t[0],t[1],t[2])},3548104201:function(e,t){return new $C.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new $C.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new $C.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new $C.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4])},3452421091:function(e,t){return new $C.IfcLibraryReference(e,t[0],t[1],t[2])},4162380809:function(e,t){return new $C.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new $C.IfcLightIntensityDistribution(e,t[0],t[1])},30780891:function(e,t){return new $C.IfcLocalTime(e,t[0],t[1],t[2],t[3],t[4])},1838606355:function(e,t){return new $C.IfcMaterial(e,t[0])},1847130766:function(e,t){return new $C.IfcMaterialClassificationRelationship(e,t[0],t[1])},248100487:function(e,t){return new $C.IfcMaterialLayer(e,t[0],t[1],t[2])},3303938423:function(e,t){return new $C.IfcMaterialLayerSet(e,t[0],t[1])},1303795690:function(e,t){return new $C.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3])},2199411900:function(e,t){return new $C.IfcMaterialList(e,t[0])},3265635763:function(e,t){return new $C.IfcMaterialProperties(e,t[0])},2597039031:function(e,t){return new $C.IfcMeasureWithUnit(e,t[0],t[1])},4256014907:function(e,t){return new $C.IfcMechanicalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},677618848:function(e,t){return new $C.IfcMechanicalSteelMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3368373690:function(e,t){return new $C.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706619895:function(e,t){return new $C.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new $C.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new $C.IfcObjectPlacement(e)},2251480897:function(e,t){return new $C.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1227763645:function(e,t){return new $C.IfcOpticalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4251960020:function(e,t){return new $C.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1411181986:function(e,t){return new $C.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1207048766:function(e,t){return new $C.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new $C.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new $C.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new $C.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new $C.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new $C.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3727388367:function(e,t){return new $C.IfcPreDefinedItem(e,t[0])},990879717:function(e,t){return new $C.IfcPreDefinedSymbol(e,t[0])},3213052703:function(e,t){return new $C.IfcPreDefinedTerminatorSymbol(e,t[0])},1775413392:function(e,t){return new $C.IfcPreDefinedTextFont(e,t[0])},2022622350:function(e,t){return new $C.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new $C.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new $C.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new $C.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new $C.IfcProductRepresentation(e,t[0],t[1],t[2])},2267347899:function(e,t){return new $C.IfcProductsOfCombustionProperties(e,t[0],t[1],t[2],t[3],t[4])},3958567839:function(e,t){return new $C.IfcProfileDef(e,t[0],t[1])},2802850158:function(e,t){return new $C.IfcProfileProperties(e,t[0],t[1])},2598011224:function(e,t){return new $C.IfcProperty(e,t[0],t[1])},3896028662:function(e,t){return new $C.IfcPropertyConstraintRelationship(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new $C.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3710013099:function(e,t){return new $C.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new $C.IfcQuantityArea(e,t[0],t[1],t[2],t[3])},2093928680:function(e,t){return new $C.IfcQuantityCount(e,t[0],t[1],t[2],t[3])},931644368:function(e,t){return new $C.IfcQuantityLength(e,t[0],t[1],t[2],t[3])},3252649465:function(e,t){return new $C.IfcQuantityTime(e,t[0],t[1],t[2],t[3])},2405470396:function(e,t){return new $C.IfcQuantityVolume(e,t[0],t[1],t[2],t[3])},825690147:function(e,t){return new $C.IfcQuantityWeight(e,t[0],t[1],t[2],t[3])},2692823254:function(e,t){return new $C.IfcReferencesValueDocument(e,t[0],t[1],t[2],t[3])},1580146022:function(e,t){return new $C.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1222501353:function(e,t){return new $C.IfcRelaxation(e,t[0],t[1])},1076942058:function(e,t){return new $C.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new $C.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new $C.IfcRepresentationItem(e)},1660063152:function(e,t){return new $C.IfcRepresentationMap(e,t[0],t[1])},3679540991:function(e,t){return new $C.IfcRibPlateProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2341007311:function(e,t){return new $C.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new $C.IfcSIUnit(e,t[0],t[1],t[2])},2042790032:function(e,t){return new $C.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new $C.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},867548509:function(e,t){return new $C.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new $C.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new $C.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},3692461612:function(e,t){return new $C.IfcSimpleProperty(e,t[0],t[1])},2273995522:function(e,t){return new $C.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new $C.IfcStructuralLoad(e,t[0])},2525727697:function(e,t){return new $C.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new $C.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new $C.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new $C.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new $C.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new $C.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new $C.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new $C.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new $C.IfcSurfaceStyleShading(e,t[0])},1351298697:function(e,t){return new $C.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new $C.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3])},1290481447:function(e,t){return new $C.IfcSymbolStyle(e,t[0],t[1])},985171141:function(e,t){return new $C.IfcTable(e,t[0],t[1])},531007025:function(e,t){return new $C.IfcTableRow(e,t[0],t[1])},912023232:function(e,t){return new $C.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1447204868:function(e,t){return new $C.IfcTextStyle(e,t[0],t[1],t[2],t[3])},1983826977:function(e,t){return new $C.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2636378356:function(e,t){return new $C.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new $C.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1484833681:function(e,t){return new $C.IfcTextStyleWithBoxCharacteristics(e,t[0],t[1],t[2],t[3],t[4])},280115917:function(e,t){return new $C.IfcTextureCoordinate(e)},1742049831:function(e,t){return new $C.IfcTextureCoordinateGenerator(e,t[0],t[1])},2552916305:function(e,t){return new $C.IfcTextureMap(e,t[0])},1210645708:function(e,t){return new $C.IfcTextureVertex(e,t[0])},3317419933:function(e,t){return new $C.IfcThermalMaterialProperties(e,t[0],t[1],t[2],t[3],t[4])},3101149627:function(e,t){return new $C.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1718945513:function(e,t){return new $C.IfcTimeSeriesReferenceRelationship(e,t[0],t[1])},581633288:function(e,t){return new $C.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new $C.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new $C.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new $C.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new $C.IfcVertex(e)},3304826586:function(e,t){return new $C.IfcVertexBasedTextureMap(e,t[0],t[1])},1907098498:function(e,t){return new $C.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new $C.IfcVirtualGridIntersection(e,t[0],t[1])},1065908215:function(e,t){return new $C.IfcWaterProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2442683028:function(e,t){return new $C.IfcAnnotationOccurrence(e,t[0],t[1],t[2])},962685235:function(e,t){return new $C.IfcAnnotationSurfaceOccurrence(e,t[0],t[1],t[2])},3612888222:function(e,t){return new $C.IfcAnnotationSymbolOccurrence(e,t[0],t[1],t[2])},2297822566:function(e,t){return new $C.IfcAnnotationTextOccurrence(e,t[0],t[1],t[2])},3798115385:function(e,t){return new $C.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new $C.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new $C.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new $C.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3150382593:function(e,t){return new $C.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},647927063:function(e,t){return new $C.IfcClassificationReference(e,t[0],t[1],t[2],t[3])},776857604:function(e,t){return new $C.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new $C.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},1485152156:function(e,t){return new $C.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new $C.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new $C.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new $C.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new $C.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new $C.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},3800577675:function(e,t){return new $C.IfcCurveStyle(e,t[0],t[1],t[2],t[3])},3632507154:function(e,t){return new $C.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},2273265877:function(e,t){return new $C.IfcDimensionCalloutRelationship(e,t[0],t[1],t[2],t[3])},1694125774:function(e,t){return new $C.IfcDimensionPair(e,t[0],t[1],t[2],t[3])},3732053477:function(e,t){return new $C.IfcDocumentReference(e,t[0],t[1],t[2])},4170525392:function(e,t){return new $C.IfcDraughtingPreDefinedTextFont(e,t[0])},3900360178:function(e,t){return new $C.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new $C.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},1860660968:function(e,t){return new $C.IfcExtendedMaterialProperties(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new $C.IfcFace(e,t[0])},1809719519:function(e,t){return new $C.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new $C.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new $C.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new $C.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new $C.IfcFillAreaStyle(e,t[0],t[1])},3857492461:function(e,t){return new $C.IfcFuelProperties(e,t[0],t[1],t[2],t[3],t[4])},803998398:function(e,t){return new $C.IfcGeneralMaterialProperties(e,t[0],t[1],t[2],t[3])},1446786286:function(e,t){return new $C.IfcGeneralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3448662350:function(e,t){return new $C.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new $C.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new $C.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new $C.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new $C.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new $C.IfcHalfSpaceSolid(e,t[0],t[1])},2445078500:function(e,t){return new $C.IfcHygroscopicMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3905492369:function(e,t){return new $C.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4])},3741457305:function(e,t){return new $C.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1402838566:function(e,t){return new $C.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new $C.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new $C.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new $C.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new $C.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new $C.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new $C.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new $C.IfcLoop(e)},2347385850:function(e,t){return new $C.IfcMappedItem(e,t[0],t[1])},2022407955:function(e,t){return new $C.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1430189142:function(e,t){return new $C.IfcMechanicalConcreteMaterialProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},219451334:function(e,t){return new $C.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2833995503:function(e,t){return new $C.IfcOneDirectionRepeatFactor(e,t[0])},2665983363:function(e,t){return new $C.IfcOpenShell(e,t[0])},1029017970:function(e,t){return new $C.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new $C.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new $C.IfcPath(e,t[0])},3021840470:function(e,t){return new $C.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new $C.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2004835150:function(e,t){return new $C.IfcPlacement(e,t[0])},1663979128:function(e,t){return new $C.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new $C.IfcPoint(e)},4022376103:function(e,t){return new $C.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new $C.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new $C.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new $C.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new $C.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new $C.IfcPreDefinedCurveFont(e,t[0])},433424934:function(e,t){return new $C.IfcPreDefinedDimensionSymbol(e,t[0])},179317114:function(e,t){return new $C.IfcPreDefinedPointMarkerSymbol(e,t[0])},673634403:function(e,t){return new $C.IfcProductDefinitionShape(e,t[0],t[1],t[2])},871118103:function(e,t){return new $C.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4])},1680319473:function(e,t){return new $C.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},4166981789:function(e,t){return new $C.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new $C.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new $C.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},3357820518:function(e,t){return new $C.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},3650150729:function(e,t){return new $C.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new $C.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3615266464:function(e,t){return new $C.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new $C.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3765753017:function(e,t){return new $C.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new $C.IfcRelationship(e,t[0],t[1],t[2],t[3])},2778083089:function(e,t){return new $C.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new $C.IfcSectionedSpine(e,t[0],t[1],t[2])},2411513650:function(e,t){return new $C.IfcServiceLifeFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4124623270:function(e,t){return new $C.IfcShellBasedSurfaceModel(e,t[0])},2609359061:function(e,t){return new $C.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new $C.IfcSolidModel(e)},2485662743:function(e,t){return new $C.IfcSoundProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1202362311:function(e,t){return new $C.IfcSoundValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},390701378:function(e,t){return new $C.IfcSpaceThermalLoadProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1595516126:function(e,t){return new $C.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new $C.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new $C.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new $C.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new $C.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new $C.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3843319758:function(e,t){return new $C.IfcStructuralProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},3653947884:function(e,t){return new $C.IfcStructuralSteelProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22],t[23],t[24],t[25],t[26])},2233826070:function(e,t){return new $C.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new $C.IfcSurface(e)},1878645084:function(e,t){return new $C.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new $C.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new $C.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},230924584:function(e,t){return new $C.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new $C.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3028897424:function(e,t){return new $C.IfcTerminatorSymbol(e,t[0],t[1],t[2],t[3])},4282788508:function(e,t){return new $C.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new $C.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},2715220739:function(e,t){return new $C.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1345879162:function(e,t){return new $C.IfcTwoDirectionRepeatFactor(e,t[0],t[1])},1628702193:function(e,t){return new $C.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},2347495698:function(e,t){return new $C.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},427810014:function(e,t){return new $C.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1417489154:function(e,t){return new $C.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new $C.IfcVertexLoop(e,t[0])},336235671:function(e,t){return new $C.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},512836454:function(e,t){return new $C.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1299126871:function(e,t){return new $C.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new $C.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3288037868:function(e,t){return new $C.IfcAnnotationCurveOccurrence(e,t[0],t[1],t[2])},669184980:function(e,t){return new $C.IfcAnnotationFillArea(e,t[0],t[1])},2265737646:function(e,t){return new $C.IfcAnnotationFillAreaOccurrence(e,t[0],t[1],t[2],t[3],t[4])},1302238472:function(e,t){return new $C.IfcAnnotationSurface(e,t[0],t[1])},4261334040:function(e,t){return new $C.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new $C.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new $C.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new $C.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new $C.IfcBoundedSurface(e)},2581212453:function(e,t){return new $C.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new $C.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new $C.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1123145078:function(e,t){return new $C.IfcCartesianPoint(e,t[0])},59481748:function(e,t){return new $C.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new $C.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new $C.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new $C.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new $C.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new $C.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new $C.IfcClosedShell(e,t[0])},2485617015:function(e,t){return new $C.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},4133800736:function(e,t){return new $C.IfcCraneRailAShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},194851669:function(e,t){return new $C.IfcCraneRailFShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new $C.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new $C.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new $C.IfcCurve(e)},2827736869:function(e,t){return new $C.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},693772133:function(e,t){return new $C.IfcDefinedSymbol(e,t[0],t[1])},606661476:function(e,t){return new $C.IfcDimensionCurve(e,t[0],t[1],t[2])},4054601972:function(e,t){return new $C.IfcDimensionCurveTerminator(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new $C.IfcDirection(e,t[0])},2963535650:function(e,t){return new $C.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1714330368:function(e,t){return new $C.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},526551008:function(e,t){return new $C.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3073041342:function(e,t){return new $C.IfcDraughtingCallout(e,t[0])},445594917:function(e,t){return new $C.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new $C.IfcDraughtingPreDefinedCurveFont(e,t[0])},1472233963:function(e,t){return new $C.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new $C.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new $C.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new $C.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new $C.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},80994333:function(e,t){return new $C.IfcEnergyProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},477187591:function(e,t){return new $C.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2047409740:function(e,t){return new $C.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new $C.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},4203026998:function(e,t){return new $C.IfcFillAreaStyleTileSymbolWithStyle(e,t[0])},315944413:function(e,t){return new $C.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},3455213021:function(e,t){return new $C.IfcFluidFlowProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18])},4238390223:function(e,t){return new $C.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new $C.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new $C.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new $C.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},572779678:function(e,t){return new $C.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1281925730:function(e,t){return new $C.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new $C.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new $C.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new $C.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new $C.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},3566463478:function(e,t){return new $C.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603570806:function(e,t){return new $C.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new $C.IfcPlane(e,t[0])},2945172077:function(e,t){return new $C.IfcProcess(e,t[0],t[1],t[2],t[3],t[4])},4208778838:function(e,t){return new $C.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new $C.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4194566429:function(e,t){return new $C.IfcProjectionCurve(e,t[0],t[1],t[2])},1451395588:function(e,t){return new $C.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},3219374653:function(e,t){return new $C.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new $C.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new $C.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new $C.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3939117080:function(e,t){return new $C.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new $C.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new $C.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new $C.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4278684876:function(e,t){return new $C.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new $C.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3372526763:function(e,t){return new $C.IfcRelAssignsToProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new $C.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new $C.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},1327628568:function(e,t){return new $C.IfcRelAssociatesAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4095574036:function(e,t){return new $C.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new $C.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new $C.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new $C.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new $C.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new $C.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},2851387026:function(e,t){return new $C.IfcRelAssociatesProfileProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},826625072:function(e,t){return new $C.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new $C.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new $C.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new $C.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new $C.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new $C.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},3912681535:function(e,t){return new $C.IfcRelConnectsStructuralElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new $C.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new $C.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new $C.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new $C.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new $C.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new $C.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new $C.IfcRelDecomposes(e,t[0],t[1],t[2],t[3],t[4],t[5])},693640335:function(e,t){return new $C.IfcRelDefines(e,t[0],t[1],t[2],t[3],t[4])},4186316022:function(e,t){return new $C.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new $C.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new $C.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new $C.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},4189434867:function(e,t){return new $C.IfcRelInteractionRequirements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new $C.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},2051452291:function(e,t){return new $C.IfcRelOccupiesSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},202636808:function(e,t){return new $C.IfcRelOverridesProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},750771296:function(e,t){return new $C.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new $C.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},1058617721:function(e,t){return new $C.IfcRelSchedulesCostItems(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4122056220:function(e,t){return new $C.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},366585022:function(e,t){return new $C.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new $C.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1401173127:function(e,t){return new $C.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},2914609552:function(e,t){return new $C.IfcResource(e,t[0],t[1],t[2],t[3],t[4])},1856042241:function(e,t){return new $C.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},4158566097:function(e,t){return new $C.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new $C.IfcRightCircularCylinder(e,t[0],t[1],t[2])},2706606064:function(e,t){return new $C.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new $C.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},451544542:function(e,t){return new $C.IfcSphere(e,t[0],t[1])},3544373492:function(e,t){return new $C.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new $C.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new $C.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new $C.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new $C.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new $C.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4070609034:function(e,t){return new $C.IfcStructuredDimensionCallout(e,t[0])},2028607225:function(e,t){return new $C.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new $C.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new $C.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new $C.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3473067441:function(e,t){return new $C.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new $C.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2296667514:function(e,t){return new $C.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1674181508:function(e,t){return new $C.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3207858831:function(e,t){return new $C.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new $C.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new $C.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new $C.IfcBoundedCurve(e)},4031249490:function(e,t){return new $C.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new $C.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new $C.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new $C.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},300633059:function(e,t){return new $C.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3732776249:function(e,t){return new $C.IfcCompositeCurve(e,t[0],t[1])},2510884976:function(e,t){return new $C.IfcConic(e,t[0])},2559216714:function(e,t){return new $C.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3293443760:function(e,t){return new $C.IfcControl(e,t[0],t[1],t[2],t[3],t[4])},3895139033:function(e,t){return new $C.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4])},1419761937:function(e,t){return new $C.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1916426348:function(e,t){return new $C.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new $C.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1457835157:function(e,t){return new $C.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},681481545:function(e,t){return new $C.IfcDimensionCurveDirectedCallout(e,t[0])},3256556792:function(e,t){return new $C.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new $C.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},360485395:function(e,t){return new $C.IfcElectricalBaseProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1758889154:function(e,t){return new $C.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new $C.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new $C.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new $C.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new $C.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new $C.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1962604670:function(e,t){return new $C.IfcEquipmentElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3272907226:function(e,t){return new $C.IfcEquipmentStandard(e,t[0],t[1],t[2],t[3],t[4])},3174744832:function(e,t){return new $C.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new $C.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},807026263:function(e,t){return new $C.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new $C.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new $C.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2489546625:function(e,t){return new $C.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2827207264:function(e,t){return new $C.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new $C.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new $C.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new $C.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new $C.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new $C.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new $C.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new $C.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new $C.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new $C.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new $C.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},263784265:function(e,t){return new $C.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},814719939:function(e,t){return new $C.IfcFurnitureStandard(e,t[0],t[1],t[2],t[3],t[4])},200128114:function(e,t){return new $C.IfcGasTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3009204131:function(e,t){return new $C.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2706460486:function(e,t){return new $C.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new $C.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new $C.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391368822:function(e,t){return new $C.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new $C.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new $C.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1051575348:function(e,t){return new $C.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new $C.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2506943328:function(e,t){return new $C.IfcLinearDimension(e,t[0])},377706215:function(e,t){return new $C.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2108223431:function(e,t){return new $C.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3181161470:function(e,t){return new $C.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new $C.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916936684:function(e,t){return new $C.IfcMove(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4143007308:function(e,t){return new $C.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new $C.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3425660407:function(e,t){return new $C.IfcOrderAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2837617999:function(e,t){return new $C.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new $C.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5])},3327091369:function(e,t){return new $C.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5])},804291784:function(e,t){return new $C.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new $C.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new $C.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3724593414:function(e,t){return new $C.IfcPolyline(e,t[0])},3740093272:function(e,t){return new $C.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new $C.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new $C.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3642467123:function(e,t){return new $C.IfcProjectOrderRecord(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3651124850:function(e,t){return new $C.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1842657554:function(e,t){return new $C.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new $C.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3248260540:function(e,t){return new $C.IfcRadiusDimension(e,t[0])},2893384427:function(e,t){return new $C.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new $C.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},160246688:function(e,t){return new $C.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2863920197:function(e,t){return new $C.IfcRelAssignsTasks(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1768891740:function(e,t){return new $C.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3517283431:function(e,t){return new $C.IfcScheduleTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20],t[21],t[22])},4105383287:function(e,t){return new $C.IfcServiceLife(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4097777520:function(e,t){return new $C.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new $C.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new $C.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new $C.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},652456506:function(e,t){return new $C.IfcSpaceProgram(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new $C.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3112655638:function(e,t){return new $C.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new $C.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new $C.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1179482911:function(e,t){return new $C.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4243806635:function(e,t){return new $C.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},214636428:function(e,t){return new $C.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2445595289:function(e,t){return new $C.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1807405624:function(e,t){return new $C.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1721250024:function(e,t){return new $C.IfcStructuralLinearActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1252848954:function(e,t){return new $C.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1621171031:function(e,t){return new $C.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},3987759626:function(e,t){return new $C.IfcStructuralPlanarActionVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2082059205:function(e,t){return new $C.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},734778138:function(e,t){return new $C.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1235345126:function(e,t){return new $C.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new $C.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1975003073:function(e,t){return new $C.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new $C.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2315554128:function(e,t){return new $C.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new $C.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},5716631:function(e,t){return new $C.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1637806684:function(e,t){return new $C.IfcTimeSeriesSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1692211062:function(e,t){return new $C.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new $C.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3593883385:function(e,t){return new $C.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new $C.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new $C.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new $C.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new $C.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1898987631:function(e,t){return new $C.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new $C.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1028945134:function(e,t){return new $C.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4218914973:function(e,t){return new $C.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},3342526732:function(e,t){return new $C.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},1033361043:function(e,t){return new $C.IfcZone(e,t[0],t[1],t[2],t[3],t[4])},1213861670:function(e,t){return new $C.Ifc2DCompositeCurve(e,t[0],t[1])},3821786052:function(e,t){return new $C.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5])},1411407467:function(e,t){return new $C.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new $C.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new $C.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2470393545:function(e,t){return new $C.IfcAngularDimension(e,t[0])},3460190687:function(e,t){return new $C.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1967976161:function(e,t){return new $C.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},819618141:function(e,t){return new $C.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916977116:function(e,t){return new $C.IfcBezierCurve(e,t[0],t[1],t[2],t[3],t[4])},231477066:function(e,t){return new $C.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3299480353:function(e,t){return new $C.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},52481810:function(e,t){return new $C.IfcBuildingElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new $C.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new $C.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new $C.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new $C.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new $C.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new $C.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new $C.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2611217952:function(e,t){return new $C.IfcCircle(e,t[0],t[1])},2301859152:function(e,t){return new $C.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new $C.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3850581409:function(e,t){return new $C.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new $C.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188551683:function(e,t){return new $C.IfcCondition(e,t[0],t[1],t[2],t[3],t[4])},1163958913:function(e,t){return new $C.IfcConditionCriterion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3898045240:function(e,t){return new $C.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1060000209:function(e,t){return new $C.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new $C.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},335055490:function(e,t){return new $C.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new $C.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new $C.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new $C.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3961806047:function(e,t){return new $C.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4147604152:function(e,t){return new $C.IfcDiameterDimension(e,t[0])},1335981549:function(e,t){return new $C.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2635815018:function(e,t){return new $C.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1599208980:function(e,t){return new $C.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new $C.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new $C.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new $C.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new $C.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},395920057:function(e,t){return new $C.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},869906466:function(e,t){return new $C.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new $C.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new $C.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},855621170:function(e,t){return new $C.IfcEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new $C.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new $C.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new $C.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1365060375:function(e,t){return new $C.IfcElectricHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new $C.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new $C.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634875225:function(e,t){return new $C.IfcElectricalCircuit(e,t[0],t[1],t[2],t[3],t[4])},857184966:function(e,t){return new $C.IfcElectricalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1658829314:function(e,t){return new $C.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},346874300:function(e,t){return new $C.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new $C.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new $C.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new $C.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new $C.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new $C.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3132237377:function(e,t){return new $C.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new $C.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new $C.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new $C.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new $C.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new $C.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new $C.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1687234759:function(e,t){return new $C.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3171933400:function(e,t){return new $C.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2262370178:function(e,t){return new $C.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new $C.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new $C.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3055160366:function(e,t){return new $C.IfcRationalBezierCurve(e,t[0],t[1],t[2],t[3],t[4],t[5])},3027567501:function(e,t){return new $C.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new $C.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2016517767:function(e,t){return new $C.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1376911519:function(e,t){return new $C.IfcRoundedEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1783015770:function(e,t){return new $C.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1529196076:function(e,t){return new $C.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new $C.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new $C.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2515109513:function(e,t){return new $C.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3824725483:function(e,t){return new $C.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new $C.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new $C.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391406946:function(e,t){return new $C.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3512223829:function(e,t){return new $C.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3304561284:function(e,t){return new $C.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2874132201:function(e,t){return new $C.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3001207471:function(e,t){return new $C.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},753842376:function(e,t){return new $C.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2454782716:function(e,t){return new $C.IfcChamferEdgeFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},578613899:function(e,t){return new $C.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1052013943:function(e,t){return new $C.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1062813311:function(e,t){return new $C.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3700593921:function(e,t){return new $C.IfcElectricDistributionPoint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},979691226:function(e,t){return new $C.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])}},Q_[1]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate]},1110488051:function(e){return[e.ComponentOfTotal,e.Components,e.ArithmeticOperator,e.Name,e.Description]},130549933:function(e){return[e.Description,e.ApprovalDateTime,e.ApprovalStatus,e.ApprovalLevel,e.ApprovalQualifier,e.Name,e.Identifier]},2080292479:function(e){return[e.Actor,e.Approval,e.Role]},390851274:function(e){return[e.ApprovedProperties,e.Approval]},3869604511:function(e){return[e.RelatedApproval,e.RelatingApproval,e.Description,e.Name]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.LinearStiffnessByLengthX,e.LinearStiffnessByLengthY,e.LinearStiffnessByLengthZ,e.RotationalStiffnessByLengthX,e.RotationalStiffnessByLengthY,e.RotationalStiffnessByLengthZ]},3367102660:function(e){return[e.Name,e.LinearStiffnessByAreaX,e.LinearStiffnessByAreaY,e.LinearStiffnessByAreaZ]},1387855156:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ]},2069777674:function(e){return[e.Name,e.LinearStiffnessX,e.LinearStiffnessY,e.LinearStiffnessZ,e.RotationalStiffnessX,e.RotationalStiffnessY,e.RotationalStiffnessZ,e.WarpingStiffness]},622194075:function(e){return[e.DayComponent,e.MonthComponent,e.YearComponent]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name]},1767535486:function(e){return[e.Notation,e.ItemOf,e.Title]},1098599126:function(e){return[e.RelatingItem,e.RelatedItems]},938368621:function(e){return[e.NotationFacets]},3639012971:function(e){return[e.NotationValue]},3264961684:function(e){return[e.Name]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},4257277454:function(e){return[e.LocationAtRelatingElement,e.LocationAtRelatedElement,e.ProfileOfPort]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1658513725:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints,e.LogicalAggregator]},613356794:function(e){return[e.ClassifiedConstraint,e.RelatedClassifications]},347226245:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedConstraints]},1065062679:function(e){return[e.HourOffset,e.MinuteOffset,e.Sense]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.CostType,e.Condition]},539742890:function(e){return[e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},1072939445:function(e){return[e.DateComponent,e.TimeComponent]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},1376555844:function(e){return[e.FileExtension,e.MimeContentType,e.MimeSubtype]},1154170062:function(e){return[e.DocumentId,e.Name,e.Description,e.DocumentReferences,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3796139169:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1648886627:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.ImpactType,e.Category,e.UserDefinedCategory]},3200245327:function(e){return[e.Location,e.ItemReference,e.Name]},2242383968:function(e){return[e.Location,e.ItemReference,e.Name]},1040185647:function(e){return[e.Location,e.ItemReference,e.Name]},3207319532:function(e){return[e.Location,e.ItemReference,e.Name]},3548104201:function(e){return[e.Location,e.ItemReference,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.LibraryReference]},3452421091:function(e){return[e.Location,e.ItemReference,e.Name]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},30780891:function(e){return[e.HourComponent,e.MinuteComponent,e.SecondComponent,e.Zone,e.DaylightSavingOffset]},1838606355:function(e){return[e.Name]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString()]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine]},2199411900:function(e){return[e.Materials]},3265635763:function(e){return[e.Material]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},4256014907:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient]},677618848:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.YieldStress,e.UltimateStress,e.UltimateStrain,e.HardeningModule,e.ProportionalStress,e.PlasticStrain,e.Relaxations]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.ResultValues,e.ObjectiveQualifier,e.UserDefinedQualifier]},1227763645:function(e){return[e.Material,e.VisibleTransmittance,e.SolarTransmittance,e.ThermalIrTransmittance,e.ThermalIrEmissivityBack,e.ThermalIrEmissivityFront,e.VisibleReflectanceBack,e.VisibleReflectanceFront,e.SolarReflectanceFront,e.SolarReflectanceBack]},4251960020:function(e){return[e.Id,e.Name,e.Description,e.Roles,e.Addresses]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Id,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},3727388367:function(e){return[e.Name]},990879717:function(e){return[e.Name]},3213052703:function(e){return[e.Name]},1775413392:function(e){return[e.Name]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier,e.LayerOn,e.LayerFrozen,e.LayerBlocked,e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},2267347899:function(e){return[e.Material,e.SpecificHeatCapacity,e.N20Content,e.COContent,e.CO2Content]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},2802850158:function(e){return[e.ProfileName,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},3896028662:function(e){return[e.RelatingConstraint,e.RelatedProperties,e.Name,e.Description]},148025276:function(e){return[e.DependingProperty,e.DependantProperty,e.Name,e.Description,e.Expression]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue]},2692823254:function(e){return[e.ReferencedDocument,e.ReferencingValues,e.Name,e.Description]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},1222501353:function(e){return[e.RelaxationValue,e.InitialStress]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},3679540991:function(e){return[e.ProfileName,e.ProfileDefinition,e.Thickness,e.RibHeight,e.RibWidth,e.RibSpacing,e.Direction]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},867548509:function(e){return[e.ShapeRepresentations,e.Name,e.Description,e.ProductDefinitional,e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3692461612:function(e){return[e.Name,e.Description]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaT_Constant,e.DeltaT_Y,e.DeltaT_Z]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour]},1351298697:function(e){return[e.Textures]},626085974:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform]},1290481447:function(e){return[e.Name,Y_(e.StyleOfSymbol)]},985171141:function(e){return[e.Name,e.Rows]},531007025:function(e){return[e.RowCells.map((function(e){return Y_(e)})),e.IsHeading]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL]},1447204868:function(e){return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},1484833681:function(e){return[e.BoxHeight,e.BoxWidth,e.BoxSlantAngle,e.BoxRotateAngle,e.CharacterSpacing?Y_(e.CharacterSpacing):null]},280115917:function(e){return[]},1742049831:function(e){return[e.Mode,e.Parameter.map((function(e){return Y_(e)}))]},2552916305:function(e){return[e.TextureMaps]},1210645708:function(e){return[e.Coordinates]},3317419933:function(e){return[e.Material,e.SpecificHeatCapacity,e.BoilingPoint,e.FreezingPoint,e.ThermalConductivity]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},1718945513:function(e){return[e.ReferencedTimeSeries,e.TimeSeriesReferences]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},3304826586:function(e){return[e.TextureVertices,e.TexturePoints]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1065908215:function(e){return[e.Material,e.IsPotable,e.Hardness,e.AlkalinityConcentration,e.AcidityConcentration,e.ImpuritiesContent,e.PHLevel,e.DissolvedSolidsContent]},2442683028:function(e){return[e.Item,e.Styles,e.Name]},962685235:function(e){return[e.Item,e.Styles,e.Name]},3612888222:function(e){return[e.Item,e.Styles,e.Name]},2297822566:function(e){return[e.Item,e.Styles,e.Name]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},647927063:function(e){return[e.Location,e.ItemReference,e.Name,e.ReferencedSource]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},3800577675:function(e){return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},2273265877:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},1694125774:function(e){return[e.Name,e.Description,e.RelatingDraughtingCallout,e.RelatedDraughtingCallout]},3732053477:function(e){return[e.Location,e.ItemReference,e.Name]},4170525392:function(e){return[e.Name]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,e.SameSense]},1860660968:function(e){return[e.Material,e.ExtendedProperties,e.Description,e.Name]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){return[e.Bound,e.Orientation]},803316827:function(e){return[e.Bound,e.Orientation]},3008276851:function(e){return[e.Bounds,e.FaceSurface,e.SameSense]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){return[e.Name,e.FillStyles]},3857492461:function(e){return[e.Material,e.CombustionTemperature,e.CarbonContent,e.LowerHeatingValue,e.HigherHeatingValue]},803998398:function(e){return[e.Material,e.MolecularWeight,e.Porosity,e.MassDensity]},1446786286:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){return[e.BaseSurface,e.AgreementFlag]},2445078500:function(e){return[e.Material,e.UpperVaporResistanceFactor,e.LowerVaporResistanceFactor,e.IsothermalMoistureCapacity,e.VaporPermeability,e.MoistureDiffusivity]},3905492369:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.UrlReference]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1430189142:function(e){return[e.Material,e.DynamicViscosity,e.YoungModulus,e.ShearModulus,e.PoissonRatio,e.ThermalExpansionCoefficient,e.CompressiveStrength,e.MaxAggregateSize,e.AdmixturesDescription,e.Workability,e.ProtectivePoreRatio,e.WaterImpermeability]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2833995503:function(e){return[e.RepeatFactor]},2665983363:function(e){return[e.CfsFaces]},1029017970:function(e){return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,e.Orientation]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){return[e.RepeatS,e.RepeatT,e.TextureType,e.TextureTransform,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){return[e.BaseSurface,e.AgreementFlag,e.Position,e.PolygonalBoundary]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},433424934:function(e){return[e.Name]},179317114:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues.map((function(e){return Y_(e)})),e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues.map((function(e){return Y_(e)})),e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues.map((function(e){return Y_(e)})),e.DefinedValues.map((function(e){return Y_(e)})),e.Expression,e.DefiningUnit,e.DefinedUnit]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},2411513650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PredefinedType,e.UpperValue?Y_(e.UpperValue):null,Y_(e.MostUsedValue),e.LowerValue?Y_(e.LowerValue):null]},4124623270:function(e){return[e.SbsmBoundary]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},2485662743:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,null==(t=e.IsAttenuating)?void 0:t.toString(),e.SoundScale,e.SoundValues]},1202362311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.SoundLevelTimeSeries,e.Frequency,e.SoundLevelSingleValue?Y_(e.SoundLevelSingleValue):null]},390701378:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableValueRatio,e.ThermalLoadSource,e.PropertySource,e.SourceDescription,e.MaximumValue,e.MinimumValue,e.ThermalLoadTimeSeriesValues,e.UserDefinedThermalLoadSource,e.UserDefinedPropertySource,e.ThermalLoadType]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},3843319758:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY]},3653947884:function(e){return[e.ProfileName,e.ProfileDefinition,e.PhysicalWeight,e.Perimeter,e.MinimumPlateThickness,e.MaximumPlateThickness,e.CrossSectionArea,e.TorsionalConstantX,e.MomentOfInertiaYZ,e.MomentOfInertiaY,e.MomentOfInertiaZ,e.WarpingConstant,e.ShearCentreZ,e.ShearCentreY,e.ShearDeformationAreaZ,e.ShearDeformationAreaY,e.MaximumSectionModulusY,e.MinimumSectionModulusY,e.MaximumSectionModulusZ,e.MinimumSectionModulusZ,e.TorsionalSectionModulus,e.CentreOfGravityInX,e.CentreOfGravityInY,e.ShearAreaZ,e.ShearAreaY,e.PlasticShapeFactorY,e.PlasticShapeFactorZ]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope,e.CentreOfGravityInY]},3028897424:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1345879162:function(e){return[e.RepeatFactor,e.SecondRepeatFactor]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope,e.CentreOfGravityInX]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},1299126871:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,e.ParameterTakesPrecedence,e.Sizeable]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3288037868:function(e){return[e.Item,e.Styles,e.Name]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},2265737646:function(e){return[e.Item,e.Styles,e.Name,e.FillStyleTarget,e.GlobalOrLocal]},1302238472:function(e){return[e.Item,e.TextureCoordinates]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){return[e.BaseSurface,e.AgreementFlag,e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius,e.CentreOfGravityInX]},1123145078:function(e){return[e.Coordinates]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},2485617015:function(e){return[e.Transition,e.SameSense,e.ParentCurve]},4133800736:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.BaseWidth2,e.Radius,e.HeadWidth,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseWidth4,e.BaseDepth1,e.BaseDepth2,e.BaseDepth3,e.CentreOfGravityInY]},194851669:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallHeight,e.HeadWidth,e.Radius,e.HeadDepth2,e.HeadDepth3,e.WebThickness,e.BaseDepth1,e.BaseDepth2,e.CentreOfGravityInY]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},693772133:function(e){return[e.Definition,e.Target]},606661476:function(e){return[e.Item,e.Styles,e.Name]},4054601972:function(e){return[e.Item,e.Styles,e.Name,e.AnnotatedCurve,e.Role]},32440307:function(e){return[e.DirectionRatios]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},526551008:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,e.ParameterTakesPrecedence,e.Sizeable]},3073041342:function(e){return[e.Contents]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},80994333:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},4203026998:function(e){return[e.Symbol]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},3455213021:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PropertySource,e.FlowConditionTimeSeries,e.VelocityTimeSeries,e.FlowrateTimeSeries,e.Fluid,e.PressureTimeSeries,e.UserDefinedPropertySource,e.TemperatureSingleValue,e.WetBulbTemperatureSingleValue,e.WetBulbTemperatureTimeSeries,e.TemperatureTimeSeries,e.FlowrateSingleValue?Y_(e.FlowrateSingleValue):null,e.FlowConditionSingleValue,e.VelocitySingleValue,e.PressureSingleValue]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope,e.CentreOfGravityInX,e.CentreOfGravityInY]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect]},3505215534:function(e){return[e.BasisCurve,e.Distance,e.SelfIntersect,e.RefDirection]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},4194566429:function(e){return[e.Item,e.Styles,e.Name]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,e.Usense,e.Vsense]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},3372526763:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},1327628568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingAppliedValue]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},2851387026:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileProperties,e.ProfileSectionLocation,e.ProfileOrientation]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},3912681535:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralMember]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedSpace,e.RelatedCoverings]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},4189434867:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DailyInteraction,e.ImportanceRating,e.LocationOfInteraction,e.RelatedSpaceProgram,e.RelatingSpaceProgram]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2051452291:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},202636808:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition,e.OverridingProperties]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},1058617721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},451544542:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness,e.SubsequentThickness,e.VaryingThicknessLocation]},4070609034:function(e){return[e.Contents]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3473067441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.CentreOfGravityInY]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3732776249:function(e){return[e.Segments,e.SelfIntersect]},2510884976:function(e){return[e.Position]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SubmittedBy,e.PreparedBy,e.SubmittedOn,e.Status,e.TargetUsers,e.UpdateDate,e.ID,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},681481545:function(e){return[e.Contents]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},360485395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.EnergySequence,e.UserDefinedEnergySequence,e.ElectricCurrentType,e.InputVoltage,e.InputFrequency,e.FullLoadCurrent,e.MinimumCircuitCurrent,e.MaximumPowerInput,e.RatedPowerInput,e.InputPhase]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1962604670:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3272907226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},814719939:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},200128114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.InventoryType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SkillSet]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2506943328:function(e){return[e.Contents]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916936684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.MoveFrom,e.MoveTo,e.PunchList]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3425660407:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TaskId,e.Status,e.WorkMethod,e.IsMilestone,e.Priority,e.ActionID]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LifeCyclePhase]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PermitID]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ProcedureID,e.ProcedureType,e.UserDefinedProcedureType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ID,e.PredefinedType,e.Status]},3642467123:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Records,e.PredefinedType]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3248260540:function(e){return[e.Contents]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2863920197:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl,e.TimeForTask]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3517283431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ActualStart,e.EarlyStart,e.LateStart,e.ScheduleStart,e.ActualFinish,e.EarlyFinish,e.LateFinish,e.ScheduleFinish,e.ScheduleDuration,e.ActualDuration,e.RemainingTime,e.FreeFloat,e.TotalFloat,e.IsCritical,e.StatusTime,e.StartFloat,e.FinishFloat,e.Completion]},4105383287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ServiceLifeType,e.ServiceLifeDuration]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.InteriorOrExteriorSpace,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},652456506:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.SpaceProgramIdentifier,e.MaxRequiredArea,e.MinRequiredArea,e.RequestedLocation,e.StandardRequiredArea]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},1807405624:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},1721250024:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},1621171031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue]},3987759626:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy,e.ProjectedOrTrue,e.VaryingAppliedLoadLocation,e.SubsequentAppliedLoads]},2082059205:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.DestabilizingLoad,e.CausedBy]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,e.IsLinear]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.SubContractor,e.JobDescription]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1637806684:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ApplicableDates,e.TimeSeriesScheduleType,e.TimeSeries]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OperationType,e.CapacityByWeight,e.CapacityByNumber]},3593883385:function(e){return[e.BasisCurve,e.Trim1,e.Trim2,e.SenseAgreement,e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identifier,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.WorkControlType,e.UserDefinedControlType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1213861670:function(e){return[e.Segments,e.SelfIntersect]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.RequestID]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2470393545:function(e){return[e.Contents]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.AssetID,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1967976161:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916977116:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},52481810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.CompositionType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188551683:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1163958913:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Criterion,e.CriterionDateTime]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity,e.Suppliers,e.UsageRatio]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ResourceIdentifier,e.ResourceGroup,e.ResourceConsumption,e.BaseQuantity]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4147604152:function(e){return[e.Contents]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},855621170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1365060375:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634875225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},857184966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3055160366:function(e){return[e.Degree,e.ControlPointsList,e.CurveForm,e.ClosedCurve,e.SelfIntersect,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},1376911519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Radius]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ShapeType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRiser,e.NumberOfTreads,e.RiserHeight,e.TreadLength]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2454782716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.FeatureLength,e.Width,e.Height]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.ControlElementId]},3700593921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.DistributionPointFunction,e.UserDefinedFunction]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarRole,e.BarSurface]}},W_[1]={3699917729:function(e){return new $C.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new $C.IfcAccelerationMeasure(e)},360377573:function(e){return new $C.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new $C.IfcAngularVelocityMeasure(e)},2650437152:function(e){return new $C.IfcAreaMeasure(e)},2735952531:function(e){return new $C.IfcBoolean(e)},1867003952:function(e){return new $C.IfcBoxAlignment(e)},2991860651:function(e){return new $C.IfcComplexNumber(e)},3812528620:function(e){return new $C.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new $C.IfcContextDependentMeasure(e)},1778710042:function(e){return new $C.IfcCountMeasure(e)},94842927:function(e){return new $C.IfcCurvatureMeasure(e)},86635668:function(e){return new $C.IfcDayInMonthNumber(e)},300323983:function(e){return new $C.IfcDaylightSavingHour(e)},1514641115:function(e){return new $C.IfcDescriptiveMeasure(e)},4134073009:function(e){return new $C.IfcDimensionCount(e)},524656162:function(e){return new $C.IfcDoseEquivalentMeasure(e)},69416015:function(e){return new $C.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new $C.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new $C.IfcElectricChargeMeasure(e)},2093906313:function(e){return new $C.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new $C.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new $C.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new $C.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new $C.IfcEnergyMeasure(e)},1102727119:function(e){return new $C.IfcFontStyle(e)},2715512545:function(e){return new $C.IfcFontVariant(e)},2590844177:function(e){return new $C.IfcFontWeight(e)},1361398929:function(e){return new $C.IfcForceMeasure(e)},3044325142:function(e){return new $C.IfcFrequencyMeasure(e)},3064340077:function(e){return new $C.IfcGloballyUniqueId(e)},3113092358:function(e){return new $C.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new $C.IfcHeatingValueMeasure(e)},2589826445:function(e){return new $C.IfcHourInDay(e)},983778844:function(e){return new $C.IfcIdentifier(e)},3358199106:function(e){return new $C.IfcIlluminanceMeasure(e)},2679005408:function(e){return new $C.IfcInductanceMeasure(e)},1939436016:function(e){return new $C.IfcInteger(e)},3809634241:function(e){return new $C.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new $C.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new $C.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new $C.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new $C.IfcLabel(e)},1243674935:function(e){return new $C.IfcLengthMeasure(e)},191860431:function(e){return new $C.IfcLinearForceMeasure(e)},2128979029:function(e){return new $C.IfcLinearMomentMeasure(e)},1307019551:function(e){return new $C.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new $C.IfcLinearVelocityMeasure(e)},503418787:function(e){return new $C.IfcLogical(e)},2095003142:function(e){return new $C.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new $C.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new $C.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new $C.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new $C.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new $C.IfcMassDensityMeasure(e)},4017473158:function(e){return new $C.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new $C.IfcMassMeasure(e)},3531705166:function(e){return new $C.IfcMassPerLengthMeasure(e)},102610177:function(e){return new $C.IfcMinuteInHour(e)},3341486342:function(e){return new $C.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new $C.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new $C.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new $C.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new $C.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new $C.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new $C.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new $C.IfcMonetaryMeasure(e)},765770214:function(e){return new $C.IfcMonthInYearNumber(e)},2095195183:function(e){return new $C.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new $C.IfcNumericMeasure(e)},929793134:function(e){return new $C.IfcPHMeasure(e)},2260317790:function(e){return new $C.IfcParameterValue(e)},2642773653:function(e){return new $C.IfcPlanarForceMeasure(e)},4042175685:function(e){return new $C.IfcPlaneAngleMeasure(e)},2815919920:function(e){return new $C.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new $C.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new $C.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new $C.IfcPowerMeasure(e)},2169031380:function(e){return new $C.IfcPresentableText(e)},3665567075:function(e){return new $C.IfcPressureMeasure(e)},3972513137:function(e){return new $C.IfcRadioActivityMeasure(e)},96294661:function(e){return new $C.IfcRatioMeasure(e)},200335297:function(e){return new $C.IfcReal(e)},2133746277:function(e){return new $C.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new $C.IfcRotationalMassMeasure(e)},3211557302:function(e){return new $C.IfcRotationalStiffnessMeasure(e)},2766185779:function(e){return new $C.IfcSecondInMinute(e)},3467162246:function(e){return new $C.IfcSectionModulusMeasure(e)},2190458107:function(e){return new $C.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new $C.IfcShearModulusMeasure(e)},3471399674:function(e){return new $C.IfcSolidAngleMeasure(e)},846465480:function(e){return new $C.IfcSoundPowerMeasure(e)},993287707:function(e){return new $C.IfcSoundPressureMeasure(e)},3477203348:function(e){return new $C.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new $C.IfcSpecularExponent(e)},361837227:function(e){return new $C.IfcSpecularRoughness(e)},58845555:function(e){return new $C.IfcTemperatureGradientMeasure(e)},2801250643:function(e){return new $C.IfcText(e)},1460886941:function(e){return new $C.IfcTextAlignment(e)},3490877962:function(e){return new $C.IfcTextDecoration(e)},603696268:function(e){return new $C.IfcTextFontName(e)},296282323:function(e){return new $C.IfcTextTransformation(e)},232962298:function(e){return new $C.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new $C.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new $C.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new $C.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new $C.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new $C.IfcThermodynamicTemperatureMeasure(e)},2726807636:function(e){return new $C.IfcTimeMeasure(e)},2591213694:function(e){return new $C.IfcTimeStamp(e)},1278329552:function(e){return new $C.IfcTorqueMeasure(e)},3345633955:function(e){return new $C.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new $C.IfcVolumeMeasure(e)},2593997549:function(e){return new $C.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new $C.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new $C.IfcWarpingMomentMeasure(e)},4065007721:function(e){return new $C.IfcYearNumber(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=a;var s=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=s;var o=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=o;var l=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=l;var u=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=u;var c=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=f;var p=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=p;var A=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDaylightSavingHour=d;var v=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=h;var y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=y;var w=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=E;var T=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=R;var C=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=_;var B=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=B;var O=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=O;var S=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=L;var M=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=M;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=x;var F=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=F;var H=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHourInDay=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=k;var j=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=Q;var W=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=z;var K=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=Z;var $=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=$;var ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=te;var ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=se;var oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMinuteInHour=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Ce;var _e=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Le;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=Me;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=xe;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSecondInMinute=Fe;var He=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ue;var Ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=Ke;var Ye=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=Ye;var Xe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=Xe;var qe=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=qe;var Je=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=Je;var Ze=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=at;var st=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=st;var ot=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=ot;var lt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=lt;var ut=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=ut;var ct=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcYearNumber=At;var dt=P((function e(){b(this,e)}));dt.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},dt.COMPLETION_G1={type:3,value:"COMPLETION_G1"},dt.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},dt.SNOW_S={type:3,value:"SNOW_S"},dt.WIND_W={type:3,value:"WIND_W"},dt.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},dt.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},dt.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},dt.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},dt.FIRE={type:3,value:"FIRE"},dt.IMPULSE={type:3,value:"IMPULSE"},dt.IMPACT={type:3,value:"IMPACT"},dt.TRANSPORT={type:3,value:"TRANSPORT"},dt.ERECTION={type:3,value:"ERECTION"},dt.PROPPING={type:3,value:"PROPPING"},dt.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},dt.SHRINKAGE={type:3,value:"SHRINKAGE"},dt.CREEP={type:3,value:"CREEP"},dt.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},dt.BUOYANCY={type:3,value:"BUOYANCY"},dt.ICE={type:3,value:"ICE"},dt.CURRENT={type:3,value:"CURRENT"},dt.WAVE={type:3,value:"WAVE"},dt.RAIN={type:3,value:"RAIN"},dt.BRAKES={type:3,value:"BRAKES"},dt.USERDEFINED={type:3,value:"USERDEFINED"},dt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=dt;var vt=P((function e(){b(this,e)}));vt.PERMANENT_G={type:3,value:"PERMANENT_G"},vt.VARIABLE_Q={type:3,value:"VARIABLE_Q"},vt.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},vt.USERDEFINED={type:3,value:"USERDEFINED"},vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=vt;var ht=P((function e(){b(this,e)}));ht.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},ht.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},ht.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},ht.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},ht.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},ht.USERDEFINED={type:3,value:"USERDEFINED"},ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=ht;var It=P((function e(){b(this,e)}));It.OFFICE={type:3,value:"OFFICE"},It.SITE={type:3,value:"SITE"},It.HOME={type:3,value:"HOME"},It.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},It.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=It;var yt=P((function e(){b(this,e)}));yt.AHEAD={type:3,value:"AHEAD"},yt.BEHIND={type:3,value:"BEHIND"},e.IfcAheadOrBehind=yt;var mt=P((function e(){b(this,e)}));mt.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},mt.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},mt.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},mt.USERDEFINED={type:3,value:"USERDEFINED"},mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=mt;var wt=P((function e(){b(this,e)}));wt.GRILLE={type:3,value:"GRILLE"},wt.REGISTER={type:3,value:"REGISTER"},wt.DIFFUSER={type:3,value:"DIFFUSER"},wt.EYEBALL={type:3,value:"EYEBALL"},wt.IRIS={type:3,value:"IRIS"},wt.LINEARGRILLE={type:3,value:"LINEARGRILLE"},wt.LINEARDIFFUSER={type:3,value:"LINEARDIFFUSER"},wt.USERDEFINED={type:3,value:"USERDEFINED"},wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=wt;var gt=P((function e(){b(this,e)}));gt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},gt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},gt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},gt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},gt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},gt.HEATPIPE={type:3,value:"HEATPIPE"},gt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},gt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},gt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},gt.USERDEFINED={type:3,value:"USERDEFINED"},gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=gt;var Et=P((function e(){b(this,e)}));Et.BELL={type:3,value:"BELL"},Et.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Et.LIGHT={type:3,value:"LIGHT"},Et.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Et.SIREN={type:3,value:"SIREN"},Et.WHISTLE={type:3,value:"WHISTLE"},Et.USERDEFINED={type:3,value:"USERDEFINED"},Et.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Et;var Tt=P((function e(){b(this,e)}));Tt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Tt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Tt.LOADING_3D={type:3,value:"LOADING_3D"},Tt.USERDEFINED={type:3,value:"USERDEFINED"},Tt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Tt;var bt=P((function e(){b(this,e)}));bt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},bt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},bt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},bt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},bt.USERDEFINED={type:3,value:"USERDEFINED"},bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=bt;var Dt=P((function e(){b(this,e)}));Dt.ADD={type:3,value:"ADD"},Dt.DIVIDE={type:3,value:"DIVIDE"},Dt.MULTIPLY={type:3,value:"MULTIPLY"},Dt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Dt;var Pt=P((function e(){b(this,e)}));Pt.SITE={type:3,value:"SITE"},Pt.FACTORY={type:3,value:"FACTORY"},Pt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Pt;var Rt=P((function e(){b(this,e)}));Rt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},Rt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},Rt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},Rt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},Rt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},Rt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=Rt;var Ct=P((function e(){b(this,e)}));Ct.BEAM={type:3,value:"BEAM"},Ct.JOIST={type:3,value:"JOIST"},Ct.LINTEL={type:3,value:"LINTEL"},Ct.T_BEAM={type:3,value:"T_BEAM"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.GREATERTHAN={type:3,value:"GREATERTHAN"},_t.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},_t.LESSTHAN={type:3,value:"LESSTHAN"},_t.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},_t.EQUALTO={type:3,value:"EQUALTO"},_t.NOTEQUALTO={type:3,value:"NOTEQUALTO"},e.IfcBenchmarkEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.WATER={type:3,value:"WATER"},Bt.STEAM={type:3,value:"STEAM"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.UNION={type:3,value:"UNION"},Ot.INTERSECTION={type:3,value:"INTERSECTION"},Ot.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=Ot;var St=P((function e(){b(this,e)}));St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.BEND={type:3,value:"BEND"},Nt.CROSS={type:3,value:"CROSS"},Nt.REDUCER={type:3,value:"REDUCER"},Nt.TEE={type:3,value:"TEE"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Lt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Lt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Lt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Lt;var Mt=P((function e(){b(this,e)}));Mt.CABLESEGMENT={type:3,value:"CABLESEGMENT"},Mt.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=Mt;var xt=P((function e(){b(this,e)}));xt.NOCHANGE={type:3,value:"NOCHANGE"},xt.MODIFIED={type:3,value:"MODIFIED"},xt.ADDED={type:3,value:"ADDED"},xt.DELETED={type:3,value:"DELETED"},xt.MODIFIEDADDED={type:3,value:"MODIFIEDADDED"},xt.MODIFIEDDELETED={type:3,value:"MODIFIEDDELETED"},e.IfcChangeActionEnum=xt;var Ft=P((function e(){b(this,e)}));Ft.AIRCOOLED={type:3,value:"AIRCOOLED"},Ft.WATERCOOLED={type:3,value:"WATERCOOLED"},Ft.HEATRECOVERY={type:3,value:"HEATRECOVERY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},Ht.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},Ht.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},Ht.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},Ht.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},Ht.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.COLUMN={type:3,value:"COLUMN"},Ut.USERDEFINED={type:3,value:"USERDEFINED"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.DYNAMIC={type:3,value:"DYNAMIC"},Gt.RECIPROCATING={type:3,value:"RECIPROCATING"},Gt.ROTARY={type:3,value:"ROTARY"},Gt.SCROLL={type:3,value:"SCROLL"},Gt.TROCHOIDAL={type:3,value:"TROCHOIDAL"},Gt.SINGLESTAGE={type:3,value:"SINGLESTAGE"},Gt.BOOSTER={type:3,value:"BOOSTER"},Gt.OPENTYPE={type:3,value:"OPENTYPE"},Gt.HERMETIC={type:3,value:"HERMETIC"},Gt.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},Gt.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},Gt.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},Gt.ROTARYVANE={type:3,value:"ROTARYVANE"},Gt.SINGLESCREW={type:3,value:"SINGLESCREW"},Gt.TWINSCREW={type:3,value:"TWINSCREW"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},kt.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},kt.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},kt.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},kt.AIRCOOLED={type:3,value:"AIRCOOLED"},kt.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ATPATH={type:3,value:"ATPATH"},jt.ATSTART={type:3,value:"ATSTART"},jt.ATEND={type:3,value:"ATEND"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.HARD={type:3,value:"HARD"},Vt.SOFT={type:3,value:"SOFT"},Vt.ADVISORY={type:3,value:"ADVISORY"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FLOATING={type:3,value:"FLOATING"},Qt.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Qt.PROPORTIONALINTEGRAL={type:3,value:"PROPORTIONALINTEGRAL"},Qt.PROPORTIONALINTEGRALDERIVATIVE={type:3,value:"PROPORTIONALINTEGRALDERIVATIVE"},Qt.TIMEDTWOPOSITION={type:3,value:"TIMEDTWOPOSITION"},Qt.TWOPOSITION={type:3,value:"TWOPOSITION"},Qt.USERDEFINED={type:3,value:"USERDEFINED"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.ACTIVE={type:3,value:"ACTIVE"},Wt.PASSIVE={type:3,value:"PASSIVE"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.NATURALDRAFT={type:3,value:"NATURALDRAFT"},zt.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},zt.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},zt.USERDEFINED={type:3,value:"USERDEFINED"},zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=zt;var Kt=P((function e(){b(this,e)}));Kt.BUDGET={type:3,value:"BUDGET"},Kt.COSTPLAN={type:3,value:"COSTPLAN"},Kt.ESTIMATE={type:3,value:"ESTIMATE"},Kt.TENDER={type:3,value:"TENDER"},Kt.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Kt.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Kt.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.CEILING={type:3,value:"CEILING"},Yt.FLOORING={type:3,value:"FLOORING"},Yt.CLADDING={type:3,value:"CLADDING"},Yt.ROOFING={type:3,value:"ROOFING"},Yt.INSULATION={type:3,value:"INSULATION"},Yt.MEMBRANE={type:3,value:"MEMBRANE"},Yt.SLEEVING={type:3,value:"SLEEVING"},Yt.WRAPPING={type:3,value:"WRAPPING"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.AED={type:3,value:"AED"},Xt.AES={type:3,value:"AES"},Xt.ATS={type:3,value:"ATS"},Xt.AUD={type:3,value:"AUD"},Xt.BBD={type:3,value:"BBD"},Xt.BEG={type:3,value:"BEG"},Xt.BGL={type:3,value:"BGL"},Xt.BHD={type:3,value:"BHD"},Xt.BMD={type:3,value:"BMD"},Xt.BND={type:3,value:"BND"},Xt.BRL={type:3,value:"BRL"},Xt.BSD={type:3,value:"BSD"},Xt.BWP={type:3,value:"BWP"},Xt.BZD={type:3,value:"BZD"},Xt.CAD={type:3,value:"CAD"},Xt.CBD={type:3,value:"CBD"},Xt.CHF={type:3,value:"CHF"},Xt.CLP={type:3,value:"CLP"},Xt.CNY={type:3,value:"CNY"},Xt.CYS={type:3,value:"CYS"},Xt.CZK={type:3,value:"CZK"},Xt.DDP={type:3,value:"DDP"},Xt.DEM={type:3,value:"DEM"},Xt.DKK={type:3,value:"DKK"},Xt.EGL={type:3,value:"EGL"},Xt.EST={type:3,value:"EST"},Xt.EUR={type:3,value:"EUR"},Xt.FAK={type:3,value:"FAK"},Xt.FIM={type:3,value:"FIM"},Xt.FJD={type:3,value:"FJD"},Xt.FKP={type:3,value:"FKP"},Xt.FRF={type:3,value:"FRF"},Xt.GBP={type:3,value:"GBP"},Xt.GIP={type:3,value:"GIP"},Xt.GMD={type:3,value:"GMD"},Xt.GRX={type:3,value:"GRX"},Xt.HKD={type:3,value:"HKD"},Xt.HUF={type:3,value:"HUF"},Xt.ICK={type:3,value:"ICK"},Xt.IDR={type:3,value:"IDR"},Xt.ILS={type:3,value:"ILS"},Xt.INR={type:3,value:"INR"},Xt.IRP={type:3,value:"IRP"},Xt.ITL={type:3,value:"ITL"},Xt.JMD={type:3,value:"JMD"},Xt.JOD={type:3,value:"JOD"},Xt.JPY={type:3,value:"JPY"},Xt.KES={type:3,value:"KES"},Xt.KRW={type:3,value:"KRW"},Xt.KWD={type:3,value:"KWD"},Xt.KYD={type:3,value:"KYD"},Xt.LKR={type:3,value:"LKR"},Xt.LUF={type:3,value:"LUF"},Xt.MTL={type:3,value:"MTL"},Xt.MUR={type:3,value:"MUR"},Xt.MXN={type:3,value:"MXN"},Xt.MYR={type:3,value:"MYR"},Xt.NLG={type:3,value:"NLG"},Xt.NZD={type:3,value:"NZD"},Xt.OMR={type:3,value:"OMR"},Xt.PGK={type:3,value:"PGK"},Xt.PHP={type:3,value:"PHP"},Xt.PKR={type:3,value:"PKR"},Xt.PLN={type:3,value:"PLN"},Xt.PTN={type:3,value:"PTN"},Xt.QAR={type:3,value:"QAR"},Xt.RUR={type:3,value:"RUR"},Xt.SAR={type:3,value:"SAR"},Xt.SCR={type:3,value:"SCR"},Xt.SEK={type:3,value:"SEK"},Xt.SGD={type:3,value:"SGD"},Xt.SKP={type:3,value:"SKP"},Xt.THB={type:3,value:"THB"},Xt.TRL={type:3,value:"TRL"},Xt.TTD={type:3,value:"TTD"},Xt.TWD={type:3,value:"TWD"},Xt.USD={type:3,value:"USD"},Xt.VEB={type:3,value:"VEB"},Xt.VND={type:3,value:"VND"},Xt.XEU={type:3,value:"XEU"},Xt.ZAR={type:3,value:"ZAR"},Xt.ZWD={type:3,value:"ZWD"},Xt.NOK={type:3,value:"NOK"},e.IfcCurrencyEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Jt.FIREDAMPER={type:3,value:"FIREDAMPER"},Jt.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Jt.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Jt.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Jt.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Jt.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Jt.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Jt.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Jt.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Jt.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.MEASURED={type:3,value:"MEASURED"},Zt.PREDICTED={type:3,value:"PREDICTED"},Zt.SIMULATED={type:3,value:"SIMULATED"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Zt;var $t=P((function e(){b(this,e)}));$t.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},$t.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},$t.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},$t.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},$t.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},$t.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},$t.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},$t.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},$t.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},$t.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},$t.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},$t.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},$t.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},$t.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},$t.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},$t.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},$t.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},$t.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},$t.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},$t.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},$t.TORQUEUNIT={type:3,value:"TORQUEUNIT"},$t.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},$t.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},$t.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},$t.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},$t.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},$t.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},$t.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},$t.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},$t.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},$t.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},$t.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},$t.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},$t.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},$t.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},$t.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},$t.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},$t.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},$t.PHUNIT={type:3,value:"PHUNIT"},$t.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},$t.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},$t.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},$t.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},$t.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},$t.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},$t.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},$t.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},$t.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},$t.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=$t;var en=P((function e(){b(this,e)}));en.ORIGIN={type:3,value:"ORIGIN"},en.TARGET={type:3,value:"TARGET"},e.IfcDimensionExtentUsage=en;var tn=P((function e(){b(this,e)}));tn.POSITIVE={type:3,value:"POSITIVE"},tn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=tn;var nn=P((function e(){b(this,e)}));nn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},nn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},nn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},nn.MANHOLE={type:3,value:"MANHOLE"},nn.METERCHAMBER={type:3,value:"METERCHAMBER"},nn.SUMP={type:3,value:"SUMP"},nn.TRENCH={type:3,value:"TRENCH"},nn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.PUBLIC={type:3,value:"PUBLIC"},rn.RESTRICTED={type:3,value:"RESTRICTED"},rn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},rn.PERSONAL={type:3,value:"PERSONAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=rn;var an=P((function e(){b(this,e)}));an.DRAFT={type:3,value:"DRAFT"},an.FINALDRAFT={type:3,value:"FINALDRAFT"},an.FINAL={type:3,value:"FINAL"},an.REVISION={type:3,value:"REVISION"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=an;var sn=P((function e(){b(this,e)}));sn.SWINGING={type:3,value:"SWINGING"},sn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},sn.SLIDING={type:3,value:"SLIDING"},sn.FOLDING={type:3,value:"FOLDING"},sn.REVOLVING={type:3,value:"REVOLVING"},sn.ROLLINGUP={type:3,value:"ROLLINGUP"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=sn;var on=P((function e(){b(this,e)}));on.LEFT={type:3,value:"LEFT"},on.MIDDLE={type:3,value:"MIDDLE"},on.RIGHT={type:3,value:"RIGHT"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=on;var ln=P((function e(){b(this,e)}));ln.ALUMINIUM={type:3,value:"ALUMINIUM"},ln.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},ln.STEEL={type:3,value:"STEEL"},ln.WOOD={type:3,value:"WOOD"},ln.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},ln.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},ln.PLASTIC={type:3,value:"PLASTIC"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=ln;var un=P((function e(){b(this,e)}));un.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},un.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},un.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},un.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},un.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},un.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},un.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},un.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},un.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},un.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},un.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},un.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},un.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},un.REVOLVING={type:3,value:"REVOLVING"},un.ROLLINGUP={type:3,value:"ROLLINGUP"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=un;var cn=P((function e(){b(this,e)}));cn.BEND={type:3,value:"BEND"},cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},fn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.FLATOVAL={type:3,value:"FLATOVAL"},pn.RECTANGULAR={type:3,value:"RECTANGULAR"},pn.ROUND={type:3,value:"ROUND"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=pn;var An=P((function e(){b(this,e)}));An.COMPUTER={type:3,value:"COMPUTER"},An.DIRECTWATERHEATER={type:3,value:"DIRECTWATERHEATER"},An.DISHWASHER={type:3,value:"DISHWASHER"},An.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},An.ELECTRICHEATER={type:3,value:"ELECTRICHEATER"},An.FACSIMILE={type:3,value:"FACSIMILE"},An.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},An.FREEZER={type:3,value:"FREEZER"},An.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},An.HANDDRYER={type:3,value:"HANDDRYER"},An.INDIRECTWATERHEATER={type:3,value:"INDIRECTWATERHEATER"},An.MICROWAVE={type:3,value:"MICROWAVE"},An.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},An.PRINTER={type:3,value:"PRINTER"},An.REFRIGERATOR={type:3,value:"REFRIGERATOR"},An.RADIANTHEATER={type:3,value:"RADIANTHEATER"},An.SCANNER={type:3,value:"SCANNER"},An.TELEPHONE={type:3,value:"TELEPHONE"},An.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},An.TV={type:3,value:"TV"},An.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},An.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},An.WATERHEATER={type:3,value:"WATERHEATER"},An.WATERCOOLER={type:3,value:"WATERCOOLER"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.ALTERNATING={type:3,value:"ALTERNATING"},dn.DIRECT={type:3,value:"DIRECT"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricCurrentEnum=dn;var vn=P((function e(){b(this,e)}));vn.ALARMPANEL={type:3,value:"ALARMPANEL"},vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},vn.CONTROLPANEL={type:3,value:"CONTROLPANEL"},vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},vn.GASDETECTORPANEL={type:3,value:"GASDETECTORPANEL"},vn.INDICATORPANEL={type:3,value:"INDICATORPANEL"},vn.MIMICPANEL={type:3,value:"MIMICPANEL"},vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionPointFunctionEnum=vn;var hn=P((function e(){b(this,e)}));hn.BATTERY={type:3,value:"BATTERY"},hn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},hn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},hn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},hn.UPS={type:3,value:"UPS"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=hn;var In=P((function e(){b(this,e)}));In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ELECTRICPOINTHEATER={type:3,value:"ELECTRICPOINTHEATER"},yn.ELECTRICCABLEHEATER={type:3,value:"ELECTRICCABLEHEATER"},yn.ELECTRICMATHEATER={type:3,value:"ELECTRICMATHEATER"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricHeaterTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.DC={type:3,value:"DC"},mn.INDUCTION={type:3,value:"INDUCTION"},mn.POLYPHASE={type:3,value:"POLYPHASE"},mn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},mn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.TIMECLOCK={type:3,value:"TIMECLOCK"},wn.TIMEDELAY={type:3,value:"TIMEDELAY"},wn.RELAY={type:3,value:"RELAY"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},gn.ARCH={type:3,value:"ARCH"},gn.BEAM_GRID={type:3,value:"BEAM_GRID"},gn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},gn.GIRDER={type:3,value:"GIRDER"},gn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},gn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},gn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},gn.TRUSS={type:3,value:"TRUSS"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=gn;var En=P((function e(){b(this,e)}));En.COMPLEX={type:3,value:"COMPLEX"},En.ELEMENT={type:3,value:"ELEMENT"},En.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=En;var Tn=P((function e(){b(this,e)}));Tn.PRIMARY={type:3,value:"PRIMARY"},Tn.SECONDARY={type:3,value:"SECONDARY"},Tn.TERTIARY={type:3,value:"TERTIARY"},Tn.AUXILIARY={type:3,value:"AUXILIARY"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnergySequenceEnum=Tn;var bn=P((function e(){b(this,e)}));bn.COMBINEDVALUE={type:3,value:"COMBINEDVALUE"},bn.DISPOSAL={type:3,value:"DISPOSAL"},bn.EXTRACTION={type:3,value:"EXTRACTION"},bn.INSTALLATION={type:3,value:"INSTALLATION"},bn.MANUFACTURE={type:3,value:"MANUFACTURE"},bn.TRANSPORTATION={type:3,value:"TRANSPORTATION"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEnvironmentalImpactCategoryEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},Dn.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},Dn.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},Dn.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},Dn.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},Dn.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},Dn.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},Dn.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Pn.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Pn.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Pn.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Pn.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Rn.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Rn.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Rn.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Rn.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Rn.VANEAXIAL={type:3,value:"VANEAXIAL"},Rn.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Cn.ODORFILTER={type:3,value:"ODORFILTER"},Cn.OILFILTER={type:3,value:"OILFILTER"},Cn.STRAINER={type:3,value:"STRAINER"},Cn.WATERFILTER={type:3,value:"WATERFILTER"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.BREECHINGINLET={type:3,value:"BREECHINGINLET"},_n.FIREHYDRANT={type:3,value:"FIREHYDRANT"},_n.HOSEREEL={type:3,value:"HOSEREEL"},_n.SPRINKLER={type:3,value:"SPRINKLER"},_n.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.SOURCE={type:3,value:"SOURCE"},Bn.SINK={type:3,value:"SINK"},Bn.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Bn;var On=P((function e(){b(this,e)}));On.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},On.THERMOMETER={type:3,value:"THERMOMETER"},On.AMMETER={type:3,value:"AMMETER"},On.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},On.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},On.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},On.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},On.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.ELECTRICMETER={type:3,value:"ELECTRICMETER"},Sn.ENERGYMETER={type:3,value:"ENERGYMETER"},Sn.FLOWMETER={type:3,value:"FLOWMETER"},Sn.GASMETER={type:3,value:"GASMETER"},Sn.OILMETER={type:3,value:"OILMETER"},Sn.WATERMETER={type:3,value:"WATERMETER"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Nn.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Nn.PILE_CAP={type:3,value:"PILE_CAP"},Nn.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.GASAPPLIANCE={type:3,value:"GASAPPLIANCE"},Ln.GASBOOSTER={type:3,value:"GASBOOSTER"},Ln.GASBURNER={type:3,value:"GASBURNER"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGasTerminalTypeEnum=Ln;var Mn=P((function e(){b(this,e)}));Mn.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Mn.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Mn.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Mn.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Mn.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Mn.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Mn.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Mn;var xn=P((function e(){b(this,e)}));xn.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},xn.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=xn;var Fn=P((function e(){b(this,e)}));Fn.PLATE={type:3,value:"PLATE"},Fn.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hn.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hn.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hn.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hn.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hn.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hn.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hn.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hn.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hn.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hn.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hn.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hn.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.INTERNAL={type:3,value:"INTERNAL"},Un.EXTERNAL={type:3,value:"EXTERNAL"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},Gn.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},Gn.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=Gn;var kn=P((function e(){b(this,e)}));kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},jn.FLUORESCENT={type:3,value:"FLUORESCENT"},jn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},jn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},jn.METALHALIDE={type:3,value:"METALHALIDE"},jn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.AXIS1={type:3,value:"AXIS1"},Vn.AXIS2={type:3,value:"AXIS2"},Vn.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.TYPE_A={type:3,value:"TYPE_A"},Qn.TYPE_B={type:3,value:"TYPE_B"},Qn.TYPE_C={type:3,value:"TYPE_C"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Wn.FLUORESCENT={type:3,value:"FLUORESCENT"},Wn.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Wn.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Wn.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Wn.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Wn.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Wn.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Wn.METALHALIDE={type:3,value:"METALHALIDE"},Wn.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Wn;var zn=P((function e(){b(this,e)}));zn.POINTSOURCE={type:3,value:"POINTSOURCE"},zn.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Kn.LOAD_CASE={type:3,value:"LOAD_CASE"},Kn.LOAD_COMBINATION_GROUP={type:3,value:"LOAD_COMBINATION_GROUP"},Kn.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.LOGICALAND={type:3,value:"LOGICALAND"},Yn.LOGICALOR={type:3,value:"LOGICALOR"},e.IfcLogicalOperatorEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.BRACE={type:3,value:"BRACE"},Xn.CHORD={type:3,value:"CHORD"},Xn.COLLAR={type:3,value:"COLLAR"},Xn.MEMBER={type:3,value:"MEMBER"},Xn.MULLION={type:3,value:"MULLION"},Xn.PLATE={type:3,value:"PLATE"},Xn.POST={type:3,value:"POST"},Xn.PURLIN={type:3,value:"PURLIN"},Xn.RAFTER={type:3,value:"RAFTER"},Xn.STRINGER={type:3,value:"STRINGER"},Xn.STRUT={type:3,value:"STRUT"},Xn.STUD={type:3,value:"STUD"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.BELTDRIVE={type:3,value:"BELTDRIVE"},qn.COUPLING={type:3,value:"COUPLING"},qn.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.NULL={type:3,value:"NULL"},e.IfcNullStyle=Jn;var Zn=P((function e(){b(this,e)}));Zn.PRODUCT={type:3,value:"PRODUCT"},Zn.PROCESS={type:3,value:"PROCESS"},Zn.CONTROL={type:3,value:"CONTROL"},Zn.RESOURCE={type:3,value:"RESOURCE"},Zn.ACTOR={type:3,value:"ACTOR"},Zn.GROUP={type:3,value:"GROUP"},Zn.PROJECT={type:3,value:"PROJECT"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},$n.DESIGNINTENT={type:3,value:"DESIGNINTENT"},$n.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},$n.REQUIREMENT={type:3,value:"REQUIREMENT"},$n.SPECIFICATION={type:3,value:"SPECIFICATION"},$n.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=$n;var er=P((function e(){b(this,e)}));er.ASSIGNEE={type:3,value:"ASSIGNEE"},er.ASSIGNOR={type:3,value:"ASSIGNOR"},er.LESSEE={type:3,value:"LESSEE"},er.LESSOR={type:3,value:"LESSOR"},er.LETTINGAGENT={type:3,value:"LETTINGAGENT"},er.OWNER={type:3,value:"OWNER"},er.TENANT={type:3,value:"TENANT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},tr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},tr.POWEROUTLET={type:3,value:"POWEROUTLET"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.GRILL={type:3,value:"GRILL"},nr.LOUVER={type:3,value:"LOUVER"},nr.SCREEN={type:3,value:"SCREEN"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=nr;var rr=P((function e(){b(this,e)}));rr.PHYSICAL={type:3,value:"PHYSICAL"},rr.VIRTUAL={type:3,value:"VIRTUAL"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=rr;var ir=P((function e(){b(this,e)}));ir.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},ir.COMPOSITE={type:3,value:"COMPOSITE"},ir.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},ir.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=ir;var ar=P((function e(){b(this,e)}));ar.COHESION={type:3,value:"COHESION"},ar.FRICTION={type:3,value:"FRICTION"},ar.SUPPORT={type:3,value:"SUPPORT"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.BEND={type:3,value:"BEND"},sr.CONNECTOR={type:3,value:"CONNECTOR"},sr.ENTRY={type:3,value:"ENTRY"},sr.EXIT={type:3,value:"EXIT"},sr.JUNCTION={type:3,value:"JUNCTION"},sr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},sr.TRANSITION={type:3,value:"TRANSITION"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=sr;var or=P((function e(){b(this,e)}));or.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},or.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},or.GUTTER={type:3,value:"GUTTER"},or.SPOOL={type:3,value:"SPOOL"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},lr.SHEET={type:3,value:"SHEET"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},ur.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},ur.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},ur.CALIBRATION={type:3,value:"CALIBRATION"},ur.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},ur.SHUTDOWN={type:3,value:"SHUTDOWN"},ur.STARTUP={type:3,value:"STARTUP"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CURVE={type:3,value:"CURVE"},cr.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CHANGE={type:3,value:"CHANGE"},fr.MAINTENANCE={type:3,value:"MAINTENANCE"},fr.MOVE={type:3,value:"MOVE"},fr.PURCHASE={type:3,value:"PURCHASE"},fr.WORK={type:3,value:"WORK"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderRecordTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHANGEORDER={type:3,value:"CHANGEORDER"},pr.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},pr.MOVEORDER={type:3,value:"MOVEORDER"},pr.PURCHASEORDER={type:3,value:"PURCHASEORDER"},pr.WORKORDER={type:3,value:"WORKORDER"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ar.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ar;var dr=P((function e(){b(this,e)}));dr.DESIGN={type:3,value:"DESIGN"},dr.DESIGNMAXIMUM={type:3,value:"DESIGNMAXIMUM"},dr.DESIGNMINIMUM={type:3,value:"DESIGNMINIMUM"},dr.SIMULATED={type:3,value:"SIMULATED"},dr.ASBUILT={type:3,value:"ASBUILT"},dr.COMMISSIONING={type:3,value:"COMMISSIONING"},dr.MEASURED={type:3,value:"MEASURED"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTKNOWN={type:3,value:"NOTKNOWN"},e.IfcPropertySourceEnum=dr;var vr=P((function e(){b(this,e)}));vr.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},vr.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},vr.EARTHFAILUREDEVICE={type:3,value:"EARTHFAILUREDEVICE"},vr.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},vr.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},vr.VARISTOR={type:3,value:"VARISTOR"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.CIRCULATOR={type:3,value:"CIRCULATOR"},hr.ENDSUCTION={type:3,value:"ENDSUCTION"},hr.SPLITCASE={type:3,value:"SPLITCASE"},hr.VERTICALINLINE={type:3,value:"VERTICALINLINE"},hr.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.HANDRAIL={type:3,value:"HANDRAIL"},Ir.GUARDRAIL={type:3,value:"GUARDRAIL"},Ir.BALUSTRADE={type:3,value:"BALUSTRADE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STRAIGHT={type:3,value:"STRAIGHT"},yr.SPIRAL={type:3,value:"SPIRAL"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},mr.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},mr.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},mr.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},mr.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},mr.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.BLINN={type:3,value:"BLINN"},wr.FLAT={type:3,value:"FLAT"},wr.GLASS={type:3,value:"GLASS"},wr.MATT={type:3,value:"MATT"},wr.METAL={type:3,value:"METAL"},wr.MIRROR={type:3,value:"MIRROR"},wr.PHONG={type:3,value:"PHONG"},wr.PLASTIC={type:3,value:"PLASTIC"},wr.STRAUSS={type:3,value:"STRAUSS"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=wr;var gr=P((function e(){b(this,e)}));gr.MAIN={type:3,value:"MAIN"},gr.SHEAR={type:3,value:"SHEAR"},gr.LIGATURE={type:3,value:"LIGATURE"},gr.STUD={type:3,value:"STUD"},gr.PUNCHING={type:3,value:"PUNCHING"},gr.EDGE={type:3,value:"EDGE"},gr.RING={type:3,value:"RING"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=gr;var Er=P((function e(){b(this,e)}));Er.PLAIN={type:3,value:"PLAIN"},Er.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CONSUMED={type:3,value:"CONSUMED"},Tr.PARTIALLYCONSUMED={type:3,value:"PARTIALLYCONSUMED"},Tr.NOTCONSUMED={type:3,value:"NOTCONSUMED"},Tr.OCCUPIED={type:3,value:"OCCUPIED"},Tr.PARTIALLYOCCUPIED={type:3,value:"PARTIALLYOCCUPIED"},Tr.NOTOCCUPIED={type:3,value:"NOTOCCUPIED"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcResourceConsumptionEnum=Tr;var br=P((function e(){b(this,e)}));br.DIRECTION_X={type:3,value:"DIRECTION_X"},br.DIRECTION_Y={type:3,value:"DIRECTION_Y"},e.IfcRibPlateDirectionEnum=br;var Dr=P((function e(){b(this,e)}));Dr.SUPPLIER={type:3,value:"SUPPLIER"},Dr.MANUFACTURER={type:3,value:"MANUFACTURER"},Dr.CONTRACTOR={type:3,value:"CONTRACTOR"},Dr.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},Dr.ARCHITECT={type:3,value:"ARCHITECT"},Dr.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},Dr.COSTENGINEER={type:3,value:"COSTENGINEER"},Dr.CLIENT={type:3,value:"CLIENT"},Dr.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},Dr.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},Dr.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},Dr.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},Dr.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},Dr.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},Dr.CIVILENGINEER={type:3,value:"CIVILENGINEER"},Dr.COMISSIONINGENGINEER={type:3,value:"COMISSIONINGENGINEER"},Dr.ENGINEER={type:3,value:"ENGINEER"},Dr.OWNER={type:3,value:"OWNER"},Dr.CONSULTANT={type:3,value:"CONSULTANT"},Dr.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},Dr.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},Dr.RESELLER={type:3,value:"RESELLER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Pr.SHED_ROOF={type:3,value:"SHED_ROOF"},Pr.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Pr.HIP_ROOF={type:3,value:"HIP_ROOF"},Pr.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Pr.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Pr.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Pr.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Pr.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Pr.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Pr.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Pr.DOME_ROOF={type:3,value:"DOME_ROOF"},Pr.FREEFORM={type:3,value:"FREEFORM"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.EXA={type:3,value:"EXA"},Rr.PETA={type:3,value:"PETA"},Rr.TERA={type:3,value:"TERA"},Rr.GIGA={type:3,value:"GIGA"},Rr.MEGA={type:3,value:"MEGA"},Rr.KILO={type:3,value:"KILO"},Rr.HECTO={type:3,value:"HECTO"},Rr.DECA={type:3,value:"DECA"},Rr.DECI={type:3,value:"DECI"},Rr.CENTI={type:3,value:"CENTI"},Rr.MILLI={type:3,value:"MILLI"},Rr.MICRO={type:3,value:"MICRO"},Rr.NANO={type:3,value:"NANO"},Rr.PICO={type:3,value:"PICO"},Rr.FEMTO={type:3,value:"FEMTO"},Rr.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMPERE={type:3,value:"AMPERE"},Cr.BECQUEREL={type:3,value:"BECQUEREL"},Cr.CANDELA={type:3,value:"CANDELA"},Cr.COULOMB={type:3,value:"COULOMB"},Cr.CUBIC_METRE={type:3,value:"CUBIC_METRE"},Cr.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},Cr.FARAD={type:3,value:"FARAD"},Cr.GRAM={type:3,value:"GRAM"},Cr.GRAY={type:3,value:"GRAY"},Cr.HENRY={type:3,value:"HENRY"},Cr.HERTZ={type:3,value:"HERTZ"},Cr.JOULE={type:3,value:"JOULE"},Cr.KELVIN={type:3,value:"KELVIN"},Cr.LUMEN={type:3,value:"LUMEN"},Cr.LUX={type:3,value:"LUX"},Cr.METRE={type:3,value:"METRE"},Cr.MOLE={type:3,value:"MOLE"},Cr.NEWTON={type:3,value:"NEWTON"},Cr.OHM={type:3,value:"OHM"},Cr.PASCAL={type:3,value:"PASCAL"},Cr.RADIAN={type:3,value:"RADIAN"},Cr.SECOND={type:3,value:"SECOND"},Cr.SIEMENS={type:3,value:"SIEMENS"},Cr.SIEVERT={type:3,value:"SIEVERT"},Cr.SQUARE_METRE={type:3,value:"SQUARE_METRE"},Cr.STERADIAN={type:3,value:"STERADIAN"},Cr.TESLA={type:3,value:"TESLA"},Cr.VOLT={type:3,value:"VOLT"},Cr.WATT={type:3,value:"WATT"},Cr.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=Cr;var _r=P((function e(){b(this,e)}));_r.BATH={type:3,value:"BATH"},_r.BIDET={type:3,value:"BIDET"},_r.CISTERN={type:3,value:"CISTERN"},_r.SHOWER={type:3,value:"SHOWER"},_r.SINK={type:3,value:"SINK"},_r.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},_r.TOILETPAN={type:3,value:"TOILETPAN"},_r.URINAL={type:3,value:"URINAL"},_r.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},_r.WCSEAT={type:3,value:"WCSEAT"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.UNIFORM={type:3,value:"UNIFORM"},Br.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.CO2SENSOR={type:3,value:"CO2SENSOR"},Or.FIRESENSOR={type:3,value:"FIRESENSOR"},Or.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Or.GASSENSOR={type:3,value:"GASSENSOR"},Or.HEATSENSOR={type:3,value:"HEATSENSOR"},Or.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Or.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Or.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Or.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Or.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Or.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Or.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Or.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.START_START={type:3,value:"START_START"},Sr.START_FINISH={type:3,value:"START_FINISH"},Sr.FINISH_START={type:3,value:"FINISH_START"},Sr.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.A_QUALITYOFCOMPONENTS={type:3,value:"A_QUALITYOFCOMPONENTS"},Nr.B_DESIGNLEVEL={type:3,value:"B_DESIGNLEVEL"},Nr.C_WORKEXECUTIONLEVEL={type:3,value:"C_WORKEXECUTIONLEVEL"},Nr.D_INDOORENVIRONMENT={type:3,value:"D_INDOORENVIRONMENT"},Nr.E_OUTDOORENVIRONMENT={type:3,value:"E_OUTDOORENVIRONMENT"},Nr.F_INUSECONDITIONS={type:3,value:"F_INUSECONDITIONS"},Nr.G_MAINTENANCELEVEL={type:3,value:"G_MAINTENANCELEVEL"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcServiceLifeFactorTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.ACTUALSERVICELIFE={type:3,value:"ACTUALSERVICELIFE"},Lr.EXPECTEDSERVICELIFE={type:3,value:"EXPECTEDSERVICELIFE"},Lr.OPTIMISTICREFERENCESERVICELIFE={type:3,value:"OPTIMISTICREFERENCESERVICELIFE"},Lr.PESSIMISTICREFERENCESERVICELIFE={type:3,value:"PESSIMISTICREFERENCESERVICELIFE"},Lr.REFERENCESERVICELIFE={type:3,value:"REFERENCESERVICELIFE"},e.IfcServiceLifeTypeEnum=Lr;var Mr=P((function e(){b(this,e)}));Mr.FLOOR={type:3,value:"FLOOR"},Mr.ROOF={type:3,value:"ROOF"},Mr.LANDING={type:3,value:"LANDING"},Mr.BASESLAB={type:3,value:"BASESLAB"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Mr;var xr=P((function e(){b(this,e)}));xr.DBA={type:3,value:"DBA"},xr.DBB={type:3,value:"DBB"},xr.DBC={type:3,value:"DBC"},xr.NC={type:3,value:"NC"},xr.NR={type:3,value:"NR"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSoundScaleEnum=xr;var Fr=P((function e(){b(this,e)}));Fr.SECTIONALRADIATOR={type:3,value:"SECTIONALRADIATOR"},Fr.PANELRADIATOR={type:3,value:"PANELRADIATOR"},Fr.TUBULARRADIATOR={type:3,value:"TUBULARRADIATOR"},Fr.CONVECTOR={type:3,value:"CONVECTOR"},Fr.BASEBOARDHEATER={type:3,value:"BASEBOARDHEATER"},Fr.FINNEDTUBEUNIT={type:3,value:"FINNEDTUBEUNIT"},Fr.UNITHEATER={type:3,value:"UNITHEATER"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BIRDCAGE={type:3,value:"BIRDCAGE"},Ur.COWL={type:3,value:"COWL"},Ur.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.STRAIGHT={type:3,value:"STRAIGHT"},Gr.WINDER={type:3,value:"WINDER"},Gr.SPIRAL={type:3,value:"SPIRAL"},Gr.CURVED={type:3,value:"CURVED"},Gr.FREEFORM={type:3,value:"FREEFORM"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},kr.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},kr.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},kr.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},kr.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},kr.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},kr.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},kr.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},kr.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},kr.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},kr.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},kr.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},kr.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},kr.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.READWRITE={type:3,value:"READWRITE"},jr.READONLY={type:3,value:"READONLY"},jr.LOCKED={type:3,value:"LOCKED"},jr.READWRITELOCKED={type:3,value:"READWRITELOCKED"},jr.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},Vr.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},Vr.CABLE={type:3,value:"CABLE"},Vr.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},Vr.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Qr.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Qr.SHELL={type:3,value:"SHELL"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.POSITIVE={type:3,value:"POSITIVE"},Wr.NEGATIVE={type:3,value:"NEGATIVE"},Wr.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=Wr;var zr=P((function e(){b(this,e)}));zr.BUMP={type:3,value:"BUMP"},zr.OPACITY={type:3,value:"OPACITY"},zr.REFLECTION={type:3,value:"REFLECTION"},zr.SELFILLUMINATION={type:3,value:"SELFILLUMINATION"},zr.SHININESS={type:3,value:"SHININESS"},zr.SPECULAR={type:3,value:"SPECULAR"},zr.TEXTURE={type:3,value:"TEXTURE"},zr.TRANSPARENCYMAP={type:3,value:"TRANSPARENCYMAP"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceTextureEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.CONTACTOR={type:3,value:"CONTACTOR"},Kr.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},Kr.STARTER={type:3,value:"STARTER"},Kr.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},Kr.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.PREFORMED={type:3,value:"PREFORMED"},Yr.SECTIONAL={type:3,value:"SECTIONAL"},Yr.EXPANSION={type:3,value:"EXPANSION"},Yr.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.STRAND={type:3,value:"STRAND"},Xr.WIRE={type:3,value:"WIRE"},Xr.BAR={type:3,value:"BAR"},Xr.COATED={type:3,value:"COATED"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.LEFT={type:3,value:"LEFT"},qr.RIGHT={type:3,value:"RIGHT"},qr.UP={type:3,value:"UP"},qr.DOWN={type:3,value:"DOWN"},e.IfcTextPath=qr;var Jr=P((function e(){b(this,e)}));Jr.PEOPLE={type:3,value:"PEOPLE"},Jr.LIGHTING={type:3,value:"LIGHTING"},Jr.EQUIPMENT={type:3,value:"EQUIPMENT"},Jr.VENTILATIONINDOORAIR={type:3,value:"VENTILATIONINDOORAIR"},Jr.VENTILATIONOUTSIDEAIR={type:3,value:"VENTILATIONOUTSIDEAIR"},Jr.RECIRCULATEDAIR={type:3,value:"RECIRCULATEDAIR"},Jr.EXHAUSTAIR={type:3,value:"EXHAUSTAIR"},Jr.AIREXCHANGERATE={type:3,value:"AIREXCHANGERATE"},Jr.DRYBULBTEMPERATURE={type:3,value:"DRYBULBTEMPERATURE"},Jr.RELATIVEHUMIDITY={type:3,value:"RELATIVEHUMIDITY"},Jr.INFILTRATION={type:3,value:"INFILTRATION"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadSourceEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.SENSIBLE={type:3,value:"SENSIBLE"},Zr.LATENT={type:3,value:"LATENT"},Zr.RADIANT={type:3,value:"RADIANT"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcThermalLoadTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CONTINUOUS={type:3,value:"CONTINUOUS"},$r.DISCRETE={type:3,value:"DISCRETE"},$r.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},$r.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},$r.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},$r.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},$r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.ANNUAL={type:3,value:"ANNUAL"},ei.MONTHLY={type:3,value:"MONTHLY"},ei.WEEKLY={type:3,value:"WEEKLY"},ei.DAILY={type:3,value:"DAILY"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesScheduleTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.CURRENT={type:3,value:"CURRENT"},ti.FREQUENCY={type:3,value:"FREQUENCY"},ti.VOLTAGE={type:3,value:"VOLTAGE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},ni.CONTINUOUS={type:3,value:"CONTINUOUS"},ni.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},ni.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=ni;var ri=P((function e(){b(this,e)}));ri.ELEVATOR={type:3,value:"ELEVATOR"},ri.ESCALATOR={type:3,value:"ESCALATOR"},ri.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.CARTESIAN={type:3,value:"CARTESIAN"},ii.PARAMETER={type:3,value:"PARAMETER"},ii.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ii;var ai=P((function e(){b(this,e)}));ai.FINNED={type:3,value:"FINNED"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ai;var si=P((function e(){b(this,e)}));si.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},si.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},si.AREAUNIT={type:3,value:"AREAUNIT"},si.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},si.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},si.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},si.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},si.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},si.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},si.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},si.ENERGYUNIT={type:3,value:"ENERGYUNIT"},si.FORCEUNIT={type:3,value:"FORCEUNIT"},si.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},si.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},si.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},si.LENGTHUNIT={type:3,value:"LENGTHUNIT"},si.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},si.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},si.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},si.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},si.MASSUNIT={type:3,value:"MASSUNIT"},si.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},si.POWERUNIT={type:3,value:"POWERUNIT"},si.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},si.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},si.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},si.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},si.TIMEUNIT={type:3,value:"TIMEUNIT"},si.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},si.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=si;var oi=P((function e(){b(this,e)}));oi.AIRHANDLER={type:3,value:"AIRHANDLER"},oi.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},oi.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},oi.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=oi;var li=P((function e(){b(this,e)}));li.AIRRELEASE={type:3,value:"AIRRELEASE"},li.ANTIVACUUM={type:3,value:"ANTIVACUUM"},li.CHANGEOVER={type:3,value:"CHANGEOVER"},li.CHECK={type:3,value:"CHECK"},li.COMMISSIONING={type:3,value:"COMMISSIONING"},li.DIVERTING={type:3,value:"DIVERTING"},li.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},li.DOUBLECHECK={type:3,value:"DOUBLECHECK"},li.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},li.FAUCET={type:3,value:"FAUCET"},li.FLUSHING={type:3,value:"FLUSHING"},li.GASCOCK={type:3,value:"GASCOCK"},li.GASTAP={type:3,value:"GASTAP"},li.ISOLATING={type:3,value:"ISOLATING"},li.MIXING={type:3,value:"MIXING"},li.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},li.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},li.REGULATING={type:3,value:"REGULATING"},li.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},li.STEAMTRAP={type:3,value:"STEAMTRAP"},li.STOPCOCK={type:3,value:"STOPCOCK"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.COMPRESSION={type:3,value:"COMPRESSION"},ui.SPRING={type:3,value:"SPRING"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.STANDARD={type:3,value:"STANDARD"},ci.POLYGONAL={type:3,value:"POLYGONAL"},ci.SHEAR={type:3,value:"SHEAR"},ci.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},ci.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.FLOORTRAP={type:3,value:"FLOORTRAP"},fi.FLOORWASTE={type:3,value:"FLOORWASTE"},fi.GULLYSUMP={type:3,value:"GULLYSUMP"},fi.GULLYTRAP={type:3,value:"GULLYTRAP"},fi.GREASEINTERCEPTOR={type:3,value:"GREASEINTERCEPTOR"},fi.OILINTERCEPTOR={type:3,value:"OILINTERCEPTOR"},fi.PETROLINTERCEPTOR={type:3,value:"PETROLINTERCEPTOR"},fi.ROOFDRAIN={type:3,value:"ROOFDRAIN"},fi.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},fi.WASTETRAP={type:3,value:"WASTETRAP"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},pi.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},pi.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},pi.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},pi.TOPHUNG={type:3,value:"TOPHUNG"},pi.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},pi.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},pi.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},pi.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},pi.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},pi.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},pi.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},pi.OTHEROPERATION={type:3,value:"OTHEROPERATION"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.LEFT={type:3,value:"LEFT"},Ai.MIDDLE={type:3,value:"MIDDLE"},Ai.RIGHT={type:3,value:"RIGHT"},Ai.BOTTOM={type:3,value:"BOTTOM"},Ai.TOP={type:3,value:"TOP"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Ai;var di=P((function e(){b(this,e)}));di.ALUMINIUM={type:3,value:"ALUMINIUM"},di.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},di.STEEL={type:3,value:"STEEL"},di.WOOD={type:3,value:"WOOD"},di.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},di.PLASTIC={type:3,value:"PLASTIC"},di.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=di;var vi=P((function e(){b(this,e)}));vi.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},vi.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},vi.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},vi.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},vi.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},vi.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},vi.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},vi.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},vi.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=vi;var hi=P((function e(){b(this,e)}));hi.ACTUAL={type:3,value:"ACTUAL"},hi.BASELINE={type:3,value:"BASELINE"},hi.PLANNED={type:3,value:"PLANNED"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkControlTypeEnum=hi;var Ii=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=Ii;var yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=yi;var mi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=mi;var wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.AppliedValue=a,u.UnitBasis=s,u.ApplicableDate=o,u.FixedUntilDate=l,u.type=411424972,u}return P(n)}();e.IfcAppliedValue=wi;var gi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ComponentOfTotal=r,l.Components=i,l.ArithmeticOperator=a,l.Name=s,l.Description=o,l.type=1110488051,l}return P(n)}();e.IfcAppliedValueRelationship=gi;var Ei=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Description=r,c.ApprovalDateTime=i,c.ApprovalStatus=a,c.ApprovalLevel=s,c.ApprovalQualifier=o,c.Name=l,c.Identifier=u,c.type=130549933,c}return P(n)}();e.IfcApproval=Ei;var Ti=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Actor=r,s.Approval=i,s.Role=a,s.type=2080292479,s}return P(n)}();e.IfcApprovalActorRelationship=Ti;var bi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ApprovedProperties=r,a.Approval=i,a.type=390851274,a}return P(n)}();e.IfcApprovalPropertyRelationship=bi;var Di=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatedApproval=r,o.RelatingApproval=i,o.Description=a,o.Name=s,o.type=3869604511,o}return P(n)}();e.IfcApprovalRelationship=Di;var Pi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=Pi;var Ri=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessByLengthX=i,c.LinearStiffnessByLengthY=a,c.LinearStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(Pi);e.IfcBoundaryEdgeCondition=Ri;var Ci=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.LinearStiffnessByAreaX=i,o.LinearStiffnessByAreaY=a,o.LinearStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(Pi);e.IfcBoundaryFaceCondition=Ci;var _i=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearStiffnessX=i,c.LinearStiffnessY=a,c.LinearStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(Pi);e.IfcBoundaryNodeCondition=_i;var Bi=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.LinearStiffnessX=i,f.LinearStiffnessY=a,f.LinearStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(_i);e.IfcBoundaryNodeConditionWarping=Bi;var Oi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).DayComponent=r,s.MonthComponent=i,s.YearComponent=a,s.type=622194075,s}return P(n)}();e.IfcCalendarDate=Oi;var Si=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Source=r,o.Edition=i,o.EditionDate=a,o.Name=s,o.type=747523909,o}return P(n)}();e.IfcClassification=Si;var Ni=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Notation=r,s.ItemOf=i,s.Title=a,s.type=1767535486,s}return P(n)}();e.IfcClassificationItem=Ni;var Li=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelatingItem=r,a.RelatedItems=i,a.type=1098599126,a}return P(n)}();e.IfcClassificationItemRelationship=Li;var Mi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationFacets=r,i.type=938368621,i}return P(n)}();e.IfcClassificationNotation=Mi;var xi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).NotationValue=r,i.type=3639012971,i}return P(n)}();e.IfcClassificationNotationFacet=xi;var Fi=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}();e.IfcColourSpecification=Fi;var Hi=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=Hi;var Ui=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(Hi);e.IfcConnectionPointGeometry=Ui;var Gi=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).LocationAtRelatingElement=r,s.LocationAtRelatedElement=i,s.ProfileOfPort=a,s.type=4257277454,s}return P(n)}(Hi);e.IfcConnectionPortGeometry=Gi;var ki=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(Hi);e.IfcConnectionSurfaceGeometry=ki;var ji=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=ji;var Vi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.RelatingConstraint=a,l.RelatedConstraints=s,l.LogicalAggregator=o,l.type=1658513725,l}return P(n)}();e.IfcConstraintAggregationRelationship=Vi;var Qi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ClassifiedConstraint=r,a.RelatedClassifications=i,a.type=613356794,a}return P(n)}();e.IfcConstraintClassificationRelationship=Qi;var Wi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedConstraints=s,o.type=347226245,o}return P(n)}();e.IfcConstraintRelationship=Wi;var zi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).HourOffset=r,s.MinuteOffset=i,s.Sense=a,s.type=1065062679,s}return P(n)}();e.IfcCoordinatedUniversalTimeOffset=zi;var Ki=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).Name=r,f.Description=i,f.AppliedValue=a,f.UnitBasis=s,f.ApplicableDate=o,f.FixedUntilDate=l,f.CostType=u,f.Condition=c,f.type=602808272,f}return P(n)}(wi);e.IfcCostValue=Ki;var Yi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RelatingMonetaryUnit=r,l.RelatedMonetaryUnit=i,l.ExchangeRate=a,l.RateDateTime=s,l.RateSource=o,l.type=539742890,l}return P(n)}();e.IfcCurrencyRelationship=Yi;var Xi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}();e.IfcCurveStyleFont=Xi;var qi=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}();e.IfcCurveStyleFontAndScaling=qi;var Ji=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}();e.IfcCurveStyleFontPattern=Ji;var Zi=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).DateComponent=r,a.TimeComponent=i,a.type=1072939445,a}return P(n)}();e.IfcDateAndTime=Zi;var $i=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=$i;var ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=ea;var ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=ta;var na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).FileExtension=r,s.MimeContentType=i,s.MimeSubtype=a,s.type=1376555844,s}return P(n)}();e.IfcDocumentElectronicFormat=na;var ra=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).DocumentId=r,w.Name=i,w.Description=a,w.DocumentReferences=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}();e.IfcDocumentInformation=ra;var ia=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).RelatingDocument=r,s.RelatedDocuments=i,s.RelationshipType=a,s.type=770865208,s}return P(n)}();e.IfcDocumentInformationRelationship=ia;var aa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=3796139169,o}return P(n)}();e.IfcDraughtingCalloutRelationship=aa;var sa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).Name=r,p.Description=i,p.AppliedValue=a,p.UnitBasis=s,p.ApplicableDate=o,p.FixedUntilDate=l,p.ImpactType=u,p.Category=c,p.UserDefinedCategory=f,p.type=1648886627,p}return P(n)}(wi);e.IfcEnvironmentalImpactValue=sa;var oa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.ItemReference=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=oa;var la=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=2242383968,s}return P(n)}(oa);e.IfcExternallyDefinedHatchStyle=la;var ua=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=1040185647,s}return P(n)}(oa);e.IfcExternallyDefinedSurfaceStyle=ua;var ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3207319532,s}return P(n)}(oa);e.IfcExternallyDefinedSymbol=ca;var fa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3548104201,s}return P(n)}(oa);e.IfcExternallyDefinedTextFont=fa;var pa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=pa;var Aa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=Aa;var da=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Version=i,l.Publisher=a,l.VersionDate=s,l.LibraryReference=o,l.type=2655187982,l}return P(n)}();e.IfcLibraryInformation=da;var va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3452421091,s}return P(n)}(oa);e.IfcLibraryReference=va;var ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=ha;var Ia=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Ia;var ya=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HourComponent=r,l.MinuteComponent=i,l.SecondComponent=a,l.Zone=s,l.DaylightSavingOffset=o,l.type=30780891,l}return P(n)}();e.IfcLocalTime=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=1838606355,i}return P(n)}();e.IfcMaterial=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Material=r,s.LayerThickness=i,s.IsVentilated=a,s.type=248100487,s}return P(n)}();e.IfcMaterialLayer=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialLayers=r,a.LayerSetName=i,a.type=3303938423,a}return P(n)}();e.IfcMaterialLayerSet=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ForLayerSet=r,o.LayerSetDirection=i,o.DirectionSense=a,o.OffsetFromReferenceLine=s,o.type=1303795690,o}return P(n)}();e.IfcMaterialLayerSetUsage=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=ba;var Da=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Material=r,i.type=3265635763,i}return P(n)}();e.IfcMaterialProperties=Da;var Pa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.DynamicViscosity=i,u.YoungModulus=a,u.ShearModulus=s,u.PoissonRatio=o,u.ThermalExpansionCoefficient=l,u.type=4256014907,u}return P(n)}(Da);e.IfcMechanicalMaterialProperties=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).Material=r,h.DynamicViscosity=i,h.YoungModulus=a,h.ShearModulus=s,h.PoissonRatio=o,h.ThermalExpansionCoefficient=l,h.YieldStress=u,h.UltimateStress=c,h.UltimateStrain=f,h.HardeningModule=p,h.ProportionalStress=A,h.PlasticStrain=d,h.Relaxations=v,h.type=677618848,h}return P(n)}(Ra);e.IfcMechanicalSteelMaterialProperties=Ca;var _a=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).Name=r,A.Description=i,A.ConstraintGrade=a,A.ConstraintSource=s,A.CreatingActor=o,A.CreationTime=l,A.UserDefinedGrade=u,A.Benchmark=c,A.ValueSource=f,A.DataValue=p,A.type=3368373690,A}return P(n)}(ji);e.IfcMetric=_a;var Ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=Ba;var Oa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=Oa;var Sa=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=Sa;var Na=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.ResultValues=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(ji);e.IfcObjective=Na;var La=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r)).Material=r,A.VisibleTransmittance=i,A.SolarTransmittance=a,A.ThermalIrTransmittance=s,A.ThermalIrEmissivityBack=o,A.ThermalIrEmissivityFront=l,A.VisibleReflectanceBack=u,A.VisibleReflectanceFront=c,A.SolarReflectanceFront=f,A.SolarReflectanceBack=p,A.type=1227763645,A}return P(n)}(Da);e.IfcOpticalMaterialProperties=La;var Ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Id=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=Ma;var xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}();e.IfcOrganizationRelationship=xa;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Id=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=Ga;var ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(Ga);e.IfcPhysicalSimpleQuantity=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(yi);e.IfcPostalAddress=ja;var Va=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}();e.IfcPreDefinedItem=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=990879717,i}return P(n)}(Va);e.IfcPreDefinedSymbol=Qa;var Wa=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=3213052703,i}return P(n)}(Qa);e.IfcPreDefinedTerminatorSymbol=Wa;var za=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(Va);e.IfcPreDefinedTextFont=za;var Ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Ka);e.IfcPresentationLayerWithStyle=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=qa;var Ja=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ja;var Za=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.N20Content=a,l.COContent=s,l.CO2Content=o,l.type=2267347899,l}return P(n)}(Da);e.IfcProductsOfCombustionProperties=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=$a;var es=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileName=r,a.ProfileDefinition=i,a.type=2802850158,a}return P(n)}();e.IfcProfileProperties=es;var ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}();e.IfcProperty=ts;var ns=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RelatingConstraint=r,o.RelatedProperties=i,o.Name=a,o.Description=s,o.type=3896028662,o}return P(n)}();e.IfcPropertyConstraintRelationship=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DependingProperty=r,l.DependantProperty=i,l.Name=a,l.Description=s,l.Expression=o,l.type=148025276,l}return P(n)}();e.IfcPropertyDependencyRelationship=rs;var is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}();e.IfcPropertyEnumeration=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.AreaValue=s,o.type=2044713172,o}return P(n)}(ka);e.IfcQuantityArea=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.CountValue=s,o.type=2093928680,o}return P(n)}(ka);e.IfcQuantityCount=ss;var os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.LengthValue=s,o.type=931644368,o}return P(n)}(ka);e.IfcQuantityLength=os;var ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.TimeValue=s,o.type=3252649465,o}return P(n)}(ka);e.IfcQuantityTime=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.VolumeValue=s,o.type=2405470396,o}return P(n)}(ka);e.IfcQuantityVolume=us;var cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Unit=a,o.WeightValue=s,o.type=825690147,o}return P(n)}(ka);e.IfcQuantityWeight=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ReferencedDocument=r,o.ReferencingValues=i,o.Name=a,o.Description=s,o.type=2692823254,o}return P(n)}();e.IfcReferencesValueDocument=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}();e.IfcReinforcementBarProperties=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RelaxationValue=r,a.InitialStress=i,a.type=1222501353,a}return P(n)}();e.IfcRelaxation=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=Is;var ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.Thickness=a,c.RibHeight=s,c.RibWidth=o,c.RibSpacing=l,c.Direction=u,c.type=3679540991,c}return P(n)}(es);e.IfcRibPlateProfileProperties=ys;var ms=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(Oa);e.IfcSIUnit=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}();e.IfcSectionProperties=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}();e.IfcSectionReinforcementProperties=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ts;var bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(ds);e.IfcShapeModel=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(bs);e.IfcShapeRepresentation=Ds;var Ps=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(ts);e.IfcSimpleProperty=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Cs;var _s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Cs);e.IfcStructuralLoadStatic=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaT_Constant=i,o.DeltaT_Y=a,o.DeltaT_Z=s,o.type=3408363356,o}return P(n)}(_s);e.IfcStructuralLoadTemperature=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(ds);e.IfcStyleModel=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(hs);e.IfcStyledItem=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(Os);e.IfcStyledRepresentation=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Xa);e.IfcSurfaceStyle=Ls;var Ms=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}();e.IfcSurfaceStyleLighting=Ms;var xs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}();e.IfcSurfaceStyleRefraction=xs;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SurfaceColour=r,i.type=846575682,i}return P(n)}();e.IfcSurfaceStyleShading=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}();e.IfcSurfaceStyleWithTextures=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).RepeatS=r,o.RepeatT=i,o.TextureType=a,o.TextureTransform=s,o.type=626085974,o}return P(n)}();e.IfcSurfaceTexture=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.StyleOfSymbol=i,a.type=1290481447,a}return P(n)}(Xa);e.IfcSymbolStyle=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Rows=i,a.type=985171141,a}return P(n)}();e.IfcTable=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).Purpose=r,f.Description=i,f.UserDefinedPurpose=a,f.TelephoneNumbers=s,f.FacsimileNumbers=o,f.PagerNumber=l,f.ElectronicMailAddresses=u,f.WWWHomePageURL=c,f.type=912023232,f}return P(n)}(yi);e.IfcTelecomAddress=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TextCharacterAppearance=i,o.TextStyle=a,o.TextFontStyle=s,o.type=1447204868,o}return P(n)}(Xa);e.IfcTextStyle=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(za);e.IfcTextStyleFontModel=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}();e.IfcTextStyleForDefinedFont=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}();e.IfcTextStyleTextModel=Ks;var Ys=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BoxHeight=r,l.BoxWidth=i,l.BoxSlantAngle=a,l.BoxRotateAngle=s,l.CharacterSpacing=o,l.type=1484833681,l}return P(n)}();e.IfcTextStyleWithBoxCharacteristics=Ys;var Xs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=280115917,r}return P(n)}();e.IfcTextureCoordinate=Xs;var qs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Mode=r,a.Parameter=i,a.type=1742049831,a}return P(n)}(Xs);e.IfcTextureCoordinateGenerator=qs;var Js=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TextureMaps=r,i.type=2552916305,i}return P(n)}(Xs);e.IfcTextureMap=Js;var Zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}();e.IfcTextureVertex=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.SpecificHeatCapacity=i,l.BoilingPoint=a,l.FreezingPoint=s,l.ThermalConductivity=o,l.type=3317419933,l}return P(n)}(Da);e.IfcThermalMaterialProperties=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ReferencedTimeSeries=r,a.TimeSeriesReferences=i,a.type=1718945513,a}return P(n)}();e.IfcTimeSeriesReferenceRelationship=to;var no=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=no;var ro=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(hs);e.IfcTopologicalRepresentationItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(bs);e.IfcTopologyRepresentation=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=ao;var so=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(ro);e.IfcVertex=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TextureVertices=r,a.TexturePoints=i,a.type=3304826586,a}return P(n)}();e.IfcVertexBasedTextureMap=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(so);e.IfcVertexPoint=lo;var uo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r)).Material=r,f.IsPotable=i,f.Hardness=a,f.AlkalinityConcentration=s,f.AcidityConcentration=o,f.ImpuritiesContent=l,f.PHLevel=u,f.DissolvedSolidsContent=c,f.type=1065908215,f}return P(n)}(Da);e.IfcWaterProperties=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2442683028,s}return P(n)}(Ss);e.IfcAnnotationOccurrence=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=962685235,s}return P(n)}(fo);e.IfcAnnotationSurfaceOccurrence=po;var Ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3612888222,s}return P(n)}(fo);e.IfcAnnotationSymbolOccurrence=Ao;var vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=2297822566,s}return P(n)}(fo);e.IfcAnnotationTextOccurrence=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}($a);e.IfcArbitraryClosedProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}($a);e.IfcArbitraryOpenProfileDef=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(ho);e.IfcArbitraryProfileDefWithVoids=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).RepeatS=r,u.RepeatT=i,u.TextureType=a,u.TextureTransform=s,u.RasterFormat=o,u.RasterCode=l,u.type=616511568,u}return P(n)}(Us);e.IfcBlobTexture=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Io);e.IfcCenterLineProfileDef=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Location=r,o.ItemReference=i,o.Name=a,o.ReferencedSource=s,o.type=647927063,o}return P(n)}(oa);e.IfcClassificationReference=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Fi);e.IfcColourRgb=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(ts);e.IfcComplexProperty=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}($a);e.IfcCompositeProfileDef=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(ro);e.IfcConnectedFaceSet=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(Hi);e.IfcConnectionCurveGeometry=Po;var Ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ui);e.IfcConnectionPointEccentricity=Ro;var Co=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(Oa);e.IfcContextDependentUnit=Co;var _o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(Oa);e.IfcConversionBasedUnit=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.CurveFont=i,o.CurveWidth=a,o.CurveColour=s,o.type=3800577675,o}return P(n)}(Xa);e.IfcCurveStyle=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}($a);e.IfcDerivedProfileDef=Oo;var So=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=2273265877,o}return P(n)}(aa);e.IfcDimensionCalloutRelationship=So;var No=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.Description=i,o.RelatingDraughtingCallout=a,o.RelatedDraughtingCallout=s,o.type=1694125774,o}return P(n)}(aa);e.IfcDimensionPair=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.ItemReference=i,s.Name=a,s.type=3732053477,s}return P(n)}(oa);e.IfcDocumentReference=Lo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4170525392,i}return P(n)}(za);e.IfcDraughtingPreDefinedTextFont=Mo;var xo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(ro);e.IfcEdge=xo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(xo);e.IfcEdgeCurve=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.ExtendedProperties=i,o.Description=a,o.Name=s,o.type=1860660968,o}return P(n)}(Da);e.IfcExtendedMaterialProperties=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(ro);e.IfcFace=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(ro);e.IfcFaceBound=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(Go);e.IfcFaceOuterBound=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(Uo);e.IfcFaceSurface=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Rs);e.IfcFailureConnectionCondition=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Name=r,a.FillStyles=i,a.type=738692330,a}return P(n)}(Xa);e.IfcFillAreaStyle=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Material=r,l.CombustionTemperature=i,l.CarbonContent=a,l.LowerHeatingValue=s,l.HigherHeatingValue=o,l.type=3857492461,l}return P(n)}(Da);e.IfcFuelProperties=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Material=r,o.MolecularWeight=i,o.Porosity=a,o.MassDensity=s,o.type=803998398,o}return P(n)}(Da);e.IfcGeneralMaterialProperties=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileName=r,c.ProfileDefinition=i,c.PhysicalWeight=a,c.Perimeter=s,c.MinimumPlateThickness=o,c.MaximumPlateThickness=l,c.CrossSectionArea=u,c.type=1446786286,c}return P(n)}(es);e.IfcGeneralProfileProperties=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(vs);e.IfcGeometricRepresentationContext=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(hs);e.IfcGeometricRepresentationItem=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new h(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(Yo);e.IfcGeometricRepresentationSubContext=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(Xo);e.IfcGeometricSet=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(Sa);e.IfcGridPlacement=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(Xo);e.IfcHalfSpaceSolid=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Material=r,u.UpperVaporResistanceFactor=i,u.LowerVaporResistanceFactor=a,u.IsothermalMoistureCapacity=s,u.VaporPermeability=o,u.MoistureDiffusivity=l,u.type=2445078500,u}return P(n)}(Da);e.IfcHygroscopicMaterialProperties=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).RepeatS=r,l.RepeatT=i,l.TextureType=a,l.TextureTransform=s,l.UrlReference=o,l.type=3905492369,l}return P(n)}(Us);e.IfcImageTexture=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(eo);e.IfcIrregularTimeSeries=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(Xo);e.IfcLightSource=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(rl);e.IfcLightSourceAmbient=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(rl);e.IfcLightSourceDirectional=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(rl);e.IfcLightSourceGoniometric=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(rl);e.IfcLightSourcePositional=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(ol);e.IfcLightSourceSpot=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(Sa);e.IfcLocalPlacement=ul;var cl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(ro);e.IfcLoop=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(hs);e.IfcMappedItem=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ja);e.IfcMaterialDefinitionRepresentation=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l)).Material=r,v.DynamicViscosity=i,v.YoungModulus=a,v.ShearModulus=s,v.PoissonRatio=o,v.ThermalExpansionCoefficient=l,v.CompressiveStrength=u,v.MaxAggregateSize=c,v.AdmixturesDescription=f,v.Workability=p,v.ProtectivePoreRatio=A,v.WaterImpermeability=d,v.type=1430189142,v}return P(n)}(Ra);e.IfcMechanicalConcreteMaterialProperties=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(ms);e.IfcObjectDefinition=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).RepeatFactor=r,i.type=2833995503,i}return P(n)}(Xo);e.IfcOneDirectionRepeatFactor=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Do);e.IfcOpenShell=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(xo);e.IfcOrientedEdge=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}($a);e.IfcParameterizedProfileDef=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(ro);e.IfcPath=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(Ga);e.IfcPhysicalComplexQuantity=wl;var gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).RepeatS=r,f.RepeatT=i,f.TextureType=a,f.TextureTransform=s,f.Width=o,f.Height=l,f.ColourComponents=u,f.Pixel=c,f.type=597895409,f}return P(n)}(Us);e.IfcPixelTexture=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(Xo);e.IfcPlacement=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(Xo);e.IfcPlanarExtent=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(Xo);e.IfcPoint=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(bl);e.IfcPointOnCurve=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(bl);e.IfcPointOnSurface=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(cl);e.IfcPolyLoop=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}($o);e.IfcPolygonalBoundedHalfSpace=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(Va);e.IfcPreDefinedColour=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(Va);e.IfcPreDefinedCurveFont=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=433424934,i}return P(n)}(Qa);e.IfcPreDefinedDimensionSymbol=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=179317114,i}return P(n)}(Qa);e.IfcPreDefinedPointMarkerSymbol=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ja);e.IfcProductDefinitionShape=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.UpperBoundValue=a,l.LowerBoundValue=s,l.Unit=o,l.type=871118103,l}return P(n)}(Ps);e.IfcPropertyBoundedValue=Ll;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(ms);e.IfcPropertyDefinition=Ml;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Ps);e.IfcPropertyEnumeratedValue=xl;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Ps);e.IfcPropertyListValue=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Ps);e.IfcPropertyReferenceValue=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(Ml);e.IfcPropertySetDefinition=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Ps);e.IfcPropertySingleValue=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.DefiningValues=a,c.DefinedValues=s,c.Expression=o,c.DefiningUnit=l,c.DefinedUnit=u,c.type=110355661,c}return P(n)}(Ps);e.IfcPropertyTableValue=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(yl);e.IfcRectangleProfileDef=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(eo);e.IfcRegularTimeSeries=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Ul);e.IfcReinforcementDefinitionProperties=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(ms);e.IfcRelationship=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(jl);e.IfcRoundedRectangleProfileDef=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(Xo);e.IfcSectionedSpine=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.PredefinedType=o,f.UpperValue=l,f.MostUsedValue=u,f.LowerValue=c,f.type=2411513650,f}return P(n)}(Ul);e.IfcServiceLifeFactor=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(Xo);e.IfcShellBasedSurfaceModel=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Rs);e.IfcSlippageConnectionCondition=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(Xo);e.IfcSolidModel=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.IsAttenuating=o,c.SoundScale=l,c.SoundValues=u,c.type=2485662743,c}return P(n)}(Ul);e.IfcSoundProperties=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.SoundLevelTimeSeries=o,c.Frequency=l,c.SoundLevelSingleValue=u,c.type=1202362311,c}return P(n)}(Ul);e.IfcSoundValue=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ApplicableValueRatio=o,I.ThermalLoadSource=l,I.PropertySource=u,I.SourceDescription=c,I.MaximumValue=f,I.MinimumValue=p,I.ThermalLoadTimeSeriesValues=A,I.UserDefinedThermalLoadSource=d,I.UserDefinedPropertySource=v,I.ThermalLoadType=h,I.type=390701378,I}return P(n)}(Ul);e.IfcSpaceThermalLoadProperties=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(_s);e.IfcStructuralLoadLinearForce=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(_s);e.IfcStructuralLoadPlanarForce=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(_s);e.IfcStructuralLoadSingleDisplacement=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(ru);e.IfcStructuralLoadSingleDisplacementDistortion=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(_s);e.IfcStructuralLoadSingleForce=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(au);e.IfcStructuralLoadSingleForceWarping=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o,l,u)).ProfileName=r,R.ProfileDefinition=i,R.PhysicalWeight=a,R.Perimeter=s,R.MinimumPlateThickness=o,R.MaximumPlateThickness=l,R.CrossSectionArea=u,R.TorsionalConstantX=c,R.MomentOfInertiaYZ=f,R.MomentOfInertiaY=p,R.MomentOfInertiaZ=A,R.WarpingConstant=d,R.ShearCentreZ=v,R.ShearCentreY=h,R.ShearDeformationAreaZ=I,R.ShearDeformationAreaY=y,R.MaximumSectionModulusY=m,R.MinimumSectionModulusY=w,R.MaximumSectionModulusZ=g,R.MinimumSectionModulusZ=E,R.TorsionalSectionModulus=T,R.CentreOfGravityInX=D,R.CentreOfGravityInY=P,R.type=3843319758,R}return P(n)}(Ko);e.IfcStructuralProfileProperties=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P,R,C,_,B){var O;return b(this,n),(O=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P)).ProfileName=r,O.ProfileDefinition=i,O.PhysicalWeight=a,O.Perimeter=s,O.MinimumPlateThickness=o,O.MaximumPlateThickness=l,O.CrossSectionArea=u,O.TorsionalConstantX=c,O.MomentOfInertiaYZ=f,O.MomentOfInertiaY=p,O.MomentOfInertiaZ=A,O.WarpingConstant=d,O.ShearCentreZ=v,O.ShearCentreY=h,O.ShearDeformationAreaZ=I,O.ShearDeformationAreaY=y,O.MaximumSectionModulusY=m,O.MinimumSectionModulusY=w,O.MaximumSectionModulusZ=g,O.MinimumSectionModulusZ=E,O.TorsionalSectionModulus=T,O.CentreOfGravityInX=D,O.CentreOfGravityInY=P,O.ShearAreaZ=R,O.ShearAreaY=C,O.PlasticShapeFactorY=_,O.PlasticShapeFactorZ=B,O.type=3653947884,O}return P(n)}(ou);e.IfcStructuralSteelProfileProperties=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(xo);e.IfcSubedge=uu;var cu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(Xo);e.IfcSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(Fs);e.IfcSurfaceStyleRendering=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Jl);e.IfcSweptAreaSolid=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Jl);e.IfcSweptDiskSolid=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(cu);e.IfcSweptSurface=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a)).ProfileType=r,h.ProfileName=i,h.Position=a,h.Depth=s,h.FlangeWidth=o,h.WebThickness=l,h.FlangeThickness=u,h.FilletRadius=c,h.FlangeEdgeRadius=f,h.WebEdgeRadius=p,h.WebSlope=A,h.FlangeSlope=d,h.CentreOfGravityInY=v,h.type=3071757647,h}return P(n)}(yl);e.IfcTShapeProfileDef=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Item=r,o.Styles=i,o.Name=a,o.AnnotatedCurve=s,o.type=3028897424,o}return P(n)}(Ao);e.IfcTerminatorSymbol=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(Xo);e.IfcTextLiteral=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(Iu);e.IfcTextLiteralWithExtent=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(yl);e.IfcTrapeziumProfileDef=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).RepeatFactor=r,a.SecondRepeatFactor=i,a.type=1345879162,a}return P(n)}(vl);e.IfcTwoDirectionRepeatFactor=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(dl);e.IfcTypeObject=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(gu);e.IfcTypeProduct=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.FlangeWidth=o,d.WebThickness=l,d.FlangeThickness=u,d.FilletRadius=c,d.EdgeRadius=f,d.FlangeSlope=p,d.CentreOfGravityInX=A,d.type=427810014,d}return P(n)}(yl);e.IfcUShapeProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(Xo);e.IfcVector=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(cl);e.IfcVertexLoop=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.LiningDepth=o,h.LiningThickness=l,h.TransomThickness=u,h.MullionThickness=c,h.FirstTransomOffset=f,h.SecondTransomOffset=p,h.FirstMullionOffset=A,h.SecondMullionOffset=d,h.ShapeAspectStyle=v,h.type=336235671,h}return P(n)}(Ul);e.IfcWindowLiningProperties=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Ul);e.IfcWindowPanelProperties=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(Eu);e.IfcWindowStyle=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(yl);e.IfcZShapeProfileDef=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=3288037868,s}return P(n)}(fo);e.IfcAnnotationCurveOccurrence=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(Xo);e.IfcAnnotationFillArea=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Item=r,l.Styles=i,l.Name=a,l.FillStyleTarget=s,l.GlobalOrLocal=o,l.type=2265737646,l}return P(n)}(fo);e.IfcAnnotationFillAreaOccurrence=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Item=r,a.TextureCoordinates=i,a.type=1302238472,a}return P(n)}(Xo);e.IfcAnnotationSurface=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(El);e.IfcAxis1Placement=Lu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(El);e.IfcAxis2Placement2D=Mu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(El);e.IfcAxis2Placement3D=xu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(Xo);e.IfcBooleanResult=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(cu);e.IfcBoundedSurface=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(Xo);e.IfcBoundingBox=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}($o);e.IfcBoxedHalfSpace=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.WallThickness=l,p.Girth=u,p.InternalFilletRadius=c,p.CentreOfGravityInX=f,p.type=2898889636,p}return P(n)}(yl);e.IfcCShapeProfileDef=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(bl);e.IfcCartesianPoint=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(Xo);e.IfcCartesianTransformationOperator=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Vu);e.IfcCartesianTransformationOperator2D=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Qu);e.IfcCartesianTransformationOperator2DnonUniform=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Vu);e.IfcCartesianTransformationOperator3D=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(zu);e.IfcCartesianTransformationOperator3DnonUniform=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(yl);e.IfcCircleProfileDef=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Do);e.IfcClosedShell=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Xo);e.IfcCompositeCurveSegment=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.OverallHeight=s,y.BaseWidth2=o,y.Radius=l,y.HeadWidth=u,y.HeadDepth2=c,y.HeadDepth3=f,y.WebThickness=p,y.BaseWidth4=A,y.BaseDepth1=d,y.BaseDepth2=v,y.BaseDepth3=h,y.CentreOfGravityInY=I,y.type=4133800736,y}return P(n)}(yl);e.IfcCraneRailAShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallHeight=s,v.HeadWidth=o,v.Radius=l,v.HeadDepth2=u,v.HeadDepth3=c,v.WebThickness=f,v.BaseDepth1=p,v.BaseDepth2=A,v.CentreOfGravityInY=d,v.type=194851669,v}return P(n)}(yl);e.IfcCraneRailFShapeProfileDef=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(Xo);e.IfcCsgPrimitive3D=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Jl);e.IfcCsgSolid=ec;var tc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(Xo);e.IfcCurve=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(Hu);e.IfcCurveBoundedPlane=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Definition=r,a.Target=i,a.type=693772133,a}return P(n)}(Xo);e.IfcDefinedSymbol=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=606661476,s}return P(n)}(Bu);e.IfcDimensionCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Item=r,l.Styles=i,l.Name=a,l.AnnotatedCurve=s,l.Role=o,l.type=4054601972,l}return P(n)}(hu);e.IfcDimensionCurveTerminator=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(Xo);e.IfcDirection=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.LiningDepth=o,y.LiningThickness=l,y.ThresholdDepth=u,y.ThresholdThickness=c,y.TransomThickness=f,y.TransomOffset=p,y.LiningOffset=A,y.ThresholdOffset=d,y.CasingThickness=v,y.CasingDepth=h,y.ShapeAspectStyle=I,y.type=2963535650,y}return P(n)}(Ul);e.IfcDoorLiningProperties=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Ul);e.IfcDoorPanelProperties=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(Eu);e.IfcDoorStyle=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Contents=r,i.type=3073041342,i}return P(n)}(Xo);e.IfcDraughtingCallout=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(_l);e.IfcDraughtingPreDefinedColour=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Bl);e.IfcDraughtingPreDefinedCurveFont=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(cl);e.IfcEdgeLoop=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Ul);e.IfcElementQuantity=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(Eu);e.IfcElementType=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(cu);e.IfcElementarySurface=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(yl);e.IfcEllipseProfileDef=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.EnergySequence=o,u.UserDefinedEnergySequence=l,u.type=80994333,u}return P(n)}(Ul);e.IfcEnergyProperties=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(pu);e.IfcExtrudedAreaSolid=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(Xo);e.IfcFaceBasedSurfaceModel=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(Xo);e.IfcFillAreaStyleHatching=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Symbol=r,i.type=4203026998,i}return P(n)}(Xo);e.IfcFillAreaStyleTileSymbolWithStyle=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(Xo);e.IfcFillAreaStyleTiles=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g){var E;return b(this,n),(E=t.call(this,e,r,i,a,s)).GlobalId=r,E.OwnerHistory=i,E.Name=a,E.Description=s,E.PropertySource=o,E.FlowConditionTimeSeries=l,E.VelocityTimeSeries=u,E.FlowrateTimeSeries=c,E.Fluid=f,E.PressureTimeSeries=p,E.UserDefinedPropertySource=A,E.TemperatureSingleValue=d,E.WetBulbTemperatureSingleValue=v,E.WetBulbTemperatureTimeSeries=h,E.TemperatureTimeSeries=I,E.FlowrateSingleValue=y,E.FlowConditionSingleValue=m,E.VelocitySingleValue=w,E.PressureSingleValue=g,E.type=3455213021,E}return P(n)}(Ul);e.IfcFluidFlowProperties=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(vc);e.IfcFurnishingElementType=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.AssemblyPlace=p,A.type=1268542332,A}return P(n)}(Dc);e.IfcFurnitureType=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Jo);e.IfcGeometricCurveSet=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.OverallWidth=s,f.OverallDepth=o,f.WebThickness=l,f.FlangeThickness=u,f.FilletRadius=c,f.type=1484403080,f}return P(n)}(yl);e.IfcIShapeProfileDef=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a)).ProfileType=r,d.ProfileName=i,d.Position=a,d.Depth=s,d.Width=o,d.Thickness=l,d.FilletRadius=u,d.EdgeRadius=c,d.LegSlope=f,d.CentreOfGravityInX=p,d.CentreOfGravityInY=A,d.type=572779678,d}return P(n)}(yl);e.IfcLShapeProfileDef=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(tc);e.IfcLine=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Jl);e.IfcManifoldSolidBrep=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(dl);e.IfcObject=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(tc);e.IfcOffsetCurve2D=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(tc);e.IfcOffsetCurve3D=Lc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Ul);e.IfcPermeableCoveringProperties=Mc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(Tl);e.IfcPlanarBox=xc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(hc);e.IfcPlane=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2945172077,l}return P(n)}(Sc);e.IfcProcess=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(Sc);e.IfcProduct=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Sc);e.IfcProject=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Item=r,s.Styles=i,s.Name=a,s.type=4194566429,s}return P(n)}(Bu);e.IfcProjectionCurve=kc;var jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(Ul);e.IfcPropertySet=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Uc);e.IfcProxy=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(jl);e.IfcRectangleHollowProfileDef=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}($u);e.IfcRectangularPyramid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(Hu);e.IfcRectangularTrimmedSurface=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Wl);e.IfcRelAssigns=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Kc);e.IfcRelAssignsToActor=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Kc);e.IfcRelAssignsToControl=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Kc);e.IfcRelAssignsToGroup=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Kc);e.IfcRelAssignsToProcess=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Kc);e.IfcRelAssignsToProduct=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=3372526763,c}return P(n)}(Xc);e.IfcRelAssignsToProjectOrder=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Kc);e.IfcRelAssignsToResource=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Wl);e.IfcRelAssociates=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingAppliedValue=l,u.type=1327628568,u}return P(n)}(tf);e.IfcRelAssociatesAppliedValue=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(tf);e.IfcRelAssociatesApproval=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(tf);e.IfcRelAssociatesClassification=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(tf);e.IfcRelAssociatesConstraint=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(tf);e.IfcRelAssociatesDocument=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(tf);e.IfcRelAssociatesLibrary=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(tf);e.IfcRelAssociatesMaterial=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatingProfileProperties=l,f.ProfileSectionLocation=u,f.ProfileOrientation=c,f.type=2851387026,f}return P(n)}(tf);e.IfcRelAssociatesProfileProperties=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Wl);e.IfcRelConnects=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(ff);e.IfcRelConnectsElements=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(pf);e.IfcRelConnectsPathElements=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(ff);e.IfcRelConnectsPortToElement=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(ff);e.IfcRelConnectsPorts=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(ff);e.IfcRelConnectsStructuralActivity=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralMember=l,u.type=3912681535,u}return P(n)}(ff);e.IfcRelConnectsStructuralElement=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(ff);e.IfcRelConnectsStructuralMember=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(yf);e.IfcRelConnectsWithEccentricity=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(pf);e.IfcRelConnectsWithRealizingElements=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(ff);e.IfcRelContainedInSpatialStructure=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(ff);e.IfcRelCoversBldgElements=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(ff);e.IfcRelCoversSpaces=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=2551354335,u}return P(n)}(Wl);e.IfcRelDecomposes=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=693640335,l}return P(n)}(Wl);e.IfcRelDefines=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(Df);e.IfcRelDefinesByProperties=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(Df);e.IfcRelDefinesByType=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(ff);e.IfcRelFillsElement=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(ff);e.IfcRelFlowControlElements=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.DailyInteraction=o,p.ImportanceRating=l,p.LocationOfInteraction=u,p.RelatedSpaceProgram=c,p.RelatingSpaceProgram=f,p.type=4189434867,p}return P(n)}(ff);e.IfcRelInteractionRequirements=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(bf);e.IfcRelNests=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=2051452291,f}return P(n)}(Yc);e.IfcRelOccupiesSpaces=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatingPropertyDefinition=l,c.OverridingProperties=u,c.type=202636808,c}return P(n)}(Pf);e.IfcRelOverridesProperties=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(ff);e.IfcRelProjectsElement=Lf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(ff);e.IfcRelReferencedInSpatialStructure=Mf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=1058617721,c}return P(n)}(Xc);e.IfcRelSchedulesCostItems=xf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatingProcess=o,f.RelatedProcess=l,f.TimeLag=u,f.SequenceType=c,f.type=4122056220,f}return P(n)}(ff);e.IfcRelSequence=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(ff);e.IfcRelServicesBuildings=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(ff);e.IfcRelSpaceBoundary=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(ff);e.IfcRelVoidsElement=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2914609552,l}return P(n)}(Sc);e.IfcResource=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(pu);e.IfcRevolvedAreaSolid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}($u);e.IfcRightCircularCone=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}($u);e.IfcRightCircularCylinder=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Uc);e.IfcSpatialStructureElement=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(vc);e.IfcSpatialStructureElementType=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}($u);e.IfcSphere=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Uc);e.IfcStructuralActivity=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Uc);e.IfcStructuralItem=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(Xf);e.IfcStructuralMember=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Yf);e.IfcStructuralReaction=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(qf);e.IfcStructuralSurfaceMember=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.PredefinedType=c,d.Thickness=f,d.SubsequentThickness=p,d.VaryingThicknessLocation=A,d.type=2218152070,d}return P(n)}(Zf);e.IfcStructuralSurfaceMemberVarying=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4070609034,i}return P(n)}(cc);e.IfcStructuredDimensionCallout=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(pu);e.IfcSurfaceCurveSweptAreaSolid=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(du);e.IfcSurfaceOfLinearExtrusion=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(du);e.IfcSurfaceOfRevolution=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1580310250,p}return P(n)}(Dc);e.IfcSystemFurnitureElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.TaskId=l,A.Status=u,A.WorkMethod=c,A.IsMilestone=f,A.Priority=p,A.type=3473067441,A}return P(n)}(Hc);e.IfcTask=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(vc);e.IfcTransportElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(Sc);e.IfcActor=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Uc);e.IfcAnnotation=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).ProfileType=r,v.ProfileName=i,v.Position=a,v.OverallWidth=s,v.OverallDepth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.TopFlangeWidth=f,v.TopFlangeThickness=p,v.TopFlangeFilletRadius=A,v.CentreOfGravityInY=d,v.type=3207858831,v}return P(n)}(Cc);e.IfcAsymmetricIShapeProfileDef=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}($u);e.IfcBlock=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(Fu);e.IfcBooleanClippingResult=fp;var pp=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(tc);e.IfcBoundedCurve=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Wf);e.IfcBuilding=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(vc);e.IfcBuildingElementType=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(Wf);e.IfcBuildingStorey=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Yu);e.IfcCircleHollowProfileDef=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(dp);e.IfcColumnType=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(pp);e.IfcCompositeCurve=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(tc);e.IfcConic=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=2559216714,p}return P(n)}(kf);e.IfcConstructionResource=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3293443760,l}return P(n)}(Sc);e.IfcControl=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3895139033,l}return P(n)}(gp);e.IfcCostItem=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.SubmittedBy=l,h.PreparedBy=u,h.SubmittedOn=c,h.Status=f,h.TargetUsers=p,h.UpdateDate=A,h.ID=d,h.PredefinedType=v,h.type=1419761937,h}return P(n)}(gp);e.IfcCostSchedule=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(dp);e.IfcCoveringType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3295246426,p}return P(n)}(wp);e.IfcCrewResource=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(dp);e.IfcCurtainWallType=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=681481545,i}return P(n)}(cc);e.IfcDimensionCurveDirectedCallout=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(vc);e.IfcDistributionElementType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(Cp);e.IfcDistributionFlowElementType=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.EnergySequence=o,I.UserDefinedEnergySequence=l,I.ElectricCurrentType=u,I.InputVoltage=c,I.InputFrequency=f,I.FullLoadCurrent=p,I.MinimumCircuitCurrent=A,I.MaximumPowerInput=d,I.RatedPowerInput=v,I.InputPhase=h,I.type=360485395,I}return P(n)}(yc);e.IfcElectricalBaseProperties=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Uc);e.IfcElement=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Op);e.IfcElementAssembly=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Op);e.IfcElementComponent=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(vc);e.IfcElementComponentType=Lp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(mp);e.IfcEllipse=Mp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(_p);e.IfcEnergyConversionDeviceType=xp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1962604670,f}return P(n)}(Op);e.IfcEquipmentElement=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3272907226,l}return P(n)}(gp);e.IfcEquipmentStandard=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(xp);e.IfcEvaporativeCoolerType=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(xp);e.IfcEvaporatorType=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(Oc);e.IfcFacetedBrep=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(Oc);e.IfcFacetedBrepWithVoids=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=647756555,f}return P(n)}(Np);e.IfcFastener=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2489546625,p}return P(n)}(Lp);e.IfcFastenerType=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Op);e.IfcFeatureElement=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(Wp);e.IfcFeatureElementAddition=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(Wp);e.IfcFeatureElementSubtraction=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(_p);e.IfcFlowControllerType=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(_p);e.IfcFlowFittingType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Yp);e.IfcFlowMeterType=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(_p);e.IfcFlowMovingDeviceType=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(_p);e.IfcFlowSegmentType=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(_p);e.IfcFlowStorageDeviceType=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(_p);e.IfcFlowTerminalType=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(_p);e.IfcFlowTreatmentDeviceType=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Op);e.IfcFurnishingElement=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=814719939,l}return P(n)}(gp);e.IfcFurnitureStandard=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=200128114,A}return P(n)}(eA);e.IfcGasTerminalType=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.UAxes=c,A.VAxes=f,A.WAxes=p,A.type=3009204131,A}return P(n)}(Uc);e.IfcGrid=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(Sc);e.IfcGroup=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(xp);e.IfcHeatExchangerType=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(xp);e.IfcHumidifierType=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.InventoryType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(sA);e.IfcInventory=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Xp);e.IfcJunctionBoxType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ResourceIdentifier=l,A.ResourceGroup=u,A.ResourceConsumption=c,A.BaseQuantity=f,A.SkillSet=p,A.type=3827777499,A}return P(n)}(wp);e.IfcLaborResource=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(eA);e.IfcLampType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(eA);e.IfcLightFixtureType=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2506943328,i}return P(n)}(Rp);e.IfcLinearDimension=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.NominalDiameter=f,A.NominalLength=p,A.type=377706215,A}return P(n)}(Vp);e.IfcMechanicalFastener=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2108223431,p}return P(n)}(Qp);e.IfcMechanicalFastenerType=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(dp);e.IfcMemberType=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(xp);e.IfcMotorConnectionType=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.TaskId=l,h.Status=u,h.WorkMethod=c,h.IsMilestone=f,h.Priority=p,h.MoveFrom=A,h.MoveTo=d,h.PunchList=v,h.type=1916936684,h}return P(n)}(ap);e.IfcMove=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(op);e.IfcOccupant=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3588315303,f}return P(n)}(Kp);e.IfcOpeningElement=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.TaskId=l,d.Status=u,d.WorkMethod=c,d.IsMilestone=f,d.Priority=p,d.ActionID=A,d.type=3425660407,d}return P(n)}(ap);e.IfcOrderAction=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(eA);e.IfcOutletType=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LifeCyclePhase=l,u.type=2382730787,u}return P(n)}(gp);e.IfcPerformanceHistory=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.PermitID=l,u.type=3327091369,u}return P(n)}(gp);e.IfcPermit=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Xp);e.IfcPipeFittingType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Zp);e.IfcPipeSegmentType=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(dp);e.IfcPlateType=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(pp);e.IfcPolyline=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Uc);e.IfcPort=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ProcedureID=l,f.ProcedureType=u,f.UserDefinedProcedureType=c,f.type=2744685151,f}return P(n)}(Hc);e.IfcProcedure=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ID=l,f.PredefinedType=u,f.Status=c,f.type=2904328755,f}return P(n)}(gp);e.IfcProjectOrder=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Records=l,c.PredefinedType=u,c.type=3642467123,c}return P(n)}(gp);e.IfcProjectOrderRecord=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3651124850,f}return P(n)}(zp);e.IfcProjectionElement=LA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Yp);e.IfcProtectiveDeviceType=MA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Jp);e.IfcPumpType=xA;var FA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=3248260540,i}return P(n)}(Rp);e.IfcRadiusDimension=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(dp);e.IfcRailingType=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(dp);e.IfcRampFlightType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(bf);e.IfcRelAggregates=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingControl=u,f.TimeForTask=c,f.type=2863920197,f}return P(n)}(Xc);e.IfcRelAssignsTasks=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(eA);e.IfcSanitaryTerminalType=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T,D,P){var R;return b(this,n),(R=t.call(this,e,r,i,a,s,o)).GlobalId=r,R.OwnerHistory=i,R.Name=a,R.Description=s,R.ObjectType=o,R.ActualStart=l,R.EarlyStart=u,R.LateStart=c,R.ScheduleStart=f,R.ActualFinish=p,R.EarlyFinish=A,R.LateFinish=d,R.ScheduleFinish=v,R.ScheduleDuration=h,R.ActualDuration=I,R.RemainingTime=y,R.FreeFloat=m,R.TotalFloat=w,R.IsCritical=g,R.StatusTime=E,R.StartFloat=T,R.FinishFloat=D,R.Completion=P,R.type=3517283431,R}return P(n)}(gp);e.IfcScheduleTimeControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ServiceLifeType=l,c.ServiceLifeDuration=u,c.type=4105383287,c}return P(n)}(gp);e.IfcServiceLife=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(Wf);e.IfcSite=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(dp);e.IfcSlabType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.InteriorOrExteriorSpace=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(Wf);e.IfcSpace=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(xp);e.IfcSpaceHeaterType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.SpaceProgramIdentifier=l,A.MaxRequiredArea=u,A.MinRequiredArea=c,A.RequestedLocation=f,A.StandardRequiredArea=p,A.type=652456506,A}return P(n)}(gp);e.IfcSpaceProgram=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3812236995,A}return P(n)}(zf);e.IfcSpaceType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(eA);e.IfcStackTerminalType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(dp);e.IfcStairFlightType=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=682877961,d}return P(n)}(Yf);e.IfcStructuralAction=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(Xf);e.IfcStructuralConnection=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=4243806635,f}return P(n)}(ed);e.IfcStructuralCurveConnection=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=214636428,f}return P(n)}(qf);e.IfcStructuralCurveMember=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=2445595289,f}return P(n)}(nd);e.IfcStructuralCurveMemberVarying=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1807405624,v}return P(n)}($A);e.IfcStructuralLinearAction=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=1721250024,I}return P(n)}(id);e.IfcStructuralLinearActionVarying=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(sA);e.IfcStructuralLoadGroup=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.CausedBy=A,v.ProjectedOrTrue=d,v.type=1621171031,v}return P(n)}($A);e.IfcStructuralPlanarAction=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.AppliedLoad=c,I.GlobalOrLocal=f,I.DestabilizingLoad=p,I.CausedBy=A,I.ProjectedOrTrue=d,I.VaryingAppliedLoadLocation=v,I.SubsequentAppliedLoads=h,I.type=3987759626,I}return P(n)}(od);e.IfcStructuralPlanarActionVarying=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.AppliedLoad=c,d.GlobalOrLocal=f,d.DestabilizingLoad=p,d.CausedBy=A,d.type=2082059205,d}return P(n)}($A);e.IfcStructuralPointAction=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=734778138,f}return P(n)}(ed);e.IfcStructuralPointConnection=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(Jf);e.IfcStructuralPointReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(sA);e.IfcStructuralResultGroup=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(ed);e.IfcStructuralSurfaceConnection=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.SubContractor=p,d.JobDescription=A,d.type=148013059,d}return P(n)}(wp);e.IfcSubContractResource=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Yp);e.IfcSwitchingDeviceType=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(sA);e.IfcSystem=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}($p);e.IfcTankType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ApplicableDates=l,f.TimeSeriesScheduleType=u,f.TimeSeries=c,f.type=1637806684,f}return P(n)}(gp);e.IfcTimeSeriesSchedule=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(xp);e.IfcTransformerType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.OperationType=f,d.CapacityByWeight=p,d.CapacityByNumber=A,d.type=1620046519,d}return P(n)}(Op);e.IfcTransportElement=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(pp);e.IfcTrimmedCurve=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(xp);e.IfcTubeBundleType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(xp);e.IfcUnitaryEquipmentType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Yp);e.IfcValveType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(Op);e.IfcVirtualElement=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(dp);e.IfcWallType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(eA);e.IfcWasteTerminalType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=1028945134,y}return P(n)}(gp);e.IfcWorkControl=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=4218914973,y}return P(n)}(Cd);e.IfcWorkPlan=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I)).GlobalId=r,y.OwnerHistory=i,y.Name=a,y.Description=s,y.ObjectType=o,y.Identifier=l,y.CreationDate=u,y.Creators=c,y.Purpose=f,y.Duration=p,y.TotalFloat=A,y.StartTime=d,y.FinishTime=v,y.WorkControlType=h,y.UserDefinedControlType=I,y.type=3342526732,y}return P(n)}(Cd);e.IfcWorkSchedule=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1033361043,l}return P(n)}(sA);e.IfcZone=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1213861670,a}return P(n)}(yp);e.Ifc2DCompositeCurve=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.RequestID=l,u.type=3821786052,u}return P(n)}(gp);e.IfcActionRequest=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Yp);e.IfcAirTerminalBoxType=Ld;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(eA);e.IfcAirTerminalType=Md;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(xp);e.IfcAirToAirHeatRecoveryType=xd;var Fd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=2470393545,i}return P(n)}(Rp);e.IfcAngularDimension=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.AssetID=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(sA);e.IfcAsset=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(pp);e.IfcBSplineCurve=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(dp);e.IfcBeamType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1916977116,l}return P(n)}(Ud);e.IfcBezierCurve=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(xp);e.IfcBoilerType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(Op);e.IfcBuildingElement=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=52481810,f}return P(n)}(Vd);e.IfcBuildingElementComponent=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2979338954,f}return P(n)}(Qd);e.IfcBuildingElementPart=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.CompositionType=f,p.type=1095909175,p}return P(n)}(Vd);e.IfcBuildingElementProxy=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(dp);e.IfcBuildingElementProxyType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Xp);e.IfcCableCarrierFittingType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Zp);e.IfcCableCarrierSegmentType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Zp);e.IfcCableSegmentType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(xp);e.IfcChillerType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(mp);e.IfcCircle=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(xp);e.IfcCoilType=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=843113511,f}return P(n)}(Vd);e.IfcColumn=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Jp);e.IfcCompressorType=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(xp);e.IfcCondenserType=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2188551683,l}return P(n)}(sA);e.IfcCondition=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Criterion=l,c.CriterionDateTime=u,c.type=1163958913,c}return P(n)}(gp);e.IfcConditionCriterion=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=3898045240,p}return P(n)}(wp);e.IfcConstructionEquipmentResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ResourceIdentifier=l,d.ResourceGroup=u,d.ResourceConsumption=c,d.BaseQuantity=f,d.Suppliers=p,d.UsageRatio=A,d.type=1060000209,d}return P(n)}(wp);e.IfcConstructionMaterialResource=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ResourceIdentifier=l,p.ResourceGroup=u,p.ResourceConsumption=c,p.BaseQuantity=f,p.type=488727124,p}return P(n)}(wp);e.IfcConstructionProductResource=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(xp);e.IfcCooledBeamType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(xp);e.IfcCoolingTowerType=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Vd);e.IfcCovering=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3495092785,f}return P(n)}(Vd);e.IfcCurtainWall=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Yp);e.IfcDamperType=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Contents=r,i.type=4147604152,i}return P(n)}(Rp);e.IfcDiameterDimension=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1335981549,f}return P(n)}(Np);e.IfcDiscreteAccessory=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2635815018,p}return P(n)}(Lp);e.IfcDiscreteAccessoryType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(_p);e.IfcDistributionChamberElementType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(Cp);e.IfcDistributionControlElementType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Op);e.IfcDistributionElement=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(yv);e.IfcDistributionFlowElement=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.FlowDirection=c,f.type=3041715199,f}return P(n)}(BA);e.IfcDistributionPort=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=395920057,A}return P(n)}(Vd);e.IfcDoor=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Xp);e.IfcDuctFittingType=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Zp);e.IfcDuctSegmentType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(tA);e.IfcDuctSilencerType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.FeatureLength=f,p.type=855621170,p}return P(n)}(Kp);e.IfcEdgeFeature=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(eA);e.IfcElectricApplianceType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}($p);e.IfcElectricFlowStorageDeviceType=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(xp);e.IfcElectricGeneratorType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1365060375,A}return P(n)}(eA);e.IfcElectricHeaterType=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(xp);e.IfcElectricMotorType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Yp);e.IfcElectricTimeControlType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=1634875225,l}return P(n)}(hd);e.IfcElectricalCircuit=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=857184966,f}return P(n)}(Op);e.IfcElectricalElement=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(mv);e.IfcEnergyConversionDevice=Lv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Jp);e.IfcFanType=Mv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(tA);e.IfcFilterType=xv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(eA);e.IfcFireSuppressionTerminalType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(mv);e.IfcFlowController=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(mv);e.IfcFlowFitting=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Iv);e.IfcFlowInstrumentType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(mv);e.IfcFlowMovingDevice=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(mv);e.IfcFlowSegment=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(mv);e.IfcFlowStorageDevice=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(mv);e.IfcFlowTerminal=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(mv);e.IfcFlowTreatmentDevice=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Vd);e.IfcFooting=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1073191201,f}return P(n)}(Vd);e.IfcMember=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Vd);e.IfcPile=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3171933400,f}return P(n)}(Vd);e.IfcPlate=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Vd);e.IfcRailing=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=3024970846,p}return P(n)}(Vd);e.IfcRamp=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3283111854,f}return P(n)}(Vd);e.IfcRampFlight=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Degree=r,u.ControlPointsList=i,u.CurveForm=a,u.ClosedCurve=s,u.SelfIntersect=o,u.WeightsData=l,u.type=3055160366,u}return P(n)}(kd);e.IfcRationalBezierCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(Qd);e.IfcReinforcingElement=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.MeshLength=p,w.MeshWidth=A,w.LongitudinalBarNominalDiameter=d,w.TransverseBarNominalDiameter=v,w.LongitudinalBarCrossSectionArea=h,w.TransverseBarCrossSectionArea=I,w.LongitudinalBarSpacing=y,w.TransverseBarSpacing=m,w.type=2320036040,w}return P(n)}(eh);e.IfcReinforcingMesh=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=2016517767,p}return P(n)}(Vd);e.IfcRoof=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.FeatureLength=f,A.Radius=p,A.type=1376911519,A}return P(n)}(Dv);e.IfcRoundedEdgeFeature=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Iv);e.IfcSensorType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Vd);e.IfcSlab=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ShapeType=f,p.type=331165859,p}return P(n)}(Vd);e.IfcStair=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.Tag=c,v.NumberOfRiser=f,v.NumberOfTreads=p,v.RiserHeight=A,v.TreadLength=d,v.type=4252922144,v}return P(n)}(Vd);e.IfcStairFlight=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.PredefinedType=l,p.OrientationOf2DPlane=u,p.LoadedBy=c,p.HasResults=f,p.type=2515109513,p}return P(n)}(hd);e.IfcStructuralAnalysisModel=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eh);e.IfcTendon=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=2347447852,p}return P(n)}(eh);e.IfcTendonAnchor=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(vv);e.IfcVibrationIsolatorType=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2391406946,f}return P(n)}(Vd);e.IfcWall=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3512223829,f}return P(n)}(ph);e.IfcWallStandardCase=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.OverallHeight=f,A.OverallWidth=p,A.type=3304561284,A}return P(n)}(Vd);e.IfcWindow=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Iv);e.IfcActuatorType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Iv);e.IfcAlarmType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=753842376,f}return P(n)}(Vd);e.IfcBeam=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.FeatureLength=f,d.Width=p,d.Height=A,d.type=2454782716,d}return P(n)}(Dv);e.IfcChamferEdgeFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Iv);e.IfcControllerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1052013943,f}return P(n)}(mv);e.IfcDistributionChamberElement=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.ControlElementId=f,p.type=1062813311,p}return P(n)}(yv);e.IfcDistributionControlElement=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.DistributionPointFunction=f,A.UserDefinedFunction=p,A.type=3700593921,A}return P(n)}(Hv);e.IfcElectricDistributionPoint=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.BarRole=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eh);e.IfcReinforcingBar=Th}($C||($C={})),z_[2]="IFC4",G_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},639542469:function(e,t){return new e_.IfcApplication(e,new H_(t[0].value),new e_.IfcLabel(t[1].value),new e_.IfcLabel(t[2].value),new e_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new e_.IfcApproval(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null)},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null)},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?K_(2,t[1]):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?K_(2,t[5]):null,t[6]?K_(2,t[6]):null,t[7]?K_(2,t[7]):null)},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new e_.IfcConstraint(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new e_.IfcCostValue(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new e_.IfcLabel(t[2].value):null)},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,new e_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(2,e)})))},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcURIReference(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null)},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,new e_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new e_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new e_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new e_.IfcLengthMeasure(t[2].value),new e_.IfcLengthMeasure(t[3].value),new e_.IfcLengthMeasure(t[4].value),t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null,t[7]?new e_.IfcReal(t[7].value):null)},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null)},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new e_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new e_.IfcLogical(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7],new e_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,new e_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,K_(2,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new e_.IfcMetric(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,new e_.IfcLabel(t[0].value))},1918398963:function(e,t){return new e_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2],t[3]?new e_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new e_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0]?new e_.IfcIdentifier(t[0].value):null,new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new e_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new e_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new e_.IfcPerson(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new e_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcIdentifier(t[3].value):null,new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0]?new e_.IfcLabel(t[0].value):null)},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new e_.IfcIdentifier(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return K_(2,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new e_.IfcQuantityArea(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcAreaMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new e_.IfcQuantityCount(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcCountMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new e_.IfcQuantityLength(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new e_.IfcQuantityTime(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcTimeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcVolumeMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new e_.IfcQuantityWeight(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcMassMeasure(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new e_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new e_.IfcMonthInYearNumber(e.value)})):null,t[4]?new e_.IfcInteger(t[4].value):null,t[5]?new e_.IfcInteger(t[5].value):null,t[6]?new e_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new e_.IfcReference(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new e_.IfcRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null)},2341007311:function(e,t){return new e_.IfcRoot(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,new e_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new e_.IfcShapeModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0]?new e_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0]?new e_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0]?new e_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new e_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new e_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new e_.IfcStyleModel(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new e_.IfcLengthMeasure(e.value)})):null,t[3]?new e_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0]?new e_.IfcReal(t[0].value):null,t[1]?new e_.IfcReal(t[1].value):null)},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new e_.IfcTable(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new e_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(2,e)})):null,t[1]?new e_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3],t[4]?new e_.IfcDuration(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcDateTime(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcDuration(t[12].value):null,t[13]?new e_.IfcBoolean(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcDateTime(t[16].value):null,t[17]?new e_.IfcDateTime(t[17].value):null,t[18]?new e_.IfcDuration(t[18].value):null,t[19]?new e_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new e_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new e_.IfcLabel(e.value)})):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcLabel(e.value)})):null,t[7]?new e_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new e_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0]?K_(2,t[0]):null,t[1]?new e_.IfcTextAlignment(t[1].value):null,t[2]?new e_.IfcTextDecoration(t[2].value):null,t[3]?K_(2,t[3]):null,t[4]?K_(2,t[4]):null,t[5]?new e_.IfcTextTransformation(t[5].value):null,t[6]?K_(2,t[6]):null)},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new e_.IfcReal(e.value)})):null)},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0].map((function(e){return new e_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new e_.IfcTimePeriod(e,new e_.IfcTime(t[0].value),new e_.IfcTime(t[1].value))},3101149627:function(e,t){return new e_.IfcTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(2,e)})))},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcDate(t[4].value):null,t[5]?new e_.IfcDate(t[5].value):null)},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new e_.IfcBlobTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcIdentifier(t[5].value),new e_.IfcBinary(t[6].value))},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new e_.IfcClassification(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new e_.IfcDate(t[2].value):null,new e_.IfcLabel(t[3].value),t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new e_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0].map((function(e){return new e_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0]?new e_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new e_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value))},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new e_.IfcLabel(t[2].value),new H_(t[3].value),new e_.IfcReal(t[4].value))},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new e_.IfcPositiveRatioMeasure(t[4].value),t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new e_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),new e_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,new e_.IfcIdentifier(t[0].value),new e_.IfcLabel(t[1].value),t[2]?new e_.IfcText(t[2].value):null,t[3]?new e_.IfcURIReference(t[3].value):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new e_.IfcText(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDateTime(t[11].value):null,t[12]?new e_.IfcIdentifier(t[12].value):null,t[13]?new e_.IfcDate(t[13].value):null,t[14]?new e_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0]?new e_.IfcURIReference(t[0].value):null,t[1]?new e_.IfcIdentifier(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new e_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new e_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new e_.IfcBoolean(t[3].value))},211053100:function(e,t){return new e_.IfcEventTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDateTime(t[3].value):null,t[4]?new e_.IfcDateTime(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new e_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new e_.IfcFaceBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcForceMeasure(t[4].value):null,t[5]?new e_.IfcForceMeasure(t[5].value):null,t[6]?new e_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new e_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new e_.IfcDimensionCount(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcPositiveRatioMeasure(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null)},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new e_.IfcGridPlacement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new e_.IfcImageTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,K_(2,t[3]),t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new e_.IfcThermodynamicTemperatureMeasure(t[6].value),new e_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value))},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0]?new e_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new e_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcReal(t[6].value),new e_.IfcReal(t[7].value),new e_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new e_.IfcReal(t[10].value):null,new e_.IfcPositivePlaneAngleMeasure(t[11].value),new e_.IfcPositivePlaneAngleMeasure(t[12].value))},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new e_.IfcMaterial(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new e_.IfcLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new e_.IfcCardinalPointReference(t[1].value):null,t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new e_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new e_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcLabel(t[3].value):null)},219451334:function(e,t){return new e_.IfcObjectDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value))},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new e_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new e_.IfcLabel(t[3].value),t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new e_.IfcPixelTexture(e,new e_.IfcBoolean(t[0].value),new e_.IfcBoolean(t[1].value),t[2]?new e_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new e_.IfcIdentifier(e.value)})):null,new e_.IfcInteger(t[5].value),new e_.IfcInteger(t[6].value),new e_.IfcInteger(t[7].value),t[8].map((function(e){return new e_.IfcBinary(e.value)})))},2004835150:function(e,t){return new e_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,new e_.IfcLabel(t[0].value))},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,new e_.IfcLabel(t[0].value))},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0]?new e_.IfcIdentifier(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new e_.IfcProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new e_.IfcText(t[4].value):null)},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2090586900:function(e,t){return new e_.IfcQuantitySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,new e_.IfcLabel(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcDateTime(t[2].value),new e_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new e_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,new e_.IfcAreaMeasure(t[0].value),new e_.IfcLabel(t[1].value),t[2],t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new e_.IfcRelationship(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1],t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcDuration(t[3].value):null,t[4]?new e_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new e_.IfcDateTime(t[5].value):null,t[6]?new e_.IfcDateTime(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDuration(t[8].value):null,t[9]?new e_.IfcBoolean(t[9].value):null,t[10]?new e_.IfcDateTime(t[10].value):null,t[11]?new e_.IfcDuration(t[11].value):null,t[12]?new e_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new e_.IfcDateTime(t[13].value):null,t[14]?new e_.IfcDateTime(t[14].value):null,t[15]?new e_.IfcDuration(t[15].value):null,t[16]?new e_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new e_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null)},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLinearForceMeasure(t[1].value):null,t[2]?new e_.IfcLinearForceMeasure(t[2].value):null,t[3]?new e_.IfcLinearForceMeasure(t[3].value):null,t[4]?new e_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new e_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new e_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new e_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new e_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcLengthMeasure(t[1].value):null,t[2]?new e_.IfcLengthMeasure(t[2].value):null,t[3]?new e_.IfcLengthMeasure(t[3].value):null,t[4]?new e_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new e_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new e_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new e_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0]?new e_.IfcLabel(t[0].value):null,t[1]?new e_.IfcForceMeasure(t[1].value):null,t[2]?new e_.IfcForceMeasure(t[2].value):null,t[3]?new e_.IfcForceMeasure(t[3].value):null,t[4]?new e_.IfcTorqueMeasure(t[4].value):null,t[5]?new e_.IfcTorqueMeasure(t[5].value):null,t[6]?new e_.IfcTorqueMeasure(t[6].value):null,t[7]?new e_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new e_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new e_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(2,t[7]):null,t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),t[2]?new e_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,t[5]?new e_.IfcPositiveLengthMeasure(t[5].value):null)},230924584:function(e,t){return new e_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new e_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new e_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,new e_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new e_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,new e_.IfcLabel(t[0].value),t[1].map((function(e){return new e_.IfcTextFontName(e.value)})),t[2]?new e_.IfcFontStyle(t[2].value):null,t[3]?new e_.IfcFontVariant(t[3].value):null,t[4]?new e_.IfcFontWeight(t[4].value):null,K_(2,t[5]))},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new e_.IfcTypeObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new e_.IfcTypeProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new e_.IfcTypeProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new e_.IfcTypeResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new e_.IfcVector(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new e_.IfcVertexLoop(e,new H_(t[0].value))},1299126871:function(e,t){return new e_.IfcWindowStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new e_.IfcBoolean(t[2].value))},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,new e_.IfcPositiveLengthMeasure(t[8].value),t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new e_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new e_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new e_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new e_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,new H_(t[0].value),new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0].map((function(e){return new e_.IfcLengthMeasure(e.value)})))},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new e_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new e_.IfcReal(t[5].value):null,t[6]?new e_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0]?new e_.IfcLabel(t[0].value):null,new e_.IfcNormalisedRatioMeasure(t[1].value),new e_.IfcNormalisedRatioMeasure(t[2].value),new e_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new e_.IfcComplexProperty(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,new e_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new e_.IfcContext(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new e_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[2].value))},32440307:function(e,t){return new e_.IfcDirection(e,t[0].map((function(e){return new e_.IfcReal(e.value)})))},526551008:function(e,t){return new e_.IfcDoorStyle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],new e_.IfcBoolean(t[10].value),new e_.IfcBoolean(t[11].value))},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new e_.IfcElementQuantity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new e_.IfcElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new e_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new e_.IfcEventType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new e_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new e_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new e_.IfcFurnitureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),new e_.IfcPositiveLengthMeasure(t[6].value),t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new e_.IfcPositiveInteger(e.value)})))},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new e_.IfcLaborResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new e_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new e_.IfcObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value))},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,new H_(t[0].value),new e_.IfcLengthMeasure(t[1].value),new e_.IfcLogical(t[2].value),new H_(t[3].value))},1682466193:function(e,t){return new e_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new e_.IfcPlanarBox(e,new e_.IfcLengthMeasure(t[0].value),new e_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new e_.IfcPlane(e,new H_(t[0].value))},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,new e_.IfcLabel(t[0].value))},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},569719735:function(e,t){return new e_.IfcProcedureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},4208778838:function(e,t){return new e_.IfcProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new e_.IfcProject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new e_.IfcProjectLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?K_(2,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(2,t[5]):null)},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?new e_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new e_.IfcPropertySet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?K_(2,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,new e_.IfcIdentifier(t[0].value),t[1]?new e_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(2,e)})):null,t[3]?t[3].map((function(e){return K_(2,e)})):null,t[4]?new e_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},3219374653:function(e,t){return new e_.IfcProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value),new e_.IfcPositiveLengthMeasure(t[5].value),t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new e_.IfcParameterValue(t[1].value),new e_.IfcParameterValue(t[2].value),new e_.IfcParameterValue(t[3].value),new e_.IfcParameterValue(t[4].value),new e_.IfcBoolean(t[5].value),new e_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new e_.IfcRelAssigns(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new e_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new e_.IfcRelAssociates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new e_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new e_.IfcRelConnects(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new e_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new e_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new e_.IfcRelDeclares(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},693640335:function(e,t){return new e_.IfcRelDefines(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null)},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8].value)},3268803585:function(e,t){return new e_.IfcRelNests(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new e_.IfcRelSequence(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],new e_.IfcBoolean(t[1].value),new H_(t[2].value),new e_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new e_.IfcResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null)},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5]?new e_.IfcLabel(t[5].value):null,t[6]?new e_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new e_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new e_.IfcSpatialElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new e_.IfcSpatialZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new e_.IfcSphere(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new e_.IfcStructuralMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new e_.IfcParameterValue(t[3].value):null,t[4]?new e_.IfcParameterValue(t[4].value):null,new H_(t[5].value))},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new e_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new e_.IfcTask(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,new e_.IfcBoolean(t[9].value),t[10]?new e_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,new H_(t[0].value))},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2097647324:function(e,t){return new e_.IfcTransportElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new e_.IfcParameterValue(e.value)})):null,t[2]?new e_.IfcBoolean(t[2].value):null,t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new e_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new e_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new e_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new e_.IfcLengthMeasure(t[13].value):null,t[14]?new e_.IfcLengthMeasure(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new e_.IfcActor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new e_.IfcAnnotation(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value))},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value),new e_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcLengthMeasure(t[9].value):null)},2197970202:function(e,t){return new e_.IfcChimneyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1]?new e_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new e_.IfcPositiveLengthMeasure(t[3].value),new e_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new e_.IfcCivilElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},300633059:function(e,t){return new e_.IfcColumnType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},2510884976:function(e,t){return new e_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new e_.IfcIdentifier(t[6].value):null,t[7]?new e_.IfcText(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new e_.IfcControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null)},3895139033:function(e,t){return new e_.IfcCostItem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new e_.IfcCostSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcDateTime(t[8].value):null,t[9]?new e_.IfcDateTime(t[9].value):null)},1916426348:function(e,t){return new e_.IfcCoveringType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new e_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new e_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new e_.IfcLengthMeasure(t[9].value):null,t[10]?new e_.IfcLengthMeasure(t[10].value):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new e_.IfcLengthMeasure(t[15].value):null,t[16]?new e_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new e_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new e_.IfcDoorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,new e_.IfcLabel(t[0].value))},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,new e_.IfcLabel(t[0].value))},1758889154:function(e,t){return new e_.IfcElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new e_.IfcElementAssembly(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new e_.IfcElementComponentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new e_.IfcEllipse(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value),new e_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new e_.IfcEngineType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7],t[8],t[9]?new e_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new e_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},647756555:function(e,t){return new e_.IfcFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new e_.IfcFootingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new e_.IfcFurniture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(2,e)})):null,t[2]?new e_.IfcBoolean(t[2].value):null)},3946677679:function(e,t){return new e_.IfcInterceptorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4],t[5],t[6]?new e_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new e_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new e_.IfcPermit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1158309216:function(e,t){return new e_.IfcPileType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new e_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new e_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new e_.IfcPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new e_.IfcProcedure(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},3651124850:function(e,t){return new e_.IfcProjectionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,new e_.IfcInteger(t[0].value),new e_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new e_.IfcLogical(t[4].value),new e_.IfcLogical(t[5].value),new e_.IfcLogical(t[6].value),t[7].map((function(e){return new e_.IfcInteger(e.value)})),t[8].map((function(e){return new e_.IfcInteger(e.value)})),t[9].map((function(e){return new e_.IfcParameterValue(e.value)})),t[10].map((function(e){return new e_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new e_.IfcReal(e.value)})))},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcAreaMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new e_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new e_.IfcAreaMeasure(t[14].value):null,t[15]?new e_.IfcAreaMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new e_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new e_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(2,e)})):null)},160246688:function(e,t){return new e_.IfcRelAggregates(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2781568857:function(e,t){return new e_.IfcRoofType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4097777520:function(e,t){return new e_.IfcSite(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9]?new e_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new e_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new e_.IfcLengthMeasure(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new e_.IfcSlabType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new e_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new e_.IfcStairType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new e_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new e_.IfcSubContractResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new e_.IfcTankType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcForceMeasure(t[12].value):null,t[13]?new e_.IfcPressureMeasure(t[13].value):null,t[14]?new e_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new e_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new e_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null)},1692211062:function(e,t){return new e_.IfcTransformerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new e_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new e_.IfcValveType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},926996030:function(e,t){return new e_.IfcVoidingFeature(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new e_.IfcBoolean(t[11].value):null,t[12]?new e_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new e_.IfcWorkPlan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,new e_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcDuration(t[9].value):null,t[10]?new e_.IfcDuration(t[10].value):null,new e_.IfcDateTime(t[11].value),t[12]?new e_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new e_.IfcZone(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new e_.IfcActionRequest(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6],t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcText(t[8].value):null)},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new e_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value))},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3299480353:function(e,t){return new e_.IfcBuildingElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new e_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new e_.IfcBurnerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,new H_(t[0].value),new e_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new e_.IfcCivilElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new e_.IfcCoilType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new e_.IfcColumn(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcIdentifier(t[5].value):null,t[6]?new e_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new e_.IfcDistributionElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new e_.IfcDistributionPort(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new e_.IfcDoor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new e_.IfcDuctFittingType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new e_.IfcEngine(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new e_.IfcFanType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new e_.IfcFlowFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new e_.IfcFlowSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new e_.IfcFooting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},76236018:function(e,t){return new e_.IfcLamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new e_.IfcMember(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new e_.IfcLogical(t[1].value))},3694346114:function(e,t){return new e_.IfcOutlet(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new e_.IfcPile(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new e_.IfcPump(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,new e_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new e_.IfcLogical(t[3].value),new e_.IfcLogical(t[4].value),t[5].map((function(e){return new e_.IfcInteger(e.value)})),t[6].map((function(e){return new e_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new e_.IfcReal(e.value)})))},979691226:function(e,t){return new e_.IfcReinforcingBar(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new e_.IfcAreaMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9],t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcAreaMeasure(t[11].value):null,t[12]?new e_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new e_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(2,e)})):null)},2016517767:function(e,t){return new e_.IfcRoof(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new e_.IfcStair(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcInteger(t[8].value):null,t[9]?new e_.IfcInteger(t[9].value):null,t[10]?new e_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new e_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new e_.IfcRatioMeasure(t[8].value):null,t[9]?new e_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new e_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new e_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new e_.IfcTank(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new e_.IfcValve(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new e_.IfcWall(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8]?new e_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new e_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new e_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new e_.IfcActuatorType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new e_.IfcBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new e_.IfcCoil(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new e_.IfcLabel(t[7].value):null,t[8]?new e_.IfcLabel(t[8].value):null,t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new e_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new e_.IfcDuctFitting(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new e_.IfcFan(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new e_.IfcFilter(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new e_.IfcController(e,new e_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new e_.IfcLabel(t[2].value):null,t[3]?new e_.IfcText(t[3].value):null,t[4]?new e_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new e_.IfcIdentifier(t[7].value):null,t[8])}},j_[2]={618182010:[912023232,3355820592],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[2133299955,1437953363,2552916305,1742049831],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,816062949,2485617015,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,2916149573,2387106220,2294589976,178912537,901063453,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214,723233188,4124623270,1509187699,1123145078,1423911732,4022376103,2067069095,603570806,1663979128,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,2028607225,3243963512,1856042241,2652556860,2804161546,477187591,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[2028607225,3243963512,1856042241,2652556860,2804161546,477187591],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223,339256511,526551008,1299126871],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,1682466193,3505215534,3388369263,F_],339256511:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202,1950629157,2097647324,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653,4208778838,2744685151,4148101412,x_,2945172077],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,x_],4208778838:[3041715199,L_,M_,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064,1412071761,3219374653],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1412071761:[1209101575,2853485674,463610769,S_,N_,3124254112,4031249490,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,3124254112,4031249490],3893378262:[3812236995],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,2916149573],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,144952367,1136057603,15328376,3732776249],1950629157:[1909888760,819618141,4009809668,1898987631,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,4017108033,1158309216,3181161470,1893162501,2323601079,1457835157,1916426348,300633059,2197970202],3732776249:[144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175,3299480353,2769231204,1620046519,3493046030,413509423,1509553395,263784265,3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,979691226,2347447852,T_,2320036040,3027567501,377706215,647756555],2590856083:[2635815018,39481116,3313531582,2572171363,2415094496,3081323446,2310774935,964333572,2108223431,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],2827207264:[3101698114,926996030,3079942009,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[926996030,3079942009,3588315303],3907093117:[712377611,2417008758,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1768891740,2837617999,1114901282,1161773419,1051575348],3009222698:[1810631287,2030761528,3946677679],263784265:[413509423,1509553395],2706460486:[B_,2515109513,562808652,3205830791,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],3588315303:[3079942009],3740093272:[3041715199],3027567501:[979691226,2347447852,T_,2320036040],964333572:[2572171363,2415094496,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,1177604601,O_],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],3299480353:[2906023776,g_,486154966,3304561284,3512223829,4156078855,E_,4252922144,331165859,3027962421,3127900445,b_,1329646415,D_,3283111854,P_,2262370178,1156407060,R_,C_,1911478936,1073191201,900683007,3242481149,__,3495092785,1973544240,905975707,843113511,3296154744,1095909175],843113511:[905975707],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],395920057:[3242481149],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,3053780830,3694346114,1437502449,629592764,76236018],3508470533:[819412036,1360408905,4175244083],1073191201:[1911478936],3171933400:[1156407060],1529196076:[3027962421,3127900445],2391406946:[3512223829,4156078855],3304561284:[486154966],753842376:[2906023776],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[2]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",M_,9,!0],["PartOfV",M_,8,!0],["PartOfU",M_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",2624227202,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1299126871:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],526551008:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3219374653:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],1950629157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedInStructure",3242617779,4,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],3079942009:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3299480353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],905975707:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3242481149:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1911478936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1156407060:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3127900445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3027962421:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4156078855:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],486154966:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],2906023776:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ServicesBuildings",366585022,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["ReferencedInStructures",1245217292,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[2]={3630933823:function(e,t){return new e_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new e_.IfcAddress(e,t[0],t[1],t[2])},639542469:function(e,t){return new e_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new e_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new e_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new e_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new e_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new e_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new e_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new e_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new e_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new e_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new e_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new e_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new e_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new e_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new e_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new e_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new e_.IfcDerivedUnit(e,t[0],t[1],t[2])},1045800335:function(e,t){return new e_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new e_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new e_.IfcExternalInformation(e)},3200245327:function(e,t){return new e_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new e_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new e_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new e_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new e_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new e_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new e_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new e_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new e_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new e_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new e_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1847130766:function(e,t){return new e_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new e_.IfcMaterialDefinition(e)},248100487:function(e,t){return new e_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new e_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new e_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new e_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new e_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new e_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new e_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new e_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new e_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new e_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new e_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new e_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new e_.IfcObjectPlacement(e)},2251480897:function(e,t){return new e_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new e_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new e_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new e_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new e_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new e_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new e_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new e_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new e_.IfcPresentationItem(e)},2022622350:function(e,t){return new e_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new e_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new e_.IfcPresentationStyle(e,t[0])},2417041796:function(e,t){return new e_.IfcPresentationStyleAssignment(e,t[0])},2095639259:function(e,t){return new e_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new e_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new e_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new e_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new e_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new e_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new e_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new e_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new e_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new e_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new e_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new e_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new e_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new e_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new e_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new e_.IfcRepresentationItem(e)},1660063152:function(e,t){return new e_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new e_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new e_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new e_.IfcSIUnit(e,t[0],t[1],t[2])},1054537805:function(e,t){return new e_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new e_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new e_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new e_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new e_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new e_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new e_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new e_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new e_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new e_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new e_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new e_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new e_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new e_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new e_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new e_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new e_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new e_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new e_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new e_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new e_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new e_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new e_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new e_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new e_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new e_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new e_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new e_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new e_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new e_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new e_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},2552916305:function(e,t){return new e_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new e_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new e_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new e_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new e_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new e_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new e_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new e_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new e_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new e_.IfcVertex(e)},1907098498:function(e,t){return new e_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new e_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new e_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3869604511:function(e,t){return new e_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new e_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new e_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new e_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new e_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new e_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new e_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new e_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new e_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new e_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new e_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new e_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new e_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new e_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new e_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new e_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new e_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new e_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new e_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new e_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new e_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new e_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new e_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new e_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new e_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new e_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new e_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new e_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new e_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new e_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new e_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new e_.IfcFace(e,t[0])},1809719519:function(e,t){return new e_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new e_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new e_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new e_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new e_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new e_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new e_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new e_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},3590301190:function(e,t){return new e_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new e_.IfcGridPlacement(e,t[0],t[1])},812098782:function(e,t){return new e_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new e_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new e_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new e_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new e_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new e_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new e_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new e_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new e_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new e_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new e_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new e_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new e_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2624227202:function(e,t){return new e_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new e_.IfcLoop(e)},2347385850:function(e,t){return new e_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new e_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new e_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new e_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new e_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new e_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new e_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new e_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new e_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new e_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new e_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3])},219451334:function(e,t){return new e_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},2665983363:function(e,t){return new e_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new e_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new e_.IfcOrientedEdge(e,t[0],t[1])},2529465313:function(e,t){return new e_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new e_.IfcPath(e,t[0])},3021840470:function(e,t){return new e_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new e_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new e_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new e_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new e_.IfcPoint(e)},4022376103:function(e,t){return new e_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new e_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new e_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new e_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new e_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new e_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new e_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new e_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new e_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new e_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new e_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new e_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new e_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new e_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new e_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new e_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new e_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new e_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new e_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new e_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new e_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new e_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new e_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new e_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new e_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new e_.IfcSectionedSpine(e,t[0],t[1],t[2])},4124623270:function(e,t){return new e_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new e_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new e_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new e_.IfcSolidModel(e)},1595516126:function(e,t){return new e_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new e_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new e_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new e_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new e_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new e_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new e_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new e_.IfcSurface(e)},1878645084:function(e,t){return new e_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new e_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new e_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new e_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new e_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new e_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new e_.IfcTessellatedItem(e)},4282788508:function(e,t){return new e_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new e_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new e_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new e_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new e_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new e_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new e_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new e_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new e_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new e_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new e_.IfcVertexLoop(e,t[0])},1299126871:function(e,t){return new e_.IfcWindowStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2543172580:function(e,t){return new e_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new e_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new e_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new e_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new e_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new e_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new e_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},2736907675:function(e,t){return new e_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new e_.IfcBoundedSurface(e)},2581212453:function(e,t){return new e_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new e_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new e_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new e_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new e_.IfcCartesianPointList(e)},1675464909:function(e,t){return new e_.IfcCartesianPointList2D(e,t[0])},2059837836:function(e,t){return new e_.IfcCartesianPointList3D(e,t[0])},59481748:function(e,t){return new e_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new e_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new e_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new e_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new e_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new e_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new e_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new e_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new e_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new e_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new e_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new e_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new e_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new e_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new e_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new e_.IfcCurve(e)},2827736869:function(e,t){return new e_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new e_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},32440307:function(e,t){return new e_.IfcDirection(e,t[0])},526551008:function(e,t){return new e_.IfcDoorStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1472233963:function(e,t){return new e_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new e_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new e_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new e_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new e_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new e_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new e_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new e_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new e_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new e_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new e_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new e_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new e_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new e_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new e_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new e_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new e_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new e_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new e_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},572779678:function(e,t){return new e_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new e_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new e_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new e_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new e_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},3388369263:function(e,t){return new e_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new e_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},1682466193:function(e,t){return new e_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new e_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new e_.IfcPlane(e,t[0])},759155922:function(e,t){return new e_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new e_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new e_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new e_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new e_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new e_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new e_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new e_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new e_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new e_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new e_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new e_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new e_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new e_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new e_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new e_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new e_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},3219374653:function(e,t){return new e_.IfcProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2770003689:function(e,t){return new e_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new e_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new e_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new e_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new e_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new e_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new e_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new e_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new e_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new e_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new e_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new e_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new e_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new e_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new e_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new e_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new e_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new e_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new e_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new e_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new e_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new e_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new e_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new e_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new e_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new e_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new e_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new e_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new e_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new e_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new e_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new e_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new e_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new e_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new e_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new e_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new e_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new e_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new e_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new e_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new e_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3268803585:function(e,t){return new e_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new e_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new e_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new e_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new e_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new e_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new e_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new e_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new e_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new e_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new e_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new e_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new e_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new e_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new e_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},3663146110:function(e,t){return new e_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new e_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new e_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new e_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new e_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new e_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new e_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new e_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new e_.IfcSphericalSurface(e,t[0],t[1])},3544373492:function(e,t){return new e_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new e_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new e_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new e_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new e_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new e_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new e_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new e_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new e_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new e_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new e_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new e_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new e_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new e_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new e_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new e_.IfcTessellatedFaceSet(e,t[0])},1935646853:function(e,t){return new e_.IfcToroidalSurface(e,t[0],t[1],t[2])},2097647324:function(e,t){return new e_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2916149573:function(e,t){return new e_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},336235671:function(e,t){return new e_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new e_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new e_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new e_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new e_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new e_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2887950389:function(e,t){return new e_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new e_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new e_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new e_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new e_.IfcBoundedCurve(e)},4031249490:function(e,t){return new e_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1950629157:function(e,t){return new e_.IfcBuildingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3124254112:function(e,t){return new e_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2197970202:function(e,t){return new e_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new e_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new e_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},300633059:function(e,t){return new e_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new e_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new e_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new e_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new e_.IfcConic(e,t[0])},2185764099:function(e,t){return new e_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new e_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new e_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new e_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new e_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},3895139033:function(e,t){return new e_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new e_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new e_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new e_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new e_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new e_.IfcCylindricalSurface(e,t[0],t[1])},3256556792:function(e,t){return new e_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new e_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new e_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new e_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new e_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new e_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new e_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new e_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new e_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new e_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new e_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new e_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new e_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new e_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new e_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new e_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new e_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new e_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new e_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new e_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new e_.IfcFacetedBrepWithVoids(e,t[0],t[1])},647756555:function(e,t){return new e_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new e_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new e_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new e_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new e_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new e_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new e_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new e_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new e_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new e_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new e_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new e_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new e_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new e_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new e_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new e_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new e_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009204131:function(e,t){return new e_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706460486:function(e,t){return new e_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new e_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new e_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new e_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new e_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new e_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new e_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new e_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new e_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new e_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new e_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},377706215:function(e,t){return new e_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new e_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new e_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new e_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new e_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new e_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new e_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3079942009:function(e,t){return new e_.IfcOpeningStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new e_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new e_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new e_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new e_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new e_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new e_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new e_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new e_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new e_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new e_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new e_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new e_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new e_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new e_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new e_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new e_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new e_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2324767716:function(e,t){return new e_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new e_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new e_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3027567501:function(e,t){return new e_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new e_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new e_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new e_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},160246688:function(e,t){return new e_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},2781568857:function(e,t){return new e_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new e_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new e_.IfcSeamCurve(e,t[0],t[1],t[2])},4074543187:function(e,t){return new e_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4097777520:function(e,t){return new e_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new e_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new e_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new e_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new e_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new e_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new e_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new e_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new e_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new e_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new e_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new e_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new e_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new e_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new e_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new e_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new e_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new e_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new e_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new e_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new e_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new e_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new e_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new e_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new e_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new e_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new e_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new e_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new e_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new e_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new e_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new e_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new e_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new e_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},1692211062:function(e,t){return new e_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1620046519:function(e,t){return new e_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3593883385:function(e,t){return new e_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new e_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new e_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new e_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new e_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new e_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new e_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},926996030:function(e,t){return new e_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new e_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new e_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new e_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new e_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new e_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new e_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new e_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new e_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new e_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new e_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new e_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new e_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460190687:function(e,t){return new e_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new e_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new e_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new e_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new e_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new e_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new e_.IfcBoundaryCurve(e,t[0],t[1])},3299480353:function(e,t){return new e_.IfcBuildingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2979338954:function(e,t){return new e_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new e_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1095909175:function(e,t){return new e_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1909888760:function(e,t){return new e_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new e_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new e_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new e_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new e_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new e_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new e_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new e_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new e_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new e_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new e_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new e_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new e_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},905975707:function(e,t){return new e_.IfcColumnStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new e_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new e_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new e_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new e_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new e_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new e_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},335055490:function(e,t){return new e_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new e_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1973544240:function(e,t){return new e_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new e_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new e_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1335981549:function(e,t){return new e_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new e_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new e_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new e_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new e_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new e_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new e_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new e_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new e_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3242481149:function(e,t){return new e_.IfcDoorStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new e_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new e_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new e_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},663422040:function(e,t){return new e_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new e_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new e_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new e_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new e_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new e_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new e_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new e_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new e_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new e_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new e_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new e_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new e_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new e_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new e_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new e_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new e_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new e_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new e_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new e_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new e_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new e_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new e_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new e_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3319311131:function(e,t){return new e_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new e_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new e_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new e_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new e_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new e_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new e_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new e_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1911478936:function(e,t){return new e_.IfcMemberStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new e_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new e_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new e_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new e_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new e_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new e_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new e_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1156407060:function(e,t){return new e_.IfcPlateStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new e_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new e_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new e_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new e_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new e_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new e_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new e_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new e_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new e_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new e_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new e_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new e_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new e_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3127900445:function(e,t){return new e_.IfcSlabElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3027962421:function(e,t){return new e_.IfcSlabStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new e_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new e_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new e_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new e_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new e_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new e_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new e_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new e_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new e_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new e_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new e_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new e_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new e_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new e_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new e_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new e_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4156078855:function(e,t){return new e_.IfcWallElementedCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new e_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new e_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new e_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},486154966:function(e,t){return new e_.IfcWindowStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new e_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new e_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new e_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new e_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new e_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},277319702:function(e,t){return new e_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new e_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2906023776:function(e,t){return new e_.IfcBeamStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new e_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new e_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new e_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new e_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new e_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new e_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new e_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new e_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new e_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new e_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new e_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new e_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4136498852:function(e,t){return new e_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new e_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new e_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new e_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new e_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new e_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new e_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new e_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new e_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new e_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new e_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new e_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new e_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new e_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new e_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new e_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new e_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new e_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new e_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2295281155:function(e,t){return new e_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new e_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new e_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new e_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new e_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new e_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[2]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2417041796:function(e){return[e.Styles]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.Start,e.Finish]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Location,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelorDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.Expression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Description]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Description]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},1299126871:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ConstructionType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList]},2059837836:function(e){return[e.CoordList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Description,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},32440307:function(e){return[e.DirectionRatios]},526551008:function(e){var t,n;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.OperationType,e.ConstructionType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),null==(n=e.Sizeable)?void 0:n.toString()]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Description,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Description,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Description,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Description,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Description,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Description,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3219374653:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.ProxyType,e.Tag]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceType,e.ImpliedOrder]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam,e.EndParam,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){return[e.Coordinates]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2916149573:function(e){var t;return[e.Coordinates,e.Normals,null==(t=e.Closed)?void 0:t.toString(),e.CoordIndex,e.PnIndex]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},1950629157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3079942009:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.Axis]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3299480353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},905975707:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},3242481149:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1911478936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1156407060:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3127900445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3027962421:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4156078855:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},486154966:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2906023776:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[2]={3699917729:function(e){return new e_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new e_.IfcAccelerationMeasure(e)},360377573:function(e){return new e_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new e_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new e_.IfcArcIndex(e)},1500781891:function(e){return new e_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new e_.IfcAreaMeasure(e)},2314439260:function(e){return new e_.IfcBinary(e)},2735952531:function(e){return new e_.IfcBoolean(e)},1867003952:function(e){return new e_.IfcBoxAlignment(e)},1683019596:function(e){return new e_.IfcCardinalPointReference(e)},2991860651:function(e){return new e_.IfcComplexNumber(e)},3812528620:function(e){return new e_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new e_.IfcContextDependentMeasure(e)},1778710042:function(e){return new e_.IfcCountMeasure(e)},94842927:function(e){return new e_.IfcCurvatureMeasure(e)},937566702:function(e){return new e_.IfcDate(e)},2195413836:function(e){return new e_.IfcDateTime(e)},86635668:function(e){return new e_.IfcDayInMonthNumber(e)},3701338814:function(e){return new e_.IfcDayInWeekNumber(e)},1514641115:function(e){return new e_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new e_.IfcDimensionCount(e)},524656162:function(e){return new e_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new e_.IfcDuration(e)},69416015:function(e){return new e_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new e_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new e_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new e_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new e_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new e_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new e_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new e_.IfcEnergyMeasure(e)},1102727119:function(e){return new e_.IfcFontStyle(e)},2715512545:function(e){return new e_.IfcFontVariant(e)},2590844177:function(e){return new e_.IfcFontWeight(e)},1361398929:function(e){return new e_.IfcForceMeasure(e)},3044325142:function(e){return new e_.IfcFrequencyMeasure(e)},3064340077:function(e){return new e_.IfcGloballyUniqueId(e)},3113092358:function(e){return new e_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new e_.IfcHeatingValueMeasure(e)},983778844:function(e){return new e_.IfcIdentifier(e)},3358199106:function(e){return new e_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new e_.IfcInductanceMeasure(e)},1939436016:function(e){return new e_.IfcInteger(e)},3809634241:function(e){return new e_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new e_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new e_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new e_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new e_.IfcLabel(e)},1275358634:function(e){return new e_.IfcLanguageId(e)},1243674935:function(e){return new e_.IfcLengthMeasure(e)},1774176899:function(e){return new e_.IfcLineIndex(e)},191860431:function(e){return new e_.IfcLinearForceMeasure(e)},2128979029:function(e){return new e_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new e_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new e_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new e_.IfcLogical(e)},2095003142:function(e){return new e_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new e_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new e_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new e_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new e_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new e_.IfcMassDensityMeasure(e)},4017473158:function(e){return new e_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new e_.IfcMassMeasure(e)},3531705166:function(e){return new e_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new e_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new e_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new e_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new e_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new e_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new e_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new e_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new e_.IfcMonetaryMeasure(e)},765770214:function(e){return new e_.IfcMonthInYearNumber(e)},525895558:function(e){return new e_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new e_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new e_.IfcNumericMeasure(e)},929793134:function(e){return new e_.IfcPHMeasure(e)},2260317790:function(e){return new e_.IfcParameterValue(e)},2642773653:function(e){return new e_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new e_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new e_.IfcPositiveInteger(e)},2815919920:function(e){return new e_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new e_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new e_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new e_.IfcPowerMeasure(e)},2169031380:function(e){return new e_.IfcPresentableText(e)},3665567075:function(e){return new e_.IfcPressureMeasure(e)},2798247006:function(e){return new e_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new e_.IfcRadioActivityMeasure(e)},96294661:function(e){return new e_.IfcRatioMeasure(e)},200335297:function(e){return new e_.IfcReal(e)},2133746277:function(e){return new e_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new e_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new e_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new e_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new e_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new e_.IfcShearModulusMeasure(e)},3471399674:function(e){return new e_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new e_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new e_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new e_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new e_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new e_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new e_.IfcSpecularExponent(e)},361837227:function(e){return new e_.IfcSpecularRoughness(e)},58845555:function(e){return new e_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new e_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new e_.IfcText(e)},1460886941:function(e){return new e_.IfcTextAlignment(e)},3490877962:function(e){return new e_.IfcTextDecoration(e)},603696268:function(e){return new e_.IfcTextFontName(e)},296282323:function(e){return new e_.IfcTextTransformation(e)},232962298:function(e){return new e_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new e_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new e_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new e_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new e_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new e_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new e_.IfcTime(e)},2726807636:function(e){return new e_.IfcTimeMeasure(e)},2591213694:function(e){return new e_.IfcTimeStamp(e)},1278329552:function(e){return new e_.IfcTorqueMeasure(e)},950732822:function(e){return new e_.IfcURIReference(e)},3345633955:function(e){return new e_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new e_.IfcVolumeMeasure(e)},2593997549:function(e){return new e_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new e_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new e_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=M;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=x;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Me;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=xe;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.FIRE={type:3,value:"FIRE"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.CREEP={type:3,value:"CREEP"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.ICE={type:3,value:"ICE"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.WAVE={type:3,value:"WAVE"},Ct.RAIN={type:3,value:"RAIN"},Ct.BRAKES={type:3,value:"BRAKES"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.HOME={type:3,value:"HOME"},Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var Mt=P((function e(){b(this,e)}));Mt.BELL={type:3,value:"BELL"},Mt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Mt.LIGHT={type:3,value:"LIGHT"},Mt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Mt.SIREN={type:3,value:"SIREN"},Mt.WHISTLE={type:3,value:"WHISTLE"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Mt;var xt=P((function e(){b(this,e)}));xt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},xt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},xt.LOADING_3D={type:3,value:"LOADING_3D"},xt.USERDEFINED={type:3,value:"USERDEFINED"},xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=xt;var Ft=P((function e(){b(this,e)}));Ft.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},Ft.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},Ft.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},Ft.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},Ft.USERDEFINED={type:3,value:"USERDEFINED"},Ft.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.ADD={type:3,value:"ADD"},Ht.DIVIDE={type:3,value:"DIVIDE"},Ht.MULTIPLY={type:3,value:"MULTIPLY"},Ht.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.SITE={type:3,value:"SITE"},Ut.FACTORY={type:3,value:"FACTORY"},Ut.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.AMPLIFIER={type:3,value:"AMPLIFIER"},Gt.CAMERA={type:3,value:"CAMERA"},Gt.DISPLAY={type:3,value:"DISPLAY"},Gt.MICROPHONE={type:3,value:"MICROPHONE"},Gt.PLAYER={type:3,value:"PLAYER"},Gt.PROJECTOR={type:3,value:"PROJECTOR"},Gt.RECEIVER={type:3,value:"RECEIVER"},Gt.SPEAKER={type:3,value:"SPEAKER"},Gt.SWITCHER={type:3,value:"SWITCHER"},Gt.TELEPHONE={type:3,value:"TELEPHONE"},Gt.TUNER={type:3,value:"TUNER"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},kt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},kt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},kt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},kt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=kt;var jt=P((function e(){b(this,e)}));jt.PLANE_SURF={type:3,value:"PLANE_SURF"},jt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},jt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},jt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},jt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},jt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},jt.RULED_SURF={type:3,value:"RULED_SURF"},jt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},jt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},jt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},jt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=jt;var Vt=P((function e(){b(this,e)}));Vt.BEAM={type:3,value:"BEAM"},Vt.JOIST={type:3,value:"JOIST"},Vt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Vt.LINTEL={type:3,value:"LINTEL"},Vt.SPANDREL={type:3,value:"SPANDREL"},Vt.T_BEAM={type:3,value:"T_BEAM"},Vt.USERDEFINED={type:3,value:"USERDEFINED"},Vt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.GREATERTHAN={type:3,value:"GREATERTHAN"},Qt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Qt.LESSTHAN={type:3,value:"LESSTHAN"},Qt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Qt.EQUALTO={type:3,value:"EQUALTO"},Qt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Qt.INCLUDES={type:3,value:"INCLUDES"},Qt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},Qt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Qt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},e.IfcBenchmarkEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.WATER={type:3,value:"WATER"},Wt.STEAM={type:3,value:"STEAM"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.UNION={type:3,value:"UNION"},zt.INTERSECTION={type:3,value:"INTERSECTION"},zt.DIFFERENCE={type:3,value:"DIFFERENCE"},e.IfcBooleanOperator=zt;var Kt=P((function e(){b(this,e)}));Kt.INSULATION={type:3,value:"INSULATION"},Kt.PRECASTPANEL={type:3,value:"PRECASTPANEL"},Kt.USERDEFINED={type:3,value:"USERDEFINED"},Kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=Kt;var Yt=P((function e(){b(this,e)}));Yt.COMPLEX={type:3,value:"COMPLEX"},Yt.ELEMENT={type:3,value:"ELEMENT"},Yt.PARTIAL={type:3,value:"PARTIAL"},Yt.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Yt.PROVISIONFORSPACE={type:3,value:"PROVISIONFORSPACE"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FENESTRATION={type:3,value:"FENESTRATION"},Xt.FOUNDATION={type:3,value:"FOUNDATION"},Xt.LOADBEARING={type:3,value:"LOADBEARING"},Xt.OUTERSHELL={type:3,value:"OUTERSHELL"},Xt.SHADING={type:3,value:"SHADING"},Xt.TRANSPORT={type:3,value:"TRANSPORT"},Xt.USERDEFINED={type:3,value:"USERDEFINED"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=Xt;var qt=P((function e(){b(this,e)}));qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.BEND={type:3,value:"BEND"},Jt.CROSS={type:3,value:"CROSS"},Jt.REDUCER={type:3,value:"REDUCER"},Jt.TEE={type:3,value:"TEE"},Jt.USERDEFINED={type:3,value:"USERDEFINED"},Jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},Zt.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},Zt.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},Zt.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.CONNECTOR={type:3,value:"CONNECTOR"},$t.ENTRY={type:3,value:"ENTRY"},$t.EXIT={type:3,value:"EXIT"},$t.JUNCTION={type:3,value:"JUNCTION"},$t.TRANSITION={type:3,value:"TRANSITION"},$t.USERDEFINED={type:3,value:"USERDEFINED"},$t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=$t;var en=P((function e(){b(this,e)}));en.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},en.CABLESEGMENT={type:3,value:"CABLESEGMENT"},en.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},en.CORESEGMENT={type:3,value:"CORESEGMENT"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.NOCHANGE={type:3,value:"NOCHANGE"},tn.MODIFIED={type:3,value:"MODIFIED"},tn.ADDED={type:3,value:"ADDED"},tn.DELETED={type:3,value:"DELETED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=tn;var nn=P((function e(){b(this,e)}));nn.AIRCOOLED={type:3,value:"AIRCOOLED"},nn.WATERCOOLED={type:3,value:"WATERCOOLED"},nn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},an.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},an.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},an.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},an.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},an.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},an.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.COLUMN={type:3,value:"COLUMN"},sn.PILASTER={type:3,value:"PILASTER"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=sn;var on=P((function e(){b(this,e)}));on.ANTENNA={type:3,value:"ANTENNA"},on.COMPUTER={type:3,value:"COMPUTER"},on.FAX={type:3,value:"FAX"},on.GATEWAY={type:3,value:"GATEWAY"},on.MODEM={type:3,value:"MODEM"},on.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},on.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},on.NETWORKHUB={type:3,value:"NETWORKHUB"},on.PRINTER={type:3,value:"PRINTER"},on.REPEATER={type:3,value:"REPEATER"},on.ROUTER={type:3,value:"ROUTER"},on.SCANNER={type:3,value:"SCANNER"},on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.P_COMPLEX={type:3,value:"P_COMPLEX"},ln.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=ln;var un=P((function e(){b(this,e)}));un.DYNAMIC={type:3,value:"DYNAMIC"},un.RECIPROCATING={type:3,value:"RECIPROCATING"},un.ROTARY={type:3,value:"ROTARY"},un.SCROLL={type:3,value:"SCROLL"},un.TROCHOIDAL={type:3,value:"TROCHOIDAL"},un.SINGLESTAGE={type:3,value:"SINGLESTAGE"},un.BOOSTER={type:3,value:"BOOSTER"},un.OPENTYPE={type:3,value:"OPENTYPE"},un.HERMETIC={type:3,value:"HERMETIC"},un.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},un.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},un.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},un.ROTARYVANE={type:3,value:"ROTARYVANE"},un.SINGLESCREW={type:3,value:"SINGLESCREW"},un.TWINSCREW={type:3,value:"TWINSCREW"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.AIRCOOLED={type:3,value:"AIRCOOLED"},cn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},cn.WATERCOOLED={type:3,value:"WATERCOOLED"},cn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},cn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},cn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},cn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.ATPATH={type:3,value:"ATPATH"},fn.ATSTART={type:3,value:"ATSTART"},fn.ATEND={type:3,value:"ATEND"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.HARD={type:3,value:"HARD"},pn.SOFT={type:3,value:"SOFT"},pn.ADVISORY={type:3,value:"ADVISORY"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=pn;var An=P((function e(){b(this,e)}));An.DEMOLISHING={type:3,value:"DEMOLISHING"},An.EARTHMOVING={type:3,value:"EARTHMOVING"},An.ERECTING={type:3,value:"ERECTING"},An.HEATING={type:3,value:"HEATING"},An.LIGHTING={type:3,value:"LIGHTING"},An.PAVING={type:3,value:"PAVING"},An.PUMPING={type:3,value:"PUMPING"},An.TRANSPORTING={type:3,value:"TRANSPORTING"},An.USERDEFINED={type:3,value:"USERDEFINED"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=An;var dn=P((function e(){b(this,e)}));dn.AGGREGATES={type:3,value:"AGGREGATES"},dn.CONCRETE={type:3,value:"CONCRETE"},dn.DRYWALL={type:3,value:"DRYWALL"},dn.FUEL={type:3,value:"FUEL"},dn.GYPSUM={type:3,value:"GYPSUM"},dn.MASONRY={type:3,value:"MASONRY"},dn.METAL={type:3,value:"METAL"},dn.PLASTIC={type:3,value:"PLASTIC"},dn.WOOD={type:3,value:"WOOD"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.ASSEMBLY={type:3,value:"ASSEMBLY"},vn.FORMWORK={type:3,value:"FORMWORK"},vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.FLOATING={type:3,value:"FLOATING"},hn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},hn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},hn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},hn.TWOPOSITION={type:3,value:"TWOPOSITION"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=hn;var In=P((function e(){b(this,e)}));In.ACTIVE={type:3,value:"ACTIVE"},In.PASSIVE={type:3,value:"PASSIVE"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},yn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},yn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.USERDEFINED={type:3,value:"USERDEFINED"},mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BUDGET={type:3,value:"BUDGET"},wn.COSTPLAN={type:3,value:"COSTPLAN"},wn.ESTIMATE={type:3,value:"ESTIMATE"},wn.TENDER={type:3,value:"TENDER"},wn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},wn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},wn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.CEILING={type:3,value:"CEILING"},gn.FLOORING={type:3,value:"FLOORING"},gn.CLADDING={type:3,value:"CLADDING"},gn.ROOFING={type:3,value:"ROOFING"},gn.MOLDING={type:3,value:"MOLDING"},gn.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},gn.INSULATION={type:3,value:"INSULATION"},gn.MEMBRANE={type:3,value:"MEMBRANE"},gn.SLEEVING={type:3,value:"SLEEVING"},gn.WRAPPING={type:3,value:"WRAPPING"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=gn;var En=P((function e(){b(this,e)}));En.OFFICE={type:3,value:"OFFICE"},En.SITE={type:3,value:"SITE"},En.USERDEFINED={type:3,value:"USERDEFINED"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=Tn;var bn=P((function e(){b(this,e)}));bn.LINEAR={type:3,value:"LINEAR"},bn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},bn.LOG_LOG={type:3,value:"LOG_LOG"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Dn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Dn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Dn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Dn.FIREDAMPER={type:3,value:"FIREDAMPER"},Dn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Dn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Dn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Dn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Dn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Dn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.MEASURED={type:3,value:"MEASURED"},Pn.PREDICTED={type:3,value:"PREDICTED"},Pn.SIMULATED={type:3,value:"SIMULATED"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Rn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Rn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Rn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Rn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Rn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Rn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Rn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Rn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Rn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Rn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Rn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Rn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Rn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Rn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Rn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Rn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Rn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Rn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Rn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Rn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Rn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Rn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Rn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Rn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Rn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Rn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Rn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Rn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Rn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Rn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Rn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Rn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Rn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Rn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Rn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Rn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Rn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Rn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Rn.PHUNIT={type:3,value:"PHUNIT"},Rn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Rn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Rn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Rn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Rn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Rn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Rn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Rn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Rn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Rn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Rn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Rn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.POSITIVE={type:3,value:"POSITIVE"},Cn.NEGATIVE={type:3,value:"NEGATIVE"},e.IfcDirectionSenseEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ANCHORPLATE={type:3,value:"ANCHORPLATE"},_n.BRACKET={type:3,value:"BRACKET"},_n.SHOE={type:3,value:"SHOE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Bn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Bn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Bn.MANHOLE={type:3,value:"MANHOLE"},Bn.METERCHAMBER={type:3,value:"METERCHAMBER"},Bn.SUMP={type:3,value:"SUMP"},Bn.TRENCH={type:3,value:"TRENCH"},Bn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.CABLE={type:3,value:"CABLE"},On.CABLECARRIER={type:3,value:"CABLECARRIER"},On.DUCT={type:3,value:"DUCT"},On.PIPE={type:3,value:"PIPE"},On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},Sn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},Sn.CHEMICAL={type:3,value:"CHEMICAL"},Sn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},Sn.COMMUNICATION={type:3,value:"COMMUNICATION"},Sn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},Sn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},Sn.CONTROL={type:3,value:"CONTROL"},Sn.CONVEYING={type:3,value:"CONVEYING"},Sn.DATA={type:3,value:"DATA"},Sn.DISPOSAL={type:3,value:"DISPOSAL"},Sn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},Sn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},Sn.DRAINAGE={type:3,value:"DRAINAGE"},Sn.EARTHING={type:3,value:"EARTHING"},Sn.ELECTRICAL={type:3,value:"ELECTRICAL"},Sn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},Sn.EXHAUST={type:3,value:"EXHAUST"},Sn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},Sn.FUEL={type:3,value:"FUEL"},Sn.GAS={type:3,value:"GAS"},Sn.HAZARDOUS={type:3,value:"HAZARDOUS"},Sn.HEATING={type:3,value:"HEATING"},Sn.LIGHTING={type:3,value:"LIGHTING"},Sn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},Sn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},Sn.OIL={type:3,value:"OIL"},Sn.OPERATIONAL={type:3,value:"OPERATIONAL"},Sn.POWERGENERATION={type:3,value:"POWERGENERATION"},Sn.RAINWATER={type:3,value:"RAINWATER"},Sn.REFRIGERATION={type:3,value:"REFRIGERATION"},Sn.SECURITY={type:3,value:"SECURITY"},Sn.SEWAGE={type:3,value:"SEWAGE"},Sn.SIGNAL={type:3,value:"SIGNAL"},Sn.STORMWATER={type:3,value:"STORMWATER"},Sn.TELEPHONE={type:3,value:"TELEPHONE"},Sn.TV={type:3,value:"TV"},Sn.VACUUM={type:3,value:"VACUUM"},Sn.VENT={type:3,value:"VENT"},Sn.VENTILATION={type:3,value:"VENTILATION"},Sn.WASTEWATER={type:3,value:"WASTEWATER"},Sn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.PUBLIC={type:3,value:"PUBLIC"},Nn.RESTRICTED={type:3,value:"RESTRICTED"},Nn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Nn.PERSONAL={type:3,value:"PERSONAL"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.DRAFT={type:3,value:"DRAFT"},Ln.FINALDRAFT={type:3,value:"FINALDRAFT"},Ln.FINAL={type:3,value:"FINAL"},Ln.REVISION={type:3,value:"REVISION"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Ln;var Mn=P((function e(){b(this,e)}));Mn.SWINGING={type:3,value:"SWINGING"},Mn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Mn.SLIDING={type:3,value:"SLIDING"},Mn.FOLDING={type:3,value:"FOLDING"},Mn.REVOLVING={type:3,value:"REVOLVING"},Mn.ROLLINGUP={type:3,value:"ROLLINGUP"},Mn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Mn;var xn=P((function e(){b(this,e)}));xn.LEFT={type:3,value:"LEFT"},xn.MIDDLE={type:3,value:"MIDDLE"},xn.RIGHT={type:3,value:"RIGHT"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=xn;var Fn=P((function e(){b(this,e)}));Fn.ALUMINIUM={type:3,value:"ALUMINIUM"},Fn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Fn.STEEL={type:3,value:"STEEL"},Fn.WOOD={type:3,value:"WOOD"},Fn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Fn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Fn.PLASTIC={type:3,value:"PLASTIC"},Fn.USERDEFINED={type:3,value:"USERDEFINED"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Hn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Hn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Hn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Hn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Hn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Hn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Hn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Hn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Hn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Hn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Hn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Hn.REVOLVING={type:3,value:"REVOLVING"},Hn.ROLLINGUP={type:3,value:"ROLLINGUP"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Hn;var Un=P((function e(){b(this,e)}));Un.DOOR={type:3,value:"DOOR"},Un.GATE={type:3,value:"GATE"},Un.TRAPDOOR={type:3,value:"TRAPDOOR"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Gn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Gn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Gn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Gn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Gn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Gn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Gn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Gn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Gn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Gn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Gn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Gn.REVOLVING={type:3,value:"REVOLVING"},Gn.ROLLINGUP={type:3,value:"ROLLINGUP"},Gn.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},Gn.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},Gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=Gn;var kn=P((function e(){b(this,e)}));kn.BEND={type:3,value:"BEND"},kn.CONNECTOR={type:3,value:"CONNECTOR"},kn.ENTRY={type:3,value:"ENTRY"},kn.EXIT={type:3,value:"EXIT"},kn.JUNCTION={type:3,value:"JUNCTION"},kn.OBSTRUCTION={type:3,value:"OBSTRUCTION"},kn.TRANSITION={type:3,value:"TRANSITION"},kn.USERDEFINED={type:3,value:"USERDEFINED"},kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=kn;var jn=P((function e(){b(this,e)}));jn.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},jn.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.FLATOVAL={type:3,value:"FLATOVAL"},Vn.RECTANGULAR={type:3,value:"RECTANGULAR"},Vn.ROUND={type:3,value:"ROUND"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.DISHWASHER={type:3,value:"DISHWASHER"},Qn.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},Qn.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},Qn.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},Qn.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},Qn.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},Qn.FREEZER={type:3,value:"FREEZER"},Qn.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},Qn.HANDDRYER={type:3,value:"HANDDRYER"},Qn.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},Qn.MICROWAVE={type:3,value:"MICROWAVE"},Qn.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},Qn.REFRIGERATOR={type:3,value:"REFRIGERATOR"},Qn.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},Qn.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},Qn.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Wn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Wn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Wn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.BATTERY={type:3,value:"BATTERY"},zn.CAPACITORBANK={type:3,value:"CAPACITORBANK"},zn.HARMONICFILTER={type:3,value:"HARMONICFILTER"},zn.INDUCTORBANK={type:3,value:"INDUCTORBANK"},zn.UPS={type:3,value:"UPS"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CHP={type:3,value:"CHP"},Kn.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},Kn.STANDALONE={type:3,value:"STANDALONE"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DC={type:3,value:"DC"},Yn.INDUCTION={type:3,value:"INDUCTION"},Yn.POLYPHASE={type:3,value:"POLYPHASE"},Yn.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},Yn.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},Yn.USERDEFINED={type:3,value:"USERDEFINED"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.TIMECLOCK={type:3,value:"TIMECLOCK"},Xn.TIMEDELAY={type:3,value:"TIMEDELAY"},Xn.RELAY={type:3,value:"RELAY"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=Xn;var qn=P((function e(){b(this,e)}));qn.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},qn.ARCH={type:3,value:"ARCH"},qn.BEAM_GRID={type:3,value:"BEAM_GRID"},qn.BRACED_FRAME={type:3,value:"BRACED_FRAME"},qn.GIRDER={type:3,value:"GIRDER"},qn.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},qn.RIGID_FRAME={type:3,value:"RIGID_FRAME"},qn.SLAB_FIELD={type:3,value:"SLAB_FIELD"},qn.TRUSS={type:3,value:"TRUSS"},qn.USERDEFINED={type:3,value:"USERDEFINED"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.COMPLEX={type:3,value:"COMPLEX"},Jn.ELEMENT={type:3,value:"ELEMENT"},Jn.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},Zn.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=Zn;var $n=P((function e(){b(this,e)}));$n.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},$n.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},$n.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},$n.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},$n.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},$n.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},$n.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},$n.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},er.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},er.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},er.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},er.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},er.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=er;var tr=P((function e(){b(this,e)}));tr.EVENTRULE={type:3,value:"EVENTRULE"},tr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},tr.EVENTTIME={type:3,value:"EVENTTIME"},tr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.STARTEVENT={type:3,value:"STARTEVENT"},nr.ENDEVENT={type:3,value:"ENDEVENT"},nr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.EXTERNAL={type:3,value:"EXTERNAL"},rr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},rr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},rr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},ir.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},ir.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},ir.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},ir.TUBEAXIAL={type:3,value:"TUBEAXIAL"},ir.VANEAXIAL={type:3,value:"VANEAXIAL"},ir.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.GLUE={type:3,value:"GLUE"},ar.MORTAR={type:3,value:"MORTAR"},ar.WELD={type:3,value:"WELD"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},sr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},sr.ODORFILTER={type:3,value:"ODORFILTER"},sr.OILFILTER={type:3,value:"OILFILTER"},sr.STRAINER={type:3,value:"STRAINER"},sr.WATERFILTER={type:3,value:"WATERFILTER"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=sr;var or=P((function e(){b(this,e)}));or.BREECHINGINLET={type:3,value:"BREECHINGINLET"},or.FIREHYDRANT={type:3,value:"FIREHYDRANT"},or.HOSEREEL={type:3,value:"HOSEREEL"},or.SPRINKLER={type:3,value:"SPRINKLER"},or.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.SOURCE={type:3,value:"SOURCE"},lr.SINK={type:3,value:"SINK"},lr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=lr;var ur=P((function e(){b(this,e)}));ur.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},ur.THERMOMETER={type:3,value:"THERMOMETER"},ur.AMMETER={type:3,value:"AMMETER"},ur.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},ur.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},ur.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},ur.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},ur.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.ENERGYMETER={type:3,value:"ENERGYMETER"},cr.GASMETER={type:3,value:"GASMETER"},cr.OILMETER={type:3,value:"OILMETER"},cr.WATERMETER={type:3,value:"WATERMETER"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},fr.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},fr.PAD_FOOTING={type:3,value:"PAD_FOOTING"},fr.PILE_CAP={type:3,value:"PILE_CAP"},fr.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.CHAIR={type:3,value:"CHAIR"},pr.TABLE={type:3,value:"TABLE"},pr.DESK={type:3,value:"DESK"},pr.BED={type:3,value:"BED"},pr.FILECABINET={type:3,value:"FILECABINET"},pr.SHELF={type:3,value:"SHELF"},pr.SOFA={type:3,value:"SOFA"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.TERRAIN={type:3,value:"TERRAIN"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},dr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},dr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},dr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},dr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},dr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},dr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},dr.USERDEFINED={type:3,value:"USERDEFINED"},dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=dr;var vr=P((function e(){b(this,e)}));vr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},vr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=vr;var hr=P((function e(){b(this,e)}));hr.RECTANGULAR={type:3,value:"RECTANGULAR"},hr.RADIAL={type:3,value:"RADIAL"},hr.TRIANGULAR={type:3,value:"TRIANGULAR"},hr.IRREGULAR={type:3,value:"IRREGULAR"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.PLATE={type:3,value:"PLATE"},Ir.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},yr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},yr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},yr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},yr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},yr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},yr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},yr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},yr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},yr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},yr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},yr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},yr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.CYCLONIC={type:3,value:"CYCLONIC"},mr.GREASE={type:3,value:"GREASE"},mr.OIL={type:3,value:"OIL"},mr.PETROL={type:3,value:"PETROL"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.INTERNAL={type:3,value:"INTERNAL"},wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=wr;var gr=P((function e(){b(this,e)}));gr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},gr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},gr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.DATA={type:3,value:"DATA"},Er.POWER={type:3,value:"POWER"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Tr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Tr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Tr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Tr;var br=P((function e(){b(this,e)}));br.ADMINISTRATION={type:3,value:"ADMINISTRATION"},br.CARPENTRY={type:3,value:"CARPENTRY"},br.CLEANING={type:3,value:"CLEANING"},br.CONCRETE={type:3,value:"CONCRETE"},br.DRYWALL={type:3,value:"DRYWALL"},br.ELECTRIC={type:3,value:"ELECTRIC"},br.FINISHING={type:3,value:"FINISHING"},br.FLOORING={type:3,value:"FLOORING"},br.GENERAL={type:3,value:"GENERAL"},br.HVAC={type:3,value:"HVAC"},br.LANDSCAPING={type:3,value:"LANDSCAPING"},br.MASONRY={type:3,value:"MASONRY"},br.PAINTING={type:3,value:"PAINTING"},br.PAVING={type:3,value:"PAVING"},br.PLUMBING={type:3,value:"PLUMBING"},br.ROOFING={type:3,value:"ROOFING"},br.SITEGRADING={type:3,value:"SITEGRADING"},br.STEELWORK={type:3,value:"STEELWORK"},br.SURVEYING={type:3,value:"SURVEYING"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Dr.FLUORESCENT={type:3,value:"FLUORESCENT"},Dr.HALOGEN={type:3,value:"HALOGEN"},Dr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Dr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Dr.LED={type:3,value:"LED"},Dr.METALHALIDE={type:3,value:"METALHALIDE"},Dr.OLED={type:3,value:"OLED"},Dr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.AXIS1={type:3,value:"AXIS1"},Pr.AXIS2={type:3,value:"AXIS2"},Pr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.TYPE_A={type:3,value:"TYPE_A"},Rr.TYPE_B={type:3,value:"TYPE_B"},Rr.TYPE_C={type:3,value:"TYPE_C"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Cr.FLUORESCENT={type:3,value:"FLUORESCENT"},Cr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Cr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Cr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Cr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Cr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Cr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Cr.METALHALIDE={type:3,value:"METALHALIDE"},Cr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Cr;var _r=P((function e(){b(this,e)}));_r.POINTSOURCE={type:3,value:"POINTSOURCE"},_r.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},_r.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Br.LOAD_CASE={type:3,value:"LOAD_CASE"},Br.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.LOGICALAND={type:3,value:"LOGICALAND"},Or.LOGICALOR={type:3,value:"LOGICALOR"},Or.LOGICALXOR={type:3,value:"LOGICALXOR"},Or.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},Or.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},e.IfcLogicalOperatorEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.ANCHORBOLT={type:3,value:"ANCHORBOLT"},Sr.BOLT={type:3,value:"BOLT"},Sr.DOWEL={type:3,value:"DOWEL"},Sr.NAIL={type:3,value:"NAIL"},Sr.NAILPLATE={type:3,value:"NAILPLATE"},Sr.RIVET={type:3,value:"RIVET"},Sr.SCREW={type:3,value:"SCREW"},Sr.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},Sr.STAPLE={type:3,value:"STAPLE"},Sr.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.AIRSTATION={type:3,value:"AIRSTATION"},Nr.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},Nr.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},Nr.OXYGENPLANT={type:3,value:"OXYGENPLANT"},Nr.VACUUMSTATION={type:3,value:"VACUUMSTATION"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.BRACE={type:3,value:"BRACE"},Lr.CHORD={type:3,value:"CHORD"},Lr.COLLAR={type:3,value:"COLLAR"},Lr.MEMBER={type:3,value:"MEMBER"},Lr.MULLION={type:3,value:"MULLION"},Lr.PLATE={type:3,value:"PLATE"},Lr.POST={type:3,value:"POST"},Lr.PURLIN={type:3,value:"PURLIN"},Lr.RAFTER={type:3,value:"RAFTER"},Lr.STRINGER={type:3,value:"STRINGER"},Lr.STRUT={type:3,value:"STRUT"},Lr.STUD={type:3,value:"STUD"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=Lr;var Mr=P((function e(){b(this,e)}));Mr.BELTDRIVE={type:3,value:"BELTDRIVE"},Mr.COUPLING={type:3,value:"COUPLING"},Mr.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},Mr.USERDEFINED={type:3,value:"USERDEFINED"},Mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=Mr;var xr=P((function e(){b(this,e)}));xr.NULL={type:3,value:"NULL"},e.IfcNullStyle=xr;var Fr=P((function e(){b(this,e)}));Fr.PRODUCT={type:3,value:"PRODUCT"},Fr.PROCESS={type:3,value:"PROCESS"},Fr.CONTROL={type:3,value:"CONTROL"},Fr.RESOURCE={type:3,value:"RESOURCE"},Fr.ACTOR={type:3,value:"ACTOR"},Fr.GROUP={type:3,value:"GROUP"},Fr.PROJECT={type:3,value:"PROJECT"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},Hr.CODEWAIVER={type:3,value:"CODEWAIVER"},Hr.DESIGNINTENT={type:3,value:"DESIGNINTENT"},Hr.EXTERNAL={type:3,value:"EXTERNAL"},Hr.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},Hr.MERGECONFLICT={type:3,value:"MERGECONFLICT"},Hr.MODELVIEW={type:3,value:"MODELVIEW"},Hr.PARAMETER={type:3,value:"PARAMETER"},Hr.REQUIREMENT={type:3,value:"REQUIREMENT"},Hr.SPECIFICATION={type:3,value:"SPECIFICATION"},Hr.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.ASSIGNEE={type:3,value:"ASSIGNEE"},Ur.ASSIGNOR={type:3,value:"ASSIGNOR"},Ur.LESSEE={type:3,value:"LESSEE"},Ur.LESSOR={type:3,value:"LESSOR"},Ur.LETTINGAGENT={type:3,value:"LETTINGAGENT"},Ur.OWNER={type:3,value:"OWNER"},Ur.TENANT={type:3,value:"TENANT"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.OPENING={type:3,value:"OPENING"},Gr.RECESS={type:3,value:"RECESS"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},kr.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},kr.POWEROUTLET={type:3,value:"POWEROUTLET"},kr.DATAOUTLET={type:3,value:"DATAOUTLET"},kr.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},kr.USERDEFINED={type:3,value:"USERDEFINED"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=kr;var jr=P((function e(){b(this,e)}));jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.GRILL={type:3,value:"GRILL"},Vr.LOUVER={type:3,value:"LOUVER"},Vr.SCREEN={type:3,value:"SCREEN"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.ACCESS={type:3,value:"ACCESS"},Qr.BUILDING={type:3,value:"BUILDING"},Qr.WORK={type:3,value:"WORK"},Qr.USERDEFINED={type:3,value:"USERDEFINED"},Qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Qr;var Wr=P((function e(){b(this,e)}));Wr.PHYSICAL={type:3,value:"PHYSICAL"},Wr.VIRTUAL={type:3,value:"VIRTUAL"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=Wr;var zr=P((function e(){b(this,e)}));zr.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},zr.COMPOSITE={type:3,value:"COMPOSITE"},zr.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},zr.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.BORED={type:3,value:"BORED"},Kr.DRIVEN={type:3,value:"DRIVEN"},Kr.JETGROUTING={type:3,value:"JETGROUTING"},Kr.COHESION={type:3,value:"COHESION"},Kr.FRICTION={type:3,value:"FRICTION"},Kr.SUPPORT={type:3,value:"SUPPORT"},Kr.USERDEFINED={type:3,value:"USERDEFINED"},Kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.BEND={type:3,value:"BEND"},Yr.CONNECTOR={type:3,value:"CONNECTOR"},Yr.ENTRY={type:3,value:"ENTRY"},Yr.EXIT={type:3,value:"EXIT"},Yr.JUNCTION={type:3,value:"JUNCTION"},Yr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},Yr.TRANSITION={type:3,value:"TRANSITION"},Yr.USERDEFINED={type:3,value:"USERDEFINED"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.CULVERT={type:3,value:"CULVERT"},Xr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Xr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Xr.GUTTER={type:3,value:"GUTTER"},Xr.SPOOL={type:3,value:"SPOOL"},Xr.USERDEFINED={type:3,value:"USERDEFINED"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Xr;var qr=P((function e(){b(this,e)}));qr.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},qr.SHEET={type:3,value:"SHEET"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.CURVE3D={type:3,value:"CURVE3D"},Jr.PCURVE_S1={type:3,value:"PCURVE_S1"},Jr.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=Jr;var Zr=P((function e(){b(this,e)}));Zr.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Zr.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Zr.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Zr.CALIBRATION={type:3,value:"CALIBRATION"},Zr.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Zr.SHUTDOWN={type:3,value:"SHUTDOWN"},Zr.STARTUP={type:3,value:"STARTUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.CURVE={type:3,value:"CURVE"},$r.AREA={type:3,value:"AREA"},e.IfcProfileTypeEnum=$r;var ei=P((function e(){b(this,e)}));ei.CHANGEORDER={type:3,value:"CHANGEORDER"},ei.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},ei.MOVEORDER={type:3,value:"MOVEORDER"},ei.PURCHASEORDER={type:3,value:"PURCHASEORDER"},ei.WORKORDER={type:3,value:"WORKORDER"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},ti.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=ti;var ni=P((function e(){b(this,e)}));ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},ri.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},ri.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},ri.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},ri.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},ri.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},ri.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ELECTRONIC={type:3,value:"ELECTRONIC"},ii.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},ii.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},ii.THERMAL={type:3,value:"THERMAL"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},ai.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},ai.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},ai.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},ai.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},ai.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},ai.VARISTOR={type:3,value:"VARISTOR"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.CIRCULATOR={type:3,value:"CIRCULATOR"},si.ENDSUCTION={type:3,value:"ENDSUCTION"},si.SPLITCASE={type:3,value:"SPLITCASE"},si.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},si.SUMPPUMP={type:3,value:"SUMPPUMP"},si.VERTICALINLINE={type:3,value:"VERTICALINLINE"},si.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.HANDRAIL={type:3,value:"HANDRAIL"},oi.GUARDRAIL={type:3,value:"GUARDRAIL"},oi.BALUSTRADE={type:3,value:"BALUSTRADE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=oi;var li=P((function e(){b(this,e)}));li.STRAIGHT={type:3,value:"STRAIGHT"},li.SPIRAL={type:3,value:"SPIRAL"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},ui.USERDEFINED={type:3,value:"USERDEFINED"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.DAILY={type:3,value:"DAILY"},ci.WEEKLY={type:3,value:"WEEKLY"},ci.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},ci.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},ci.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},ci.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},ci.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},ci.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=ci;var fi=P((function e(){b(this,e)}));fi.BLINN={type:3,value:"BLINN"},fi.FLAT={type:3,value:"FLAT"},fi.GLASS={type:3,value:"GLASS"},fi.MATT={type:3,value:"MATT"},fi.METAL={type:3,value:"METAL"},fi.MIRROR={type:3,value:"MIRROR"},fi.PHONG={type:3,value:"PHONG"},fi.PLASTIC={type:3,value:"PLASTIC"},fi.STRAUSS={type:3,value:"STRAUSS"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=fi;var pi=P((function e(){b(this,e)}));pi.MAIN={type:3,value:"MAIN"},pi.SHEAR={type:3,value:"SHEAR"},pi.LIGATURE={type:3,value:"LIGATURE"},pi.STUD={type:3,value:"STUD"},pi.PUNCHING={type:3,value:"PUNCHING"},pi.EDGE={type:3,value:"EDGE"},pi.RING={type:3,value:"RING"},pi.ANCHORING={type:3,value:"ANCHORING"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.PLAIN={type:3,value:"PLAIN"},Ai.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Ai;var di=P((function e(){b(this,e)}));di.ANCHORING={type:3,value:"ANCHORING"},di.EDGE={type:3,value:"EDGE"},di.LIGATURE={type:3,value:"LIGATURE"},di.MAIN={type:3,value:"MAIN"},di.PUNCHING={type:3,value:"PUNCHING"},di.RING={type:3,value:"RING"},di.SHEAR={type:3,value:"SHEAR"},di.STUD={type:3,value:"STUD"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.SUPPLIER={type:3,value:"SUPPLIER"},hi.MANUFACTURER={type:3,value:"MANUFACTURER"},hi.CONTRACTOR={type:3,value:"CONTRACTOR"},hi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},hi.ARCHITECT={type:3,value:"ARCHITECT"},hi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},hi.COSTENGINEER={type:3,value:"COSTENGINEER"},hi.CLIENT={type:3,value:"CLIENT"},hi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},hi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},hi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},hi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},hi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},hi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},hi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},hi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},hi.ENGINEER={type:3,value:"ENGINEER"},hi.OWNER={type:3,value:"OWNER"},hi.CONSULTANT={type:3,value:"CONSULTANT"},hi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},hi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},hi.RESELLER={type:3,value:"RESELLER"},hi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ii.SHED_ROOF={type:3,value:"SHED_ROOF"},Ii.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ii.HIP_ROOF={type:3,value:"HIP_ROOF"},Ii.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ii.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ii.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ii.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ii.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ii.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ii.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ii.DOME_ROOF={type:3,value:"DOME_ROOF"},Ii.FREEFORM={type:3,value:"FREEFORM"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.EXA={type:3,value:"EXA"},yi.PETA={type:3,value:"PETA"},yi.TERA={type:3,value:"TERA"},yi.GIGA={type:3,value:"GIGA"},yi.MEGA={type:3,value:"MEGA"},yi.KILO={type:3,value:"KILO"},yi.HECTO={type:3,value:"HECTO"},yi.DECA={type:3,value:"DECA"},yi.DECI={type:3,value:"DECI"},yi.CENTI={type:3,value:"CENTI"},yi.MILLI={type:3,value:"MILLI"},yi.MICRO={type:3,value:"MICRO"},yi.NANO={type:3,value:"NANO"},yi.PICO={type:3,value:"PICO"},yi.FEMTO={type:3,value:"FEMTO"},yi.ATTO={type:3,value:"ATTO"},e.IfcSIPrefix=yi;var mi=P((function e(){b(this,e)}));mi.AMPERE={type:3,value:"AMPERE"},mi.BECQUEREL={type:3,value:"BECQUEREL"},mi.CANDELA={type:3,value:"CANDELA"},mi.COULOMB={type:3,value:"COULOMB"},mi.CUBIC_METRE={type:3,value:"CUBIC_METRE"},mi.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},mi.FARAD={type:3,value:"FARAD"},mi.GRAM={type:3,value:"GRAM"},mi.GRAY={type:3,value:"GRAY"},mi.HENRY={type:3,value:"HENRY"},mi.HERTZ={type:3,value:"HERTZ"},mi.JOULE={type:3,value:"JOULE"},mi.KELVIN={type:3,value:"KELVIN"},mi.LUMEN={type:3,value:"LUMEN"},mi.LUX={type:3,value:"LUX"},mi.METRE={type:3,value:"METRE"},mi.MOLE={type:3,value:"MOLE"},mi.NEWTON={type:3,value:"NEWTON"},mi.OHM={type:3,value:"OHM"},mi.PASCAL={type:3,value:"PASCAL"},mi.RADIAN={type:3,value:"RADIAN"},mi.SECOND={type:3,value:"SECOND"},mi.SIEMENS={type:3,value:"SIEMENS"},mi.SIEVERT={type:3,value:"SIEVERT"},mi.SQUARE_METRE={type:3,value:"SQUARE_METRE"},mi.STERADIAN={type:3,value:"STERADIAN"},mi.TESLA={type:3,value:"TESLA"},mi.VOLT={type:3,value:"VOLT"},mi.WATT={type:3,value:"WATT"},mi.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=mi;var wi=P((function e(){b(this,e)}));wi.BATH={type:3,value:"BATH"},wi.BIDET={type:3,value:"BIDET"},wi.CISTERN={type:3,value:"CISTERN"},wi.SHOWER={type:3,value:"SHOWER"},wi.SINK={type:3,value:"SINK"},wi.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},wi.TOILETPAN={type:3,value:"TOILETPAN"},wi.URINAL={type:3,value:"URINAL"},wi.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},wi.WCSEAT={type:3,value:"WCSEAT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.UNIFORM={type:3,value:"UNIFORM"},gi.TAPERED={type:3,value:"TAPERED"},e.IfcSectionTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.COSENSOR={type:3,value:"COSENSOR"},Ei.CO2SENSOR={type:3,value:"CO2SENSOR"},Ei.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},Ei.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},Ei.FIRESENSOR={type:3,value:"FIRESENSOR"},Ei.FLOWSENSOR={type:3,value:"FLOWSENSOR"},Ei.FROSTSENSOR={type:3,value:"FROSTSENSOR"},Ei.GASSENSOR={type:3,value:"GASSENSOR"},Ei.HEATSENSOR={type:3,value:"HEATSENSOR"},Ei.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},Ei.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},Ei.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},Ei.LEVELSENSOR={type:3,value:"LEVELSENSOR"},Ei.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},Ei.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},Ei.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},Ei.PHSENSOR={type:3,value:"PHSENSOR"},Ei.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},Ei.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},Ei.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},Ei.SMOKESENSOR={type:3,value:"SMOKESENSOR"},Ei.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},Ei.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},Ei.WINDSENSOR={type:3,value:"WINDSENSOR"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.START_START={type:3,value:"START_START"},Ti.START_FINISH={type:3,value:"START_FINISH"},Ti.FINISH_START={type:3,value:"FINISH_START"},Ti.FINISH_FINISH={type:3,value:"FINISH_FINISH"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=Ti;var bi=P((function e(){b(this,e)}));bi.JALOUSIE={type:3,value:"JALOUSIE"},bi.SHUTTER={type:3,value:"SHUTTER"},bi.AWNING={type:3,value:"AWNING"},bi.USERDEFINED={type:3,value:"USERDEFINED"},bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=bi;var Di=P((function e(){b(this,e)}));Di.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},Di.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},Di.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},Di.P_LISTVALUE={type:3,value:"P_LISTVALUE"},Di.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},Di.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},Di.Q_LENGTH={type:3,value:"Q_LENGTH"},Di.Q_AREA={type:3,value:"Q_AREA"},Di.Q_VOLUME={type:3,value:"Q_VOLUME"},Di.Q_COUNT={type:3,value:"Q_COUNT"},Di.Q_WEIGHT={type:3,value:"Q_WEIGHT"},Di.Q_TIME={type:3,value:"Q_TIME"},e.IfcSimplePropertyTemplateTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.FLOOR={type:3,value:"FLOOR"},Pi.ROOF={type:3,value:"ROOF"},Pi.LANDING={type:3,value:"LANDING"},Pi.BASESLAB={type:3,value:"BASESLAB"},Pi.USERDEFINED={type:3,value:"USERDEFINED"},Pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},Ri.SOLARPANEL={type:3,value:"SOLARPANEL"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.CONVECTOR={type:3,value:"CONVECTOR"},Ci.RADIATOR={type:3,value:"RADIATOR"},Ci.USERDEFINED={type:3,value:"USERDEFINED"},Ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=Ci;var _i=P((function e(){b(this,e)}));_i.SPACE={type:3,value:"SPACE"},_i.PARKING={type:3,value:"PARKING"},_i.GFA={type:3,value:"GFA"},_i.INTERNAL={type:3,value:"INTERNAL"},_i.EXTERNAL={type:3,value:"EXTERNAL"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Bi.FIRESAFETY={type:3,value:"FIRESAFETY"},Bi.LIGHTING={type:3,value:"LIGHTING"},Bi.OCCUPANCY={type:3,value:"OCCUPANCY"},Bi.SECURITY={type:3,value:"SECURITY"},Bi.THERMAL={type:3,value:"THERMAL"},Bi.TRANSPORT={type:3,value:"TRANSPORT"},Bi.VENTILATION={type:3,value:"VENTILATION"},Bi.USERDEFINED={type:3,value:"USERDEFINED"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.BIRDCAGE={type:3,value:"BIRDCAGE"},Oi.COWL={type:3,value:"COWL"},Oi.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.STRAIGHT={type:3,value:"STRAIGHT"},Si.WINDER={type:3,value:"WINDER"},Si.SPIRAL={type:3,value:"SPIRAL"},Si.CURVED={type:3,value:"CURVED"},Si.FREEFORM={type:3,value:"FREEFORM"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},Ni.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},Ni.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},Ni.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},Ni.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},Ni.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},Ni.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},Ni.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},Ni.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},Ni.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},Ni.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},Ni.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},Ni.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},Ni.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.READWRITE={type:3,value:"READWRITE"},Li.READONLY={type:3,value:"READONLY"},Li.LOCKED={type:3,value:"LOCKED"},Li.READWRITELOCKED={type:3,value:"READWRITELOCKED"},Li.READONLYLOCKED={type:3,value:"READONLYLOCKED"},e.IfcStateEnum=Li;var Mi=P((function e(){b(this,e)}));Mi.CONST={type:3,value:"CONST"},Mi.LINEAR={type:3,value:"LINEAR"},Mi.POLYGONAL={type:3,value:"POLYGONAL"},Mi.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Mi.SINUS={type:3,value:"SINUS"},Mi.PARABOLA={type:3,value:"PARABOLA"},Mi.DISCRETE={type:3,value:"DISCRETE"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Mi;var xi=P((function e(){b(this,e)}));xi.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},xi.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},xi.CABLE={type:3,value:"CABLE"},xi.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},xi.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=xi;var Fi=P((function e(){b(this,e)}));Fi.CONST={type:3,value:"CONST"},Fi.BILINEAR={type:3,value:"BILINEAR"},Fi.DISCRETE={type:3,value:"DISCRETE"},Fi.ISOCONTOUR={type:3,value:"ISOCONTOUR"},Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},Hi.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},Hi.SHELL={type:3,value:"SHELL"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.PURCHASE={type:3,value:"PURCHASE"},Ui.WORK={type:3,value:"WORK"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.MARK={type:3,value:"MARK"},Gi.TAG={type:3,value:"TAG"},Gi.TREATMENT={type:3,value:"TREATMENT"},Gi.USERDEFINED={type:3,value:"USERDEFINED"},Gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.POSITIVE={type:3,value:"POSITIVE"},ki.NEGATIVE={type:3,value:"NEGATIVE"},ki.BOTH={type:3,value:"BOTH"},e.IfcSurfaceSide=ki;var ji=P((function e(){b(this,e)}));ji.CONTACTOR={type:3,value:"CONTACTOR"},ji.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ji.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ji.KEYPAD={type:3,value:"KEYPAD"},ji.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ji.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ji.STARTER={type:3,value:"STARTER"},ji.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ji.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ji.USERDEFINED={type:3,value:"USERDEFINED"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.PANEL={type:3,value:"PANEL"},Vi.WORKSURFACE={type:3,value:"WORKSURFACE"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.BASIN={type:3,value:"BASIN"},Qi.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Qi.EXPANSION={type:3,value:"EXPANSION"},Qi.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Qi.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Qi.STORAGE={type:3,value:"STORAGE"},Qi.VESSEL={type:3,value:"VESSEL"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Wi.WORKTIME={type:3,value:"WORKTIME"},Wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ATTENDANCE={type:3,value:"ATTENDANCE"},zi.CONSTRUCTION={type:3,value:"CONSTRUCTION"},zi.DEMOLITION={type:3,value:"DEMOLITION"},zi.DISMANTLE={type:3,value:"DISMANTLE"},zi.DISPOSAL={type:3,value:"DISPOSAL"},zi.INSTALLATION={type:3,value:"INSTALLATION"},zi.LOGISTIC={type:3,value:"LOGISTIC"},zi.MAINTENANCE={type:3,value:"MAINTENANCE"},zi.MOVE={type:3,value:"MOVE"},zi.OPERATION={type:3,value:"OPERATION"},zi.REMOVAL={type:3,value:"REMOVAL"},zi.RENOVATION={type:3,value:"RENOVATION"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.COUPLER={type:3,value:"COUPLER"},Ki.FIXED_END={type:3,value:"FIXED_END"},Ki.TENSIONING_END={type:3,value:"TENSIONING_END"},Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BAR={type:3,value:"BAR"},Yi.COATED={type:3,value:"COATED"},Yi.STRAND={type:3,value:"STRAND"},Yi.WIRE={type:3,value:"WIRE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.LEFT={type:3,value:"LEFT"},Xi.RIGHT={type:3,value:"RIGHT"},Xi.UP={type:3,value:"UP"},Xi.DOWN={type:3,value:"DOWN"},e.IfcTextPath=Xi;var qi=P((function e(){b(this,e)}));qi.CONTINUOUS={type:3,value:"CONTINUOUS"},qi.DISCRETE={type:3,value:"DISCRETE"},qi.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},qi.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},qi.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},qi.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.CURRENT={type:3,value:"CURRENT"},Ji.FREQUENCY={type:3,value:"FREQUENCY"},Ji.INVERTER={type:3,value:"INVERTER"},Ji.RECTIFIER={type:3,value:"RECTIFIER"},Ji.VOLTAGE={type:3,value:"VOLTAGE"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},Zi.CONTINUOUS={type:3,value:"CONTINUOUS"},Zi.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},Zi.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},e.IfcTransitionCode=Zi;var $i=P((function e(){b(this,e)}));$i.ELEVATOR={type:3,value:"ELEVATOR"},$i.ESCALATOR={type:3,value:"ESCALATOR"},$i.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},$i.CRANEWAY={type:3,value:"CRANEWAY"},$i.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},$i.USERDEFINED={type:3,value:"USERDEFINED"},$i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=$i;var ea=P((function e(){b(this,e)}));ea.CARTESIAN={type:3,value:"CARTESIAN"},ea.PARAMETER={type:3,value:"PARAMETER"},ea.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=ea;var ta=P((function e(){b(this,e)}));ta.FINNED={type:3,value:"FINNED"},ta.USERDEFINED={type:3,value:"USERDEFINED"},ta.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=ta;var na=P((function e(){b(this,e)}));na.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},na.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},na.AREAUNIT={type:3,value:"AREAUNIT"},na.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},na.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},na.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},na.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},na.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},na.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},na.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},na.ENERGYUNIT={type:3,value:"ENERGYUNIT"},na.FORCEUNIT={type:3,value:"FORCEUNIT"},na.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},na.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},na.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},na.LENGTHUNIT={type:3,value:"LENGTHUNIT"},na.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},na.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},na.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},na.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},na.MASSUNIT={type:3,value:"MASSUNIT"},na.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},na.POWERUNIT={type:3,value:"POWERUNIT"},na.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},na.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},na.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},na.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},na.TIMEUNIT={type:3,value:"TIMEUNIT"},na.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},na.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=na;var ra=P((function e(){b(this,e)}));ra.ALARMPANEL={type:3,value:"ALARMPANEL"},ra.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ra.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ra.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ra.MIMICPANEL={type:3,value:"MIMICPANEL"},ra.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ra.THERMOSTAT={type:3,value:"THERMOSTAT"},ra.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ra;var ia=P((function e(){b(this,e)}));ia.AIRHANDLER={type:3,value:"AIRHANDLER"},ia.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ia.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ia.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ia.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.AIRRELEASE={type:3,value:"AIRRELEASE"},aa.ANTIVACUUM={type:3,value:"ANTIVACUUM"},aa.CHANGEOVER={type:3,value:"CHANGEOVER"},aa.CHECK={type:3,value:"CHECK"},aa.COMMISSIONING={type:3,value:"COMMISSIONING"},aa.DIVERTING={type:3,value:"DIVERTING"},aa.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},aa.DOUBLECHECK={type:3,value:"DOUBLECHECK"},aa.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},aa.FAUCET={type:3,value:"FAUCET"},aa.FLUSHING={type:3,value:"FLUSHING"},aa.GASCOCK={type:3,value:"GASCOCK"},aa.GASTAP={type:3,value:"GASTAP"},aa.ISOLATING={type:3,value:"ISOLATING"},aa.MIXING={type:3,value:"MIXING"},aa.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},aa.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},aa.REGULATING={type:3,value:"REGULATING"},aa.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},aa.STEAMTRAP={type:3,value:"STEAMTRAP"},aa.STOPCOCK={type:3,value:"STOPCOCK"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.COMPRESSION={type:3,value:"COMPRESSION"},sa.SPRING={type:3,value:"SPRING"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.CUTOUT={type:3,value:"CUTOUT"},oa.NOTCH={type:3,value:"NOTCH"},oa.HOLE={type:3,value:"HOLE"},oa.MITER={type:3,value:"MITER"},oa.CHAMFER={type:3,value:"CHAMFER"},oa.EDGE={type:3,value:"EDGE"},oa.USERDEFINED={type:3,value:"USERDEFINED"},oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=oa;var la=P((function e(){b(this,e)}));la.MOVABLE={type:3,value:"MOVABLE"},la.PARAPET={type:3,value:"PARAPET"},la.PARTITIONING={type:3,value:"PARTITIONING"},la.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},la.SHEAR={type:3,value:"SHEAR"},la.SOLIDWALL={type:3,value:"SOLIDWALL"},la.STANDARD={type:3,value:"STANDARD"},la.POLYGONAL={type:3,value:"POLYGONAL"},la.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.FLOORTRAP={type:3,value:"FLOORTRAP"},ua.FLOORWASTE={type:3,value:"FLOORWASTE"},ua.GULLYSUMP={type:3,value:"GULLYSUMP"},ua.GULLYTRAP={type:3,value:"GULLYTRAP"},ua.ROOFDRAIN={type:3,value:"ROOFDRAIN"},ua.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},ua.WASTETRAP={type:3,value:"WASTETRAP"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},ca.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},ca.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},ca.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},ca.TOPHUNG={type:3,value:"TOPHUNG"},ca.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},ca.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},ca.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},ca.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},ca.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},ca.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},ca.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},ca.OTHEROPERATION={type:3,value:"OTHEROPERATION"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=ca;var fa=P((function e(){b(this,e)}));fa.LEFT={type:3,value:"LEFT"},fa.MIDDLE={type:3,value:"MIDDLE"},fa.RIGHT={type:3,value:"RIGHT"},fa.BOTTOM={type:3,value:"BOTTOM"},fa.TOP={type:3,value:"TOP"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=fa;var pa=P((function e(){b(this,e)}));pa.ALUMINIUM={type:3,value:"ALUMINIUM"},pa.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},pa.STEEL={type:3,value:"STEEL"},pa.WOOD={type:3,value:"WOOD"},pa.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},pa.PLASTIC={type:3,value:"PLASTIC"},pa.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},Aa.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},Aa.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},Aa.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},Aa.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},Aa.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},Aa.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},Aa.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},Aa.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=Aa;var da=P((function e(){b(this,e)}));da.WINDOW={type:3,value:"WINDOW"},da.SKYLIGHT={type:3,value:"SKYLIGHT"},da.LIGHTDOME={type:3,value:"LIGHTDOME"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=da;var va=P((function e(){b(this,e)}));va.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},va.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},va.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},va.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},va.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},va.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},va.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},va.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},va.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=va;var ha=P((function e(){b(this,e)}));ha.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},ha.SECONDSHIFT={type:3,value:"SECONDSHIFT"},ha.THIRDSHIFT={type:3,value:"THIRDSHIFT"},ha.USERDEFINED={type:3,value:"USERDEFINED"},ha.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.ACTUAL={type:3,value:"ACTUAL"},Ia.BASELINE={type:3,value:"BASELINE"},Ia.PLANNED={type:3,value:"PLANNED"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.ACTUAL={type:3,value:"ACTUAL"},ya.BASELINE={type:3,value:"BASELINE"},ya.PLANNED={type:3,value:"PLANNED"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=ya;var ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ma;var wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=wa;var ga=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=ga;var Ea=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=Ea;var Ta=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=Ta;var ba=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=ba;var Da=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(ba);e.IfcBoundaryEdgeCondition=Da;var Pa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(ba);e.IfcBoundaryFaceCondition=Pa;var Ra=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(ba);e.IfcBoundaryNodeCondition=Ra;var Ca=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(Ra);e.IfcBoundaryNodeConditionWarping=Ca;var _a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=_a;var Ba=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(_a);e.IfcConnectionPointGeometry=Ba;var Oa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(_a);e.IfcConnectionSurfaceGeometry=Oa;var Sa=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(_a);e.IfcConnectionVolumeGeometry=Sa;var Na=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Na;var La=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=La;var Ma=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=Ma;var xa=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(Ea);e.IfcCostValue=xa;var Fa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Elements=r,s.UnitType=i,s.UserDefinedType=a,s.type=1765591967,s}return P(n)}();e.IfcDerivedUnit=Fa;var Ha=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Ha;var Ua=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Ua;var Ga=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=Ga;var ka=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=ka;var ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(ka);e.IfcExternallyDefinedHatchStyle=ja;var Va=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(ka);e.IfcExternallyDefinedSurfaceStyle=Va;var Qa=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(ka);e.IfcExternallyDefinedTextFont=Qa;var Wa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Wa;var za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=za;var Ka=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(Ga);e.IfcLibraryInformation=Ka;var Ya=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(ka);e.IfcLibraryReference=Ya;var Xa=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Xa;var qa=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=qa;var Ja=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).SourceCRS=r,f.TargetCRS=i,f.Eastings=a,f.Northings=s,f.OrthogonalHeight=o,f.XAxisAbscissa=l,f.XAxisOrdinate=u,f.Scale=c,f.type=3057273783,f}return P(n)}(La);e.IfcMapConversion=Ja;var Za=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=Za;var $a=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=$a;var es=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}($a);e.IfcMaterialLayer=es;var ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}($a);e.IfcMaterialLayerSet=ts;var ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(es);e.IfcMaterialLayerWithOffsets=ns;var rs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=rs;var is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}($a);e.IfcMaterialProfile=is;var as=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}($a);e.IfcMaterialProfileSet=as;var ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(is);e.IfcMaterialProfileWithOffsets=ss;var os=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Na);e.IfcMetric=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3701648758,r}return P(n)}();e.IfcObjectPlacement=ps;var As=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Na);e.IfcObjective=As;var ds=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ds;var vs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=vs;var hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=hs;var Is=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(ys);e.IfcPhysicalSimpleQuantity=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(wa);e.IfcPostalAddress=ws;var gs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=Es;var Ts=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(Es);e.IfcPresentationLayerWithStyle=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=bs;var Ds=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Styles=r,i.type=2417041796,i}return P(n)}();e.IfcPresentationStyleAssignment=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=Rs;var Cs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(Ma);e.IfcProjectedCRS=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=_s;var Bs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(_s);e.IfcPropertyEnumeration=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(ms);e.IfcQuantityArea=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(ms);e.IfcQuantityCount=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(ms);e.IfcQuantityLength=Ns;var Ls=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(ms);e.IfcQuantityTime=Ls;var Ms=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(ms);e.IfcQuantityVolume=Ms;var xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(ms);e.IfcQuantityWeight=xs;var Fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=Us;var Gs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=ks;var js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=js;var Vs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=Vs;var Qs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,new H_(0),r)).UnitType=r,s.Prefix=i,s.Name=a,s.type=448429030,s}return P(n)}(fs);e.IfcSIUnit=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=zs;var Ks=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(Us);e.IfcShapeModel=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ys);e.IfcShapeRepresentation=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(Js);e.IfcStructuralLoadConfiguration=Zs;var $s=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(Js);e.IfcStructuralLoadOrResult=$s;var eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}($s);e.IfcStructuralLoadStatic=eo;var to=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(eo);e.IfcStructuralLoadTemperature=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(Us);e.IfcStyleModel=no;var ro=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(ks);e.IfcStyledItem=ro;var io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(no);e.IfcStyledRepresentation=io;var ao=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}($s);e.IfcSurfaceReinforcementArea=ao;var so=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(bs);e.IfcSurfaceStyle=so;var oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(gs);e.IfcSurfaceStyleLighting=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(gs);e.IfcSurfaceStyleRefraction=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(gs);e.IfcSurfaceStyleShading=uo;var co=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(gs);e.IfcSurfaceStyleWithTextures=co;var fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(gs);e.IfcSurfaceTexture=fo;var po=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=vo;var ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(zs);e.IfcTaskTime=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(ho);e.IfcTaskTimeRecurring=Io;var yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(wa);e.IfcTelecomAddress=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(bs);e.IfcTextStyle=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(gs);e.IfcTextStyleForDefinedFont=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(gs);e.IfcTextStyleTextModel=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(gs);e.IfcTextureCoordinate=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(Eo);e.IfcTextureCoordinateGenerator=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(Eo);e.IfcTextureMap=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(gs);e.IfcTextureVertex=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(gs);e.IfcTextureVertexList=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=_o;var Bo=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(ks);e.IfcTopologicalRepresentationItem=Bo;var Oo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ys);e.IfcTopologyRepresentation=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=So;var No=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(Bo);e.IfcVertex=No;var Lo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(No);e.IfcVertexPoint=Lo;var Mo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=Mo;var xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.Start=o,u.Finish=l,u.type=1236880293,u}return P(n)}(zs);e.IfcWorkTime=xo;var Fo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(Vs);e.IfcApprovalRelationship=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(Rs);e.IfcArbitraryClosedProfileDef=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(Rs);e.IfcArbitraryOpenProfileDef=Uo;var Go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ho);e.IfcArbitraryProfileDefWithVoids=Go;var ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(fo);e.IfcBlobTexture=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Uo);e.IfcCenterLineProfileDef=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Location=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(Ga);e.IfcClassification=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(ka);e.IfcClassificationReference=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(gs);e.IfcColourRgbList=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(gs);e.IfcColourSpecification=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(Rs);e.IfcCompositeProfileDef=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(Bo);e.IfcConnectedFaceSet=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(_a);e.IfcConnectionCurveGeometry=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(Ba);e.IfcConnectionPointEccentricity=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(fs);e.IfcContextDependentUnit=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(fs);e.IfcConversionBasedUnit=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Zo);e.IfcConversionBasedUnitWithOffset=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(Vs);e.IfcCurrencyRelationship=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(bs);e.IfcCurveStyle=tl;var nl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(gs);e.IfcCurveStyleFont=nl;var rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(gs);e.IfcCurveStyleFontAndScaling=rl;var il=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(gs);e.IfcCurveStyleFontPattern=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(Rs);e.IfcDerivedProfileDef=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(Ga);e.IfcDocumentInformation=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(Vs);e.IfcDocumentInformationRelationship=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(ka);e.IfcDocumentReference=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(Bo);e.IfcEdge=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(ul);e.IfcEdgeCurve=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(zs);e.IfcEventTime=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(_s);e.IfcExtendedProperties=pl;var Al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(Vs);e.IfcExternalReferenceRelationship=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(Bo);e.IfcFace=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(Bo);e.IfcFaceBound=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(vl);e.IfcFaceOuterBound=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(dl);e.IfcFaceSurface=Il;var yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(qs);e.IfcFailureConnectionCondition=yl;var ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelorDraughting=a,s.type=738692330,s}return P(n)}(bs);e.IfcFillAreaStyle=ml;var wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Gs);e.IfcGeometricRepresentationContext=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(ks);e.IfcGeometricRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,new D(0),null,new H_(0),null)).ContextIdentifier=r,u.ContextType=i,u.ParentContext=a,u.TargetScale=s,u.TargetView=o,u.UserDefinedTargetView=l,u.type=4142052618,u}return P(n)}(wl);e.IfcGeometricRepresentationSubContext=El;var Tl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(gl);e.IfcGeometricSet=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementLocation=r,a.PlacementRefDirection=i,a.type=178086475,a}return P(n)}(ps);e.IfcGridPlacement=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(gl);e.IfcHalfSpaceSolid=Dl;var Pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(fo);e.IfcImageTexture=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(gs);e.IfcIndexedColourMap=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(Eo);e.IfcIndexedTextureMap=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(Cl);e.IfcIndexedTriangleTextureMap=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(Co);e.IfcIrregularTimeSeries=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(zs);e.IfcLagTime=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(gl);e.IfcLightSource=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Sl);e.IfcLightSourceAmbient=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Sl);e.IfcLightSourceDirectional=Ll;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Sl);e.IfcLightSourceGoniometric=Ml;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Sl);e.IfcLightSourcePositional=xl;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(xl);e.IfcLightSourceSpot=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(ps);e.IfcLocalPlacement=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(Bo);e.IfcLoop=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(ks);e.IfcMappedItem=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}($a);e.IfcMaterial=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}($a);e.IfcMaterialConstituent=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}($a);e.IfcMaterialConstituentSet=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(Ps);e.IfcMaterialDefinitionRepresentation=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(os);e.IfcMaterialLayerSetUsage=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(os);e.IfcMaterialProfileSetUsage=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(zl);e.IfcMaterialProfileSetUsageTapering=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(pl);e.IfcMaterialProperties=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.Expression=o,l.type=853536259,l}return P(n)}(Vs);e.IfcMaterialRelationship=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,new H_(0),s)).ProfileType=r,o.ProfileName=i,o.ParentProfile=a,o.Label=s,o.type=2998442950,o}return P(n)}(al);e.IfcMirroredProfileDef=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Qs);e.IfcObjectDefinition=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(Yo);e.IfcOpenShell=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(Vs);e.IfcOrganizationRelationship=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,new H_(0),new H_(0))).EdgeElement=r,a.Orientation=i,a.type=1029017970,a}return P(n)}(ul);e.IfcOrientedEdge=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(Rs);e.IfcParameterizedProfileDef=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(Bo);e.IfcPath=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(ys);e.IfcPhysicalComplexQuantity=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(fo);e.IfcPixelTexture=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(gl);e.IfcPlacement=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(gl);e.IfcPlanarExtent=su;var ou=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(gl);e.IfcPoint=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(ou);e.IfcPointOnCurve=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(ou);e.IfcPointOnSurface=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Ul);e.IfcPolyLoop=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(Dl);e.IfcPolygonalBoundedHalfSpace=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(gs);e.IfcPreDefinedItem=pu;var Au=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(_s);e.IfcPreDefinedProperties=Au;var du=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(pu);e.IfcPreDefinedTextFont=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(Ps);e.IfcProductDefinitionShape=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(pl);e.IfcProfileProperties=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2598011224,a}return P(n)}(_s);e.IfcProperty=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Qs);e.IfcPropertyDefinition=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(Vs);e.IfcPropertyDependencyRelationship=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(yu);e.IfcPropertySetDefinition=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(yu);e.IfcPropertyTemplateDefinition=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(wu);e.IfcQuantitySet=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(tu);e.IfcRectangleProfileDef=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(Co);e.IfcRegularTimeSeries=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(Au);e.IfcReinforcementBarProperties=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Qs);e.IfcRelationship=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(Vs);e.IfcResourceApprovalRelationship=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(Vs);e.IfcResourceConstraintRelationship=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(zs);e.IfcResourceTime=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(Tu);e.IfcRoundedRectangleProfileDef=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(Au);e.IfcSectionProperties=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(Au);e.IfcSectionReinforcementProperties=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(gl);e.IfcSectionedSpine=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(gl);e.IfcShellBasedSurfaceModel=Lu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Description=i,a.type=3692461612,a}return P(n)}(Iu);e.IfcSimpleProperty=Mu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(qs);e.IfcSlippageConnectionCondition=xu;var Fu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(gl);e.IfcSolidModel=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(eo);e.IfcStructuralLoadLinearForce=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(eo);e.IfcStructuralLoadPlanarForce=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(eo);e.IfcStructuralLoadSingleDisplacement=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Gu);e.IfcStructuralLoadSingleDisplacementDistortion=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(eo);e.IfcStructuralLoadSingleForce=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(ju);e.IfcStructuralLoadSingleForceWarping=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(ul);e.IfcSubedge=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(gl);e.IfcSurface=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}(uo);e.IfcSurfaceStyleRendering=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Fu);e.IfcSweptAreaSolid=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Fu);e.IfcSweptDiskSolid=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Yu);e.IfcSweptDiskSolidPolygonal=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(Wu);e.IfcSweptSurface=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(tu);e.IfcTShapeProfileDef=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(gl);e.IfcTessellatedItem=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(gl);e.IfcTextLiteral=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}($u);e.IfcTextLiteralWithExtent=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(du);e.IfcTextStyleFontModel=tc;var nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(tu);e.IfcTrapeziumProfileDef=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Jl);e.IfcTypeObject=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(rc);e.IfcTypeProcess=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(rc);e.IfcTypeProduct=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(rc);e.IfcTypeResource=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(tu);e.IfcUShapeProfileDef=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(gl);e.IfcVector=lc;var uc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Ul);e.IfcVertexLoop=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ConstructionType=f,v.OperationType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=1299126871,v}return P(n)}(ac);e.IfcWindowStyle=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(tu);e.IfcZShapeProfileDef=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(Il);e.IfcAdvancedFace=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(gl);e.IfcAnnotationFillArea=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(tu);e.IfcAsymmetricIShapeProfileDef=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(au);e.IfcAxis1Placement=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(au);e.IfcAxis2Placement2D=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(au);e.IfcAxis2Placement3D=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(gl);e.IfcBooleanResult=yc;var mc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(Wu);e.IfcBoundedSurface=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(gl);e.IfcBoundingBox=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(Dl);e.IfcBoxedHalfSpace=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(tu);e.IfcCShapeProfileDef=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(ou);e.IfcCartesianPoint=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(gl);e.IfcCartesianPointList=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=1675464909,i}return P(n)}(bc);e.IfcCartesianPointList2D=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordList=r,i.type=2059837836,i}return P(n)}(bc);e.IfcCartesianPointList3D=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(gl);e.IfcCartesianTransformationOperator=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Rc);e.IfcCartesianTransformationOperator2D=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Cc);e.IfcCartesianTransformationOperator2DnonUniform=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Rc);e.IfcCartesianTransformationOperator3D=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Bc);e.IfcCartesianTransformationOperator3DnonUniform=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(tu);e.IfcCircleProfileDef=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(Yo);e.IfcClosedShell=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(zo);e.IfcColourRgb=Lc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Iu);e.IfcComplexProperty=Mc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(gl);e.IfcCompositeCurveSegment=xc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(sc);e.IfcConstructionResourceType=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Jl);e.IfcContext=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(Fc);e.IfcCrewResourceType=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(gl);e.IfcCsgPrimitive3D=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Fu);e.IfcCsgSolid=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(gl);e.IfcCurve=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(mc);e.IfcCurveBoundedPlane=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(mc);e.IfcCurveBoundedSurface=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(gl);e.IfcDirection=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.OperationType=f,v.ConstructionType=p,v.ParameterTakesPrecedence=A,v.Sizeable=d,v.type=526551008,v}return P(n)}(ac);e.IfcDoorStyle=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Ul);e.IfcEdgeLoop=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(Eu);e.IfcElementQuantity=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(ac);e.IfcElementType=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(Wu);e.IfcElementarySurface=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(tu);e.IfcEllipseProfileDef=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(ic);e.IfcEventType=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Ku);e.IfcExtrudedAreaSolid=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}($c);e.IfcExtrudedAreaSolidTapered=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(gl);e.IfcFaceBasedSurfaceModel=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(gl);e.IfcFillAreaStyleHatching=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(gl);e.IfcFillAreaStyleTiles=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Ku);e.IfcFixedReferenceSweptAreaSolid=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Xc);e.IfcFurnishingElementType=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(sf);e.IfcFurnitureType=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Xc);e.IfcGeographicElementType=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(Tl);e.IfcGeometricCurveSet=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(tu);e.IfcIShapeProfileDef=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Zu);e.IfcIndexedPolygonalFace=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(ff);e.IfcIndexedPolygonalFaceWithVoids=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(tu);e.IfcLShapeProfileDef=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(Fc);e.IfcLaborResourceType=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(jc);e.IfcLine=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Fu);e.IfcManifoldSolidBrep=hf;var If=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Jl);e.IfcObject=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(jc);e.IfcOffsetCurve2D=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(jc);e.IfcOffsetCurve3D=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(jc);e.IfcPcurve=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(su);e.IfcPlanarBox=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(qc);e.IfcPlane=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(pu);e.IfcPreDefinedColour=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(pu);e.IfcPreDefinedCurveFont=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(wu);e.IfcPreDefinedPropertySet=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(ic);e.IfcProcedureType=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(If);e.IfcProcess=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(If);e.IfcProduct=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(Hc);e.IfcProject=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(Hc);e.IfcProjectLibrary=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(Mu);e.IfcPropertyBoundedValue=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Mu);e.IfcPropertyEnumeratedValue=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Mu);e.IfcPropertyListValue=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Mu);e.IfcPropertyReferenceValue=Lf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(wu);e.IfcPropertySet=Mf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(gu);e.IfcPropertySetTemplate=xf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Mu);e.IfcPropertySingleValue=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Description=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(Mu);e.IfcPropertyTableValue=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(gu);e.IfcPropertyTemplate=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.ProxyType=c,p.Tag=f,p.type=3219374653,p}return P(n)}(Cf);e.IfcProxy=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(Tu);e.IfcRectangleHollowProfileDef=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Gc);e.IfcRectangularPyramid=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(mc);e.IfcRectangularTrimmedSurface=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Df);e.IfcReinforcementDefinitionProperties=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Pu);e.IfcRelAssigns=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(Wf);e.IfcRelAssignsToActor=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(Wf);e.IfcRelAssignsToControl=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(Wf);e.IfcRelAssignsToGroup=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Yf);e.IfcRelAssignsToGroupByFactor=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(Wf);e.IfcRelAssignsToProcess=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(Wf);e.IfcRelAssignsToProduct=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(Wf);e.IfcRelAssignsToResource=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Pu);e.IfcRelAssociates=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}($f);e.IfcRelAssociatesApproval=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}($f);e.IfcRelAssociatesClassification=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}($f);e.IfcRelAssociatesConstraint=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}($f);e.IfcRelAssociatesDocument=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}($f);e.IfcRelAssociatesLibrary=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}($f);e.IfcRelAssociatesMaterial=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Pu);e.IfcRelConnects=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(sp);e.IfcRelConnectsElements=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(op);e.IfcRelConnectsPathElements=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(sp);e.IfcRelConnectsPortToElement=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(sp);e.IfcRelConnectsPorts=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(sp);e.IfcRelConnectsStructuralActivity=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(sp);e.IfcRelConnectsStructuralMember=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(pp);e.IfcRelConnectsWithEccentricity=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(op);e.IfcRelConnectsWithRealizingElements=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(sp);e.IfcRelContainedInSpatialStructure=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(sp);e.IfcRelCoversBldgElements=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(sp);e.IfcRelCoversSpaces=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Pu);e.IfcRelDeclares=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Pu);e.IfcRelDecomposes=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Pu);e.IfcRelDefines=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(wp);e.IfcRelDefinesByObject=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(wp);e.IfcRelDefinesByProperties=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(wp);e.IfcRelDefinesByTemplate=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(wp);e.IfcRelDefinesByType=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(sp);e.IfcRelFillsElement=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(sp);e.IfcRelFlowControlElements=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingElement=o,p.RelatedElement=l,p.InterferenceGeometry=u,p.InterferenceType=c,p.ImpliedOrder=f,p.type=427948657,p}return P(n)}(sp);e.IfcRelInterferesElements=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(mp);e.IfcRelNests=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(mp);e.IfcRelProjectsElement=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(sp);e.IfcRelReferencedInSpatialStructure=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(sp);e.IfcRelSequence=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(sp);e.IfcRelServicesBuildings=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(sp);e.IfcRelSpaceBoundary=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(Np);e.IfcRelSpaceBoundary1stLevel=Lp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(Lp);e.IfcRelSpaceBoundary2ndLevel=Mp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(mp);e.IfcRelVoidsElement=xp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(xc);e.IfcReparametrisedCompositeCurveSegment=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(If);e.IfcResource=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Ku);e.IfcRevolvedAreaSolid=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(Up);e.IfcRevolvedAreaSolidTapered=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Gc);e.IfcRightCircularCone=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Gc);e.IfcRightCircularCylinder=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(Uf);e.IfcSimplePropertyTemplate=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Cf);e.IfcSpatialElement=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(ac);e.IfcSpatialElementType=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(Qp);e.IfcSpatialStructureElement=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(Wp);e.IfcSpatialStructureElementType=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(Qp);e.IfcSpatialZone=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(Wp);e.IfcSpatialZoneType=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Gc);e.IfcSphere=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(qc);e.IfcSphericalSurface=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Cf);e.IfcStructuralActivity=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Cf);e.IfcStructuralItem=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}($p);e.IfcStructuralMember=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(Zp);e.IfcStructuralReaction=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(eA);e.IfcStructuralSurfaceMember=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(nA);e.IfcStructuralSurfaceMemberVarying=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(tA);e.IfcStructuralSurfaceReaction=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(Fc);e.IfcSubContractResourceType=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(jc);e.IfcSurfaceCurve=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Ku);e.IfcSurfaceCurveSweptAreaSolid=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(qu);e.IfcSurfaceOfLinearExtrusion=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(qu);e.IfcSurfaceOfRevolution=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(sf);e.IfcSystemFurnitureElementType=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(Rf);e.IfcTask=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(ic);e.IfcTaskType=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=2387106220,i}return P(n)}(Zu);e.IfcTessellatedFaceSet=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(qc);e.IfcToroidalSurface=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Xc);e.IfcTransportElementType=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Coordinates=r,l.Normals=i,l.Closed=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(AA);e.IfcTriangulatedFaceSet=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Df);e.IfcWindowLiningProperties=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Df);e.IfcWindowPanelProperties=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(If);e.IfcActor=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(hf);e.IfcAdvancedBrep=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(wA);e.IfcAdvancedBrepWithVoids=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1674181508,c}return P(n)}(Cf);e.IfcAnnotation=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(mc);e.IfcBSplineSurface=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(TA);e.IfcBSplineSurfaceWithKnots=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Gc);e.IfcBlock=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(yc);e.IfcBooleanClippingResult=PA;var RA=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(jc);e.IfcBoundedCurve=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(zp);e.IfcBuilding=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1950629157,p}return P(n)}(Xc);e.IfcBuildingElementType=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(zp);e.IfcBuildingStorey=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(_A);e.IfcChimneyType=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Sc);e.IfcCircleHollowProfileDef=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Xc);e.IfcCivilElementType=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(_A);e.IfcColumnType=LA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(Uf);e.IfcComplexPropertyTemplate=MA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(RA);e.IfcCompositeCurve=xA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(xA);e.IfcCompositeCurveOnSurface=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(jc);e.IfcConic=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(Fc);e.IfcConstructionEquipmentResourceType=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(Fc);e.IfcConstructionMaterialResourceType=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(Fc);e.IfcConstructionProductResourceType=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(Hp);e.IfcConstructionResource=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(If);e.IfcControl=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}(VA);e.IfcCostItem=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}(VA);e.IfcCostSchedule=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(_A);e.IfcCoveringType=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(jA);e.IfcCrewResource=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(_A);e.IfcCurtainWallType=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(qc);e.IfcCylindricalSurface=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Xc);e.IfcDistributionElementType=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(qA);e.IfcDistributionFlowElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Df);e.IfcDoorLiningProperties=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Df);e.IfcDoorPanelProperties=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(_A);e.IfcDoorType=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Tf);e.IfcDraughtingPreDefinedColour=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(bf);e.IfcDraughtingPreDefinedCurveFont=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Cf);e.IfcElement=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(rd);e.IfcElementAssembly=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Xc);e.IfcElementAssemblyType=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(rd);e.IfcElementComponent=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Xc);e.IfcElementComponentType=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(HA);e.IfcEllipse=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(JA);e.IfcEnergyConversionDeviceType=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(ud);e.IfcEngineType=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(ud);e.IfcEvaporativeCoolerType=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(ud);e.IfcEvaporatorType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(Rf);e.IfcEvent=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(Qp);e.IfcExternalSpatialStructureElement=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(hf);e.IfcFacetedBrep=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(vd);e.IfcFacetedBrepWithVoids=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(sd);e.IfcFastener=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(od);e.IfcFastenerType=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(rd);e.IfcFeatureElement=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(md);e.IfcFeatureElementAddition=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(md);e.IfcFeatureElementSubtraction=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(JA);e.IfcFlowControllerType=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(JA);e.IfcFlowFittingType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Ed);e.IfcFlowMeterType=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(JA);e.IfcFlowMovingDeviceType=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(JA);e.IfcFlowSegmentType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(JA);e.IfcFlowStorageDeviceType=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(JA);e.IfcFlowTerminalType=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(JA);e.IfcFlowTreatmentDeviceType=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(_A);e.IfcFootingType=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(rd);e.IfcFurnishingElement=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Od);e.IfcFurniture=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(rd);e.IfcGeographicElement=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Cf);e.IfcGrid=Ld;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(If);e.IfcGroup=Md;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(ud);e.IfcHeatExchangerType=xd;var Fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(ud);e.IfcHumidifierType=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(RA);e.IfcIndexedPolyCurve=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(_d);e.IfcInterceptorType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(sA);e.IfcIntersectionCurve=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(Md);e.IfcInventory=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Td);e.IfcJunctionBoxType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(jA);e.IfcLaborResource=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Cd);e.IfcLampType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Cd);e.IfcLightFixtureType=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(sd);e.IfcMechanicalFastener=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(od);e.IfcMechanicalFastenerType=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Cd);e.IfcMedicalDeviceType=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(_A);e.IfcMemberType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(ud);e.IfcMotorConnectionType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(mA);e.IfcOccupant=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(gd);e.IfcOpeningElement=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3079942009,p}return P(n)}(Zd);e.IfcOpeningStandardCase=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Cd);e.IfcOutletType=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}(VA);e.IfcPerformanceHistory=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Df);e.IfcPermeableCoveringProperties=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}(VA);e.IfcPermit=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(_A);e.IfcPileType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Td);e.IfcPipeFittingType=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Pd);e.IfcPipeSegmentType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(_A);e.IfcPlateType=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(AA);e.IfcPolygonalFaceSet=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(RA);e.IfcPolyline=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Cf);e.IfcPort=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(Rf);e.IfcProcedure=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}(VA);e.IfcProjectOrder=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(wd);e.IfcProjectionElement=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Ed);e.IfcProtectiveDeviceType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(Dd);e.IfcPumpType=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(_A);e.IfcRailingType=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(_A);e.IfcRampFlightType=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(_A);e.IfcRampType=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(bA);e.IfcRationalBSplineSurfaceWithKnots=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(sd);e.IfcReinforcingElement=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(od);e.IfcReinforcingElementType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(wv);e.IfcReinforcingMesh=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(gv);e.IfcReinforcingMeshType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(mp);e.IfcRelAggregates=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(_A);e.IfcRoofType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Cd);e.IfcSanitaryTerminalType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(sA);e.IfcSeamCurve=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(_A);e.IfcShadingDeviceType=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(zp);e.IfcSite=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(_A);e.IfcSlabType=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(ud);e.IfcSolarDeviceType=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(zp);e.IfcSpace=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Cd);e.IfcSpaceHeaterType=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}(Kp);e.IfcSpaceType=Lv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Cd);e.IfcStackTerminalType=Mv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(_A);e.IfcStairFlightType=xv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(_A);e.IfcStairType=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(Zp);e.IfcStructuralAction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}($p);e.IfcStructuralConnection=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(Hv);e.IfcStructuralCurveAction=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.Axis=f,p.type=4243806635,p}return P(n)}(Uv);e.IfcStructuralCurveConnection=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(eA);e.IfcStructuralCurveMember=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(jv);e.IfcStructuralCurveMemberVarying=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(tA);e.IfcStructuralCurveReaction=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(Gv);e.IfcStructuralLinearAction=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(Md);e.IfcStructuralLoadGroup=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(Hv);e.IfcStructuralPointAction=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(Uv);e.IfcStructuralPointConnection=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(tA);e.IfcStructuralPointReaction=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(Md);e.IfcStructuralResultGroup=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(Hv);e.IfcStructuralSurfaceAction=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(Uv);e.IfcStructuralSurfaceConnection=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(jA);e.IfcSubContractResource=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(md);e.IfcSurfaceFeature=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Ed);e.IfcSwitchingDeviceType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(Md);e.IfcSystem=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Od);e.IfcSystemFurnitureElement=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Rd);e.IfcTankType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(wv);e.IfcTendon=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(wv);e.IfcTendonAnchor=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(gv);e.IfcTendonAnchorType=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(gv);e.IfcTendonType=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(ud);e.IfcTransformerType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(rd);e.IfcTransportElement=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(RA);e.IfcTrimmedCurve=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(ud);e.IfcTubeBundleType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(ud);e.IfcUnitaryEquipmentType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Ed);e.IfcValveType=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(sd);e.IfcVibrationIsolator=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(od);e.IfcVibrationIsolatorType=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2769231204,f}return P(n)}(rd);e.IfcVirtualElement=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(gd);e.IfcVoidingFeature=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(_A);e.IfcWallType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Cd);e.IfcWasteTerminalType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(_A);e.IfcWindowType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}(VA);e.IfcWorkCalendar=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}(VA);e.IfcWorkControl=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(Th);e.IfcWorkPlan=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(Th);e.IfcWorkSchedule=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(nh);e.IfcZone=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}(VA);e.IfcActionRequest=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Ed);e.IfcAirTerminalBoxType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Cd);e.IfcAirTerminalType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(ud);e.IfcAirToAirHeatRecoveryType=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(Md);e.IfcAsset=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Cd);e.IfcAudioVisualApplianceType=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(RA);e.IfcBSplineCurve=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Nh);e.IfcBSplineCurveWithKnots=Lh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(_A);e.IfcBeamType=Mh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(ud);e.IfcBoilerType=xh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(FA);e.IfcBoundaryCurve=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3299480353,f}return P(n)}(rd);e.IfcBuildingElement=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(sd);e.IfcBuildingElementPart=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(od);e.IfcBuildingElementPartType=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Hh);e.IfcBuildingElementProxy=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(_A);e.IfcBuildingElementProxyType=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(nh);e.IfcBuildingSystem=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(ud);e.IfcBurnerType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Td);e.IfcCableCarrierFittingType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Pd);e.IfcCableCarrierSegmentType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Td);e.IfcCableFittingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Pd);e.IfcCableSegmentType=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(ud);e.IfcChillerType=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Hh);e.IfcChimney=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(HA);e.IfcCircle=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(rd);e.IfcCivilElement=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(ud);e.IfcCoilType=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Hh);e.IfcColumn=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=905975707,p}return P(n)}(eI);e.IfcColumnStandardCase=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Cd);e.IfcCommunicationsApplianceType=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(Dd);e.IfcCompressorType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(ud);e.IfcCondenserType=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(jA);e.IfcConstructionEquipmentResource=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(jA);e.IfcConstructionMaterialResource=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(jA);e.IfcConstructionProductResource=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(ud);e.IfcCooledBeamType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(ud);e.IfcCoolingTowerType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Hh);e.IfcCovering=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Hh);e.IfcCurtainWall=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Ed);e.IfcDamperType=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(sd);e.IfcDiscreteAccessory=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(od);e.IfcDiscreteAccessoryType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(JA);e.IfcDistributionChamberElementType=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(qA);e.IfcDistributionControlElementType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(rd);e.IfcDistributionElement=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(II);e.IfcDistributionFlowElement=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(cv);e.IfcDistributionPort=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(nh);e.IfcDistributionSystem=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Hh);e.IfcDoor=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=3242481149,h}return P(n)}(gI);e.IfcDoorStandardCase=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Td);e.IfcDuctFittingType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Pd);e.IfcDuctSegmentType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(_d);e.IfcDuctSilencerType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Cd);e.IfcElectricApplianceType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Ed);e.IfcElectricDistributionBoardType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Rd);e.IfcElectricFlowStorageDeviceType=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(ud);e.IfcElectricGeneratorType=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(ud);e.IfcElectricMotorType=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Ed);e.IfcElectricTimeControlType=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(yI);e.IfcEnergyConversionDevice=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(SI);e.IfcEngine=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(SI);e.IfcEvaporativeCooler=LI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(SI);e.IfcEvaporator=MI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(dd);e.IfcExternalSpatialElement=xI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(Dd);e.IfcFanType=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(_d);e.IfcFilterType=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Cd);e.IfcFireSuppressionTerminalType=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(yI);e.IfcFlowController=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(yI);e.IfcFlowFitting=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(hI);e.IfcFlowInstrumentType=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(GI);e.IfcFlowMeter=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(yI);e.IfcFlowMovingDevice=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(yI);e.IfcFlowSegment=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(yI);e.IfcFlowStorageDevice=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(yI);e.IfcFlowTerminal=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(yI);e.IfcFlowTreatmentDevice=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Hh);e.IfcFooting=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(SI);e.IfcHeatExchanger=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(SI);e.IfcHumidifier=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(YI);e.IfcInterceptor=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}(kI);e.IfcJunctionBox=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(KI);e.IfcLamp=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(KI);e.IfcLightFixture=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(KI);e.IfcMedicalDevice=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Hh);e.IfcMember=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1911478936,p}return P(n)}(ry);e.IfcMemberStandardCase=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(SI);e.IfcMotorConnection=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Fh);e.IfcOuterBoundaryCurve=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(KI);e.IfcOutlet=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(Hh);e.IfcPile=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}(kI);e.IfcPipeFitting=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(WI);e.IfcPipeSegment=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Hh);e.IfcPlate=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1156407060,p}return P(n)}(fy);e.IfcPlateStandardCase=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(GI);e.IfcProtectiveDevice=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(hI);e.IfcProtectiveDeviceTrippingUnitType=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(QI);e.IfcPump=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Hh);e.IfcRailing=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Hh);e.IfcRamp=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Hh);e.IfcRampFlight=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(Lh);e.IfcRationalBSplineCurveWithKnots=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(wv);e.IfcReinforcingBar=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(gv);e.IfcReinforcingBarType=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Hh);e.IfcRoof=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(KI);e.IfcSanitaryTerminal=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(hI);e.IfcSensorType=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Hh);e.IfcShadingDevice=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Hh);e.IfcSlab=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3127900445,p}return P(n)}(Py);e.IfcSlabElementedCase=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3027962421,p}return P(n)}(Py);e.IfcSlabStandardCase=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(SI);e.IfcSolarDevice=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(KI);e.IfcSpaceHeater=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(KI);e.IfcStackTerminal=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Hh);e.IfcStair=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Hh);e.IfcStairFlight=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(nh);e.IfcStructuralAnalysisModel=Ly;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(zv);e.IfcStructuralLoadCase=My;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(Jv);e.IfcStructuralPlanarAction=xy;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(GI);e.IfcSwitchingDevice=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(zI);e.IfcTank=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(SI);e.IfcTransformer=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(SI);e.IfcTubeBundle=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(hI);e.IfcUnitaryControlElementType=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(SI);e.IfcUnitaryEquipment=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(GI);e.IfcValve=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Hh);e.IfcWall=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4156078855,p}return P(n)}(Qy);e.IfcWallElementedCase=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(Qy);e.IfcWallStandardCase=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(KI);e.IfcWasteTerminal=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Hh);e.IfcWindow=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=486154966,h}return P(n)}(Yy);e.IfcWindowStandardCase=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(hI);e.IfcActuatorType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(KI);e.IfcAirTerminal=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(GI);e.IfcAirTerminalBox=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(SI);e.IfcAirToAirHeatRecovery=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(hI);e.IfcAlarmType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(KI);e.IfcAudioVisualAppliance=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Hh);e.IfcBeam=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2906023776,p}return P(n)}(nm);e.IfcBeamStandardCase=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(SI);e.IfcBoiler=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(SI);e.IfcBurner=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}(kI);e.IfcCableCarrierFitting=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(WI);e.IfcCableCarrierSegment=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}(kI);e.IfcCableFitting=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(WI);e.IfcCableSegment=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(SI);e.IfcChiller=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(SI);e.IfcCoil=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(KI);e.IfcCommunicationsAppliance=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(QI);e.IfcCompressor=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(SI);e.IfcCondenser=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(hI);e.IfcControllerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(SI);e.IfcCooledBeam=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(SI);e.IfcCoolingTower=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(GI);e.IfcDamper=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(yI);e.IfcDistributionChamberElement=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(wI);e.IfcDistributionCircuit=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(II);e.IfcDistributionControlElement=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}(kI);e.IfcDuctFitting=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(WI);e.IfcDuctSegment=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(YI);e.IfcDuctSilencer=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(KI);e.IfcElectricAppliance=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(GI);e.IfcElectricDistributionBoard=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(zI);e.IfcElectricFlowStorageDevice=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(SI);e.IfcElectricGenerator=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(SI);e.IfcElectricMotor=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(GI);e.IfcElectricTimeControl=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(QI);e.IfcFan=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(YI);e.IfcFilter=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(KI);e.IfcFireSuppressionTerminal=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(gm);e.IfcFlowInstrument=Lm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(gm);e.IfcProtectiveDeviceTrippingUnit=Mm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(gm);e.IfcSensor=xm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(gm);e.IfcUnitaryControlElement=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(gm);e.IfcActuator=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(gm);e.IfcAlarm=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(gm);e.IfcController=Gm}(e_||(e_={})),z_[3]="IFC4X3",G_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcRatioMeasure(t[5].value),new t_.IfcRatioMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},639542469:function(e,t){return new t_.IfcApplication(e,new H_(t[0].value),new t_.IfcLabel(t[1].value),new t_.IfcLabel(t[2].value),new t_.IfcIdentifier(t[3].value))},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},130549933:function(e,t){return new t_.IfcApproval(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null)},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null)},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?K_(3,t[1]):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?K_(3,t[5]):null,t[6]?K_(3,t[6]):null,t[7]?K_(3,t[7]):null)},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1959218052:function(e,t){return new t_.IfcConstraint(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null)},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,new H_(t[0].value),new H_(t[1].value))},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null)},602808272:function(e,t){return new t_.IfcCostValue(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?t[9].map((function(e){return new H_(e.value)})):null)},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0].map((function(e){return new H_(e.value)})),t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null)},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,new H_(t[0].value),t[1].value)},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0].value,t[1].value,t[2].value,t[3].value,t[4].value,t[5].value,t[6].value)},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcBoolean(t[2].value))},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,new t_.IfcDateTime(t[0].value),t[1].map((function(e){return K_(3,e)})))},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcURIReference(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null)},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLanguageId(t[4].value):null,t[5]?new H_(t[5].value):null)},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,new t_.IfcPlaneAngleMeasure(t[0].value),t[1].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[2].map((function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e.value)})))},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1].map((function(e){return new H_(e.value)})))},3057273783:function(e,t){return new t_.IfcMapConversion(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcLengthMeasure(t[2].value),new t_.IfcLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null,t[7]?new t_.IfcReal(t[7].value):null,t[8]?new t_.IfcReal(t[8].value):null,t[9]?new t_.IfcReal(t[9].value):null)},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value))},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null)},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null)},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0]?new H_(t[0].value):null,new t_.IfcNonNegativeLengthMeasure(t[1].value),t[2]?new t_.IfcLogical(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7],new t_.IfcLengthMeasure(t[8].value))},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0].map((function(e){return new H_(e.value)})))},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new H_(t[3].value):null)},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,new t_.IfcLengthMeasure(t[6].value))},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,K_(3,t[0]),new H_(t[1].value))},3368373690:function(e,t){return new t_.IfcMetric(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,new t_.IfcLabel(t[0].value))},1918398963:function(e,t){return new t_.IfcNamedUnit(e,new H_(t[0].value),t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0]?new H_(t[0].value):null)},2251480897:function(e,t){return new t_.IfcObjective(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2],t[3]?new t_.IfcLabel(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8],t[9],t[10]?new t_.IfcLabel(t[10].value):null)},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0]?new t_.IfcIdentifier(t[0].value):null,new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?t[3].map((function(e){return new H_(e.value)})):null,t[4]?t[4].map((function(e){return new H_(e.value)})):null)},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,new H_(t[0].value),new H_(t[1].value),t[2],t[3],t[4]?new t_.IfcTimeStamp(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcTimeStamp(t[7].value))},2077209135:function(e,t){return new t_.IfcPerson(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null)},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcLabel(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null)},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcIdentifier(t[3].value):null,new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null)},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0]?new t_.IfcLabel(t[0].value):null)},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null)},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new t_.IfcIdentifier(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null)},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return K_(3,e)})),t[2]?new H_(t[2].value):null)},2044713172:function(e,t){return new t_.IfcQuantityArea(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcAreaMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2093928680:function(e,t){return new t_.IfcQuantityCount(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcCountMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},931644368:function(e,t){return new t_.IfcQuantityLength(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcNumericMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3252649465:function(e,t){return new t_.IfcQuantityTime(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcTimeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcVolumeMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},825690147:function(e,t){return new t_.IfcQuantityWeight(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcMassMeasure(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1]?t[1].map((function(e){return new t_.IfcDayInMonthNumber(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcDayInWeekNumber(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcMonthInYearNumber(e.value)})):null,t[4]?new t_.IfcInteger(t[4].value):null,t[5]?new t_.IfcInteger(t[5].value):null,t[6]?new t_.IfcInteger(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null)},2433181523:function(e,t){return new t_.IfcReference(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcInteger(e.value)})):null,t[4]?new H_(t[4].value):null)},1076942058:function(e,t){return new t_.IfcRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null)},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,new H_(t[0].value),new H_(t[1].value))},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null)},2341007311:function(e,t){return new t_.IfcRoot(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},448429030:function(e,t){return new t_.IfcSIUnit(e,new H_(t[0].value),t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null)},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0].map((function(e){return new H_(e.value)})),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,new t_.IfcLogical(t[3].value),t[4]?new H_(t[4].value):null)},3982875396:function(e,t){return new t_.IfcShapeModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null)},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0]?new t_.IfcLabel(t[0].value):null)},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null)},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0]?new t_.IfcLabel(t[0].value):null)},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0]?new t_.IfcLabel(t[0].value):null)},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcThermodynamicTemperatureMeasure(t[1].value):null,t[2]?new t_.IfcThermodynamicTemperatureMeasure(t[2].value):null,t[3]?new t_.IfcThermodynamicTemperatureMeasure(t[3].value):null)},2830218821:function(e,t){return new t_.IfcStyleModel(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0]?new H_(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcLengthMeasure(e.value)})):null,t[3]?new t_.IfcRatioMeasure(t[3].value):null)},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2].map((function(e){return new H_(e.value)})))},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new H_(t[3].value))},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0]?new t_.IfcReal(t[0].value):null,t[1]?new t_.IfcReal(t[1].value):null)},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null)},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0].map((function(e){return new H_(e.value)})))},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},985171141:function(e,t){return new t_.IfcTable(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?t[1].map((function(e){return new H_(e.value)})):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null)},531007025:function(e,t){return new t_.IfcTableRow(e,t[0]?t[0].map((function(e){return K_(3,e)})):null,t[1]?new t_.IfcBoolean(t[1].value):null)},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null)},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3],t[4]?new t_.IfcDuration(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcDateTime(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcDuration(t[12].value):null,t[13]?new t_.IfcBoolean(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcDateTime(t[16].value):null,t[17]?new t_.IfcDateTime(t[17].value):null,t[18]?new t_.IfcDuration(t[18].value):null,t[19]?new t_.IfcPositiveRatioMeasure(t[19].value):null,new H_(t[20].value))},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?t[3].map((function(e){return new t_.IfcLabel(e.value)})):null,t[4]?t[4].map((function(e){return new t_.IfcLabel(e.value)})):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcLabel(e.value)})):null,t[7]?new t_.IfcURIReference(t[7].value):null,t[8]?t[8].map((function(e){return new t_.IfcURIReference(e.value)})):null)},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcBoolean(t[4].value):null)},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0]?K_(3,t[0]):null,t[1]?new t_.IfcTextAlignment(t[1].value):null,t[2]?new t_.IfcTextDecoration(t[2].value):null,t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,t[5]?new t_.IfcTextTransformation(t[5].value):null,t[6]?K_(3,t[6]):null)},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0].map((function(e){return new H_(e.value)})))},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[1].value),t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null)},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value))},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),new H_(t[1].value),t[2].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new H_(t[2].value))},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0].map((function(e){return new t_.IfcParameterValue(e.value)})))},1199560280:function(e,t){return new t_.IfcTimePeriod(e,new t_.IfcTime(t[0].value),new t_.IfcTime(t[1].value))},3101149627:function(e,t){return new t_.IfcTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null)},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0].map((function(e){return K_(3,e)})))},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,new H_(t[0].value),t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3].map((function(e){return new H_(e.value)})))},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0].map((function(e){return new H_(e.value)})))},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,new H_(t[0].value))},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcDate(t[4].value):null,t[5]?new t_.IfcDate(t[5].value):null)},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcLengthMeasure(t[2].value),new t_.IfcNonNegativeLengthMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),t[5]?new t_.IfcLengthMeasure(t[5].value):null,new t_.IfcLengthMeasure(t[6].value),t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new t_.IfcLengthMeasure(t[4].value),new t_.IfcLengthMeasure(t[5].value),new t_.IfcNonNegativeLengthMeasure(t[6].value),t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value))},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},616511568:function(e,t){return new t_.IfcBlobTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcIdentifier(t[5].value),new t_.IfcBinary(t[6].value))},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},747523909:function(e,t){return new t_.IfcClassification(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new t_.IfcDate(t[2].value):null,new t_.IfcLabel(t[3].value),t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcURIReference(t[5].value):null,t[6]?t[6].map((function(e){return new t_.IfcIdentifier(e.value)})):null)},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0].map((function(e){return new t_.IfcNormalisedRatioMeasure(e.value)})))},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0]?new t_.IfcLabel(t[0].value):null)},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?new t_.IfcLabel(t[3].value):null)},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0].map((function(e){return new H_(e.value)})))},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value))},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value))},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,new H_(t[0].value),t[1],new t_.IfcLabel(t[2].value),new H_(t[3].value),new t_.IfcReal(t[4].value))},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),new t_.IfcPositiveRatioMeasure(t[4].value),t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new H_(t[6].value):null)},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new H_(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null,t[4]?new t_.IfcBoolean(t[4].value):null)},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})))},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),new t_.IfcPositiveRatioMeasure(t[2].value))},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,new t_.IfcIdentifier(t[0].value),new t_.IfcLabel(t[1].value),t[2]?new t_.IfcText(t[2].value):null,t[3]?new t_.IfcURIReference(t[3].value):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new t_.IfcText(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDateTime(t[11].value):null,t[12]?new t_.IfcIdentifier(t[12].value):null,t[13]?new t_.IfcDate(t[13].value):null,t[14]?new t_.IfcDate(t[14].value):null,t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0]?new t_.IfcURIReference(t[0].value):null,t[1]?new t_.IfcIdentifier(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null)},3900360178:function(e,t){return new t_.IfcEdge(e,new H_(t[0].value),new H_(t[1].value))},476780140:function(e,t){return new t_.IfcEdgeCurve(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value),new t_.IfcBoolean(t[3].value))},211053100:function(e,t){return new t_.IfcEventTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDateTime(t[3].value):null,t[4]?new t_.IfcDateTime(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null)},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2556980723:function(e,t){return new t_.IfcFace(e,t[0].map((function(e){return new H_(e.value)})))},1809719519:function(e,t){return new t_.IfcFaceBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcForceMeasure(t[4].value):null,t[5]?new t_.IfcForceMeasure(t[5].value):null,t[6]?new t_.IfcForceMeasure(t[6].value):null)},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcBoolean(t[2].value):null)},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcDimensionCount(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null)},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0].map((function(e){return new H_(e.value)})))},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value))},3905492369:function(e,t){return new t_.IfcImageTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcURIReference(t[5].value))},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value))},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8].map((function(e){return new H_(e.value)})))},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,K_(3,t[3]),t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null)},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value))},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),t[5]?new H_(t[5].value):null,new t_.IfcThermodynamicTemperatureMeasure(t[6].value),new t_.IfcLuminousFluxMeasure(t[7].value),t[8],new H_(t[9].value))},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value))},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0]?new t_.IfcLabel(t[0].value):null,new H_(t[1].value),t[2]?new t_.IfcNormalisedRatioMeasure(t[2].value):null,t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,new H_(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcReal(t[6].value),new t_.IfcReal(t[7].value),new t_.IfcReal(t[8].value),new H_(t[9].value),t[10]?new t_.IfcReal(t[10].value):null,new t_.IfcPositivePlaneAngleMeasure(t[11].value),new t_.IfcPositivePlaneAngleMeasure(t[12].value))},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value),t[2]?new H_(t[2].value):null)},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0]?new H_(t[0].value):null,new H_(t[1].value))},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,new H_(t[0].value),new H_(t[1].value))},1838606355:function(e,t){return new t_.IfcMaterial(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null)},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcNormalisedRatioMeasure(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,new H_(t[0].value),t[1],t[2],new t_.IfcLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null)},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null)},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,new H_(t[0].value),t[1]?new t_.IfcCardinalPointReference(t[1].value):null,t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,new H_(t[3].value),t[4]?new t_.IfcCardinalPointReference(t[4].value):null)},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})),t[4]?new t_.IfcLabel(t[4].value):null)},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null)},219451334:function(e,t){return new t_.IfcObjectDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,new t_.IfcBoolean(t[2].value),t[3].map((function(e){return new t_.IfcNonNegativeLengthMeasure(e.value)})),t[4].map((function(e){return new t_.IfcPlaneAngleMeasure(e.value)})),t[5]?t[5].map((function(e){return new t_.IfcLabel(e.value)})):null,t[6]?new H_(t[6].value):null)},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0].map((function(e){return new H_(e.value)})))},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,new H_(t[0].value),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null)},2519244187:function(e,t){return new t_.IfcPath(e,t[0].map((function(e){return new H_(e.value)})))},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new t_.IfcLabel(t[3].value),t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},597895409:function(e,t){return new t_.IfcPixelTexture(e,new t_.IfcBoolean(t[0].value),new t_.IfcBoolean(t[1].value),t[2]?new t_.IfcIdentifier(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?t[4].map((function(e){return new t_.IfcIdentifier(e.value)})):null,new t_.IfcInteger(t[5].value),new t_.IfcInteger(t[6].value),new t_.IfcInteger(t[7].value),t[8].map((function(e){return new t_.IfcBinary(e.value)})))},2004835150:function(e,t){return new t_.IfcPlacement(e,new H_(t[0].value))},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,K_(3,t[0]),t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,new H_(t[4].value))},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value))},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value))},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0].map((function(e){return new H_(e.value)})))},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value),new H_(t[3].value))},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,new t_.IfcLabel(t[0].value))},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,new t_.IfcLabel(t[0].value))},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})))},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0]?new t_.IfcIdentifier(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},2598011224:function(e,t){return new t_.IfcProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),new H_(t[3].value),t[4]?new t_.IfcText(t[4].value):null)},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2090586900:function(e,t){return new t_.IfcQuantitySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,new t_.IfcLabel(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcDateTime(t[2].value),new t_.IfcDateTime(t[3].value),t[4],t[5],t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,new t_.IfcTimeMeasure(t[8].value),t[9].map((function(e){return new H_(e.value)})))},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,new t_.IfcAreaMeasure(t[0].value),new t_.IfcLabel(t[1].value),t[2],t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcCountMeasure(t[5].value):null)},478536968:function(e,t){return new t_.IfcRelationship(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),new H_(t[3].value))},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcText(t[1].value):null,new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1],t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcDuration(t[3].value):null,t[4]?new t_.IfcPositiveRatioMeasure(t[4].value):null,t[5]?new t_.IfcDateTime(t[5].value):null,t[6]?new t_.IfcDateTime(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDuration(t[8].value):null,t[9]?new t_.IfcBoolean(t[9].value):null,t[10]?new t_.IfcDateTime(t[10].value):null,t[11]?new t_.IfcDuration(t[11].value):null,t[12]?new t_.IfcPositiveRatioMeasure(t[12].value):null,t[13]?new t_.IfcDateTime(t[13].value):null,t[14]?new t_.IfcDateTime(t[14].value):null,t[15]?new t_.IfcDuration(t[15].value):null,t[16]?new t_.IfcPositiveRatioMeasure(t[16].value):null,t[17]?new t_.IfcPositiveRatioMeasure(t[17].value):null)},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value))},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],new H_(t[1].value),t[2]?new H_(t[2].value):null)},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3],new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null)},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLinearForceMeasure(t[1].value):null,t[2]?new t_.IfcLinearForceMeasure(t[2].value):null,t[3]?new t_.IfcLinearForceMeasure(t[3].value):null,t[4]?new t_.IfcLinearMomentMeasure(t[4].value):null,t[5]?new t_.IfcLinearMomentMeasure(t[5].value):null,t[6]?new t_.IfcLinearMomentMeasure(t[6].value):null)},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcPlanarForceMeasure(t[1].value):null,t[2]?new t_.IfcPlanarForceMeasure(t[2].value):null,t[3]?new t_.IfcPlanarForceMeasure(t[3].value):null)},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null)},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcLengthMeasure(t[1].value):null,t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcPlaneAngleMeasure(t[4].value):null,t[5]?new t_.IfcPlaneAngleMeasure(t[5].value):null,t[6]?new t_.IfcPlaneAngleMeasure(t[6].value):null,t[7]?new t_.IfcCurvatureMeasure(t[7].value):null)},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null)},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0]?new t_.IfcLabel(t[0].value):null,t[1]?new t_.IfcForceMeasure(t[1].value):null,t[2]?new t_.IfcForceMeasure(t[2].value):null,t[3]?new t_.IfcForceMeasure(t[3].value):null,t[4]?new t_.IfcTorqueMeasure(t[4].value):null,t[5]?new t_.IfcTorqueMeasure(t[5].value):null,t[6]?new t_.IfcTorqueMeasure(t[6].value):null,t[7]?new t_.IfcWarpingMomentMeasure(t[7].value):null)},2233826070:function(e,t){return new t_.IfcSubedge(e,new H_(t[0].value),new H_(t[1].value),new H_(t[2].value))},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,new H_(t[0].value),t[1]?new t_.IfcNormalisedRatioMeasure(t[1].value):null,t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?K_(3,t[7]):null,t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null)},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),t[2]?new t_.IfcPositiveLengthMeasure(t[2].value):null,t[3]?new t_.IfcParameterValue(t[3].value):null,t[4]?new t_.IfcParameterValue(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null)},230924584:function(e,t){return new t_.IfcSweptSurface(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcNonNegativeLengthMeasure(t[9].value):null,t[10]?new t_.IfcPlaneAngleMeasure(t[10].value):null,t[11]?new t_.IfcPlaneAngleMeasure(t[11].value):null)},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,new t_.IfcPresentableText(t[0].value),new H_(t[1].value),t[2],new H_(t[3].value),new t_.IfcBoxAlignment(t[4].value))},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,new t_.IfcLabel(t[0].value),t[1].map((function(e){return new t_.IfcTextFontName(e.value)})),t[2]?new t_.IfcFontStyle(t[2].value):null,t[3]?new t_.IfcFontVariant(t[3].value):null,t[4]?new t_.IfcFontWeight(t[4].value):null,K_(3,t[5]))},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcLengthMeasure(t[6].value))},1628702193:function(e,t){return new t_.IfcTypeObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null)},3736923433:function(e,t){return new t_.IfcTypeProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2347495698:function(e,t){return new t_.IfcTypeProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null)},3698973494:function(e,t){return new t_.IfcTypeResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},1417489154:function(e,t){return new t_.IfcVector(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value))},2759199220:function(e,t){return new t_.IfcVertexLoop(e,new H_(t[0].value))},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null)},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new t_.IfcBoolean(t[2].value))},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new H_(e.value)})):null)},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,new t_.IfcPositiveLengthMeasure(t[8].value),t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcNonNegativeLengthMeasure(t[10].value):null,t[11]?new t_.IfcNonNegativeLengthMeasure(t[11].value):null,t[12]?new t_.IfcPlaneAngleMeasure(t[12].value):null,t[13]?new t_.IfcNonNegativeLengthMeasure(t[13].value):null,t[14]?new t_.IfcPlaneAngleMeasure(t[14].value):null)},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null)},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new H_(t[2].value):null)},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,new H_(t[0].value),new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})))},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0].map((function(e){return new t_.IfcLengthMeasure(e.value)})),t[1]?t[1].map((function(e){return new t_.IfcLabel(e.value)})):null)},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null)},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new t_.IfcReal(t[4].value):null)},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null)},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0]?new H_(t[0].value):null,t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?new t_.IfcReal(t[3].value):null,t[4]?new H_(t[4].value):null,t[5]?new t_.IfcReal(t[5].value):null,t[6]?new t_.IfcReal(t[6].value):null)},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value))},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0].map((function(e){return new H_(e.value)})))},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0]?new t_.IfcLabel(t[0].value):null,new t_.IfcNormalisedRatioMeasure(t[1].value),new t_.IfcNormalisedRatioMeasure(t[2].value),new t_.IfcNormalisedRatioMeasure(t[3].value))},2542286263:function(e,t){return new t_.IfcComplexProperty(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,new t_.IfcIdentifier(t[2].value),t[3].map((function(e){return new H_(e.value)})))},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value))},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null)},3419103109:function(e,t){return new t_.IfcContext(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,new H_(t[0].value))},2147822146:function(e,t){return new t_.IfcCsgSolid(e,new H_(t[0].value))},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,new H_(t[0].value),new H_(t[1].value),t[2]?t[2].map((function(e){return new H_(e.value)})):null)},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[2].value))},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],new H_(t[1].value),K_(3,t[2]),K_(3,t[3]),new H_(t[4].value))},32440307:function(e,t){return new t_.IfcDirection(e,t[0].map((function(e){return new t_.IfcReal(e.value)})))},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null)},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0].map((function(e){return new H_(e.value)})))},1883228015:function(e,t){return new t_.IfcElementQuantity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},339256511:function(e,t){return new t_.IfcElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2777663545:function(e,t){return new t_.IfcElementarySurface(e,new H_(t[0].value))},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},4024345920:function(e,t){return new t_.IfcEventType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcLabel(t[11].value):null)},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value),new H_(t[4].value))},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0].map((function(e){return new H_(e.value)})))},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,new H_(t[0].value),new H_(t[1].value),t[2]?new H_(t[2].value):null,t[3]?new H_(t[3].value):null,new t_.IfcPlaneAngleMeasure(t[4].value))},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0].map((function(e){return new H_(e.value)})),t[1].map((function(e){return new H_(e.value)})),new t_.IfcPositiveRatioMeasure(t[2].value))},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1268542332:function(e,t){return new t_.IfcFurnitureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0].map((function(e){return new H_(e.value)})))},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),new t_.IfcPositiveLengthMeasure(t[6].value),t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcPlaneAngleMeasure(t[9].value):null)},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[1].map((function(e){return new t_.IfcPositiveInteger(e.value)})))},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0].map((function(e){return new H_(e.value)})),new H_(t[1].value),new H_(t[2].value),t[3].map((function(e){return new H_(e.value)})))},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcPlaneAngleMeasure(t[8].value):null)},428585644:function(e,t){return new t_.IfcLaborResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1281925730:function(e,t){return new t_.IfcLine(e,new H_(t[0].value),new H_(t[1].value))},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,new H_(t[0].value))},3888040117:function(e,t){return new t_.IfcObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},590820931:function(e,t){return new t_.IfcOffsetCurve(e,new H_(t[0].value))},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value))},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,new H_(t[0].value),new t_.IfcLengthMeasure(t[1].value),new t_.IfcLogical(t[2].value),new H_(t[3].value))},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2]?new t_.IfcLabel(t[2].value):null)},1682466193:function(e,t){return new t_.IfcPcurve(e,new H_(t[0].value),new H_(t[1].value))},603570806:function(e,t){return new t_.IfcPlanarBox(e,new t_.IfcLengthMeasure(t[0].value),new t_.IfcLengthMeasure(t[1].value),new H_(t[2].value))},220341763:function(e,t){return new t_.IfcPlane(e,new H_(t[0].value))},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return new t_.IfcReal(e.value)})):null,t[2]?t[2].map((function(e){return new t_.IfcReal(e.value)})):null,t[3]?t[3].map((function(e){return new t_.IfcReal(e.value)})):null)},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,new t_.IfcLabel(t[0].value))},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},569719735:function(e,t){return new t_.IfcProcedureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},4208778838:function(e,t){return new t_.IfcProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},103090709:function(e,t){return new t_.IfcProject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},653396225:function(e,t){return new t_.IfcProjectLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new H_(t[8].value):null)},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?K_(3,t[3]):null,t[4]?new H_(t[4].value):null,t[5]?K_(3,t[5]):null)},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?new H_(t[3].value):null)},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?new t_.IfcText(t[2].value):null,t[3]?new H_(t[3].value):null)},1451395588:function(e,t){return new t_.IfcPropertySet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcIdentifier(t[5].value):null,t[6].map((function(e){return new H_(e.value)})))},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?K_(3,t[2]):null,t[3]?new H_(t[3].value):null)},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,new t_.IfcIdentifier(t[0].value),t[1]?new t_.IfcText(t[1].value):null,t[2]?t[2].map((function(e){return K_(3,e)})):null,t[3]?t[3].map((function(e){return K_(3,e)})):null,t[4]?new t_.IfcText(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value),new t_.IfcPositiveLengthMeasure(t[5].value),t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null)},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,new H_(t[0].value),new t_.IfcParameterValue(t[1].value),new t_.IfcParameterValue(t[2].value),new t_.IfcParameterValue(t[3].value),new t_.IfcParameterValue(t[4].value),new t_.IfcBoolean(t[5].value),new t_.IfcBoolean(t[6].value))},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5].map((function(e){return new H_(e.value)})))},3939117080:function(e,t){return new t_.IfcRelAssigns(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),new t_.IfcRatioMeasure(t[7].value))},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value),t[7]?new H_(t[7].value):null)},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5],new H_(t[6].value))},1865459582:function(e,t){return new t_.IfcRelAssociates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})))},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),t[5]?new t_.IfcLabel(t[5].value):null,new H_(t[6].value))},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},826625072:function(e,t){return new t_.IfcRelConnects(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value))},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null)},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null)},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null,t[9]?new H_(t[9].value):null,new H_(t[10].value))},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new H_(t[4].value):null,new H_(t[5].value),new H_(t[6].value),t[7].map((function(e){return new H_(e.value)})),t[8]?new t_.IfcLabel(t[8].value):null)},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2565941209:function(e,t){return new t_.IfcRelDeclares(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},693640335:function(e,t){return new t_.IfcRelDefines(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null)},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new t_.IfcIdentifier(t[8].value):null,new t_.IfcLogical(t[9].value))},3268803585:function(e,t){return new t_.IfcRelNests(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},1441486842:function(e,t){return new t_.IfcRelPositions(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4].map((function(e){return new H_(e.value)})),new H_(t[5].value))},4122056220:function(e,t){return new t_.IfcRelSequence(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcLabel(t[8].value):null)},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null)},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value),t[6]?new H_(t[6].value):null,t[7],t[8],t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),new H_(t[5].value))},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],new t_.IfcBoolean(t[1].value),new H_(t[2].value),new t_.IfcParameterValue(t[3].value))},2914609552:function(e,t){return new t_.IfcResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null)},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value))},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcPlaneAngleMeasure(t[3].value),new H_(t[4].value))},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})))},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5]?new t_.IfcLabel(t[5].value):null,t[6]?new t_.IfcLabel(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new t_.IfcLabel(t[10].value):null,t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},710998568:function(e,t){return new t_.IfcSpatialElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},463610769:function(e,t){return new t_.IfcSpatialZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},451544542:function(e,t){return new t_.IfcSphere(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0]?new H_(t[0].value):null)},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},530289379:function(e,t){return new t_.IfcStructuralMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null)},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),new t_.IfcLengthMeasure(t[3].value))},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value))},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3473067441:function(e,t){return new t_.IfcTask(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value),t[10]?new t_.IfcInteger(t[10].value):null,t[11]?new H_(t[11].value):null,t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null)},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null)},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2]?t[2].map((function(e){return new t_.IfcParameterValue(e.value)})):null,t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})),t[4]?t[4].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null,t[5].map((function(e){return new t_.IfcInteger(e.value)})))},3651464721:function(e,t){return new t_.IfcVehicleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcNonNegativeLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNormalisedRatioMeasure(t[8].value):null,t[9]?new t_.IfcNormalisedRatioMeasure(t[9].value):null,t[10]?new t_.IfcNormalisedRatioMeasure(t[10].value):null,t[11]?new t_.IfcNormalisedRatioMeasure(t[11].value):null,t[12]?new H_(t[12].value):null,t[13]?new t_.IfcLengthMeasure(t[13].value):null,t[14]?new t_.IfcLengthMeasure(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null)},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},2296667514:function(e,t){return new t_.IfcActor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value))},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,new H_(t[0].value))},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},1674181508:function(e,t){return new t_.IfcAnnotation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value))},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value),new t_.IfcPositiveLengthMeasure(t[3].value))},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],new H_(t[1].value),new H_(t[2].value))},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null)},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2197970202:function(e,t){return new t_.IfcChimneyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1]?new t_.IfcLabel(t[1].value):null,t[2]?new H_(t[2].value):null,new t_.IfcPositiveLengthMeasure(t[3].value),new t_.IfcPositiveLengthMeasure(t[4].value))},3893394355:function(e,t){return new t_.IfcCivilElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value))},300633059:function(e,t){return new t_.IfcColumnType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?t[6].map((function(e){return new H_(e.value)})):null)},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},2510884976:function(e,t){return new t_.IfcConic(e,new H_(t[0].value))},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?new t_.IfcIdentifier(t[6].value):null,t[7]?new t_.IfcText(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10]?new H_(t[10].value):null,t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},3293443760:function(e,t){return new t_.IfcControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null)},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null)},3895139033:function(e,t){return new t_.IfcCostItem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null)},1419761937:function(e,t){return new t_.IfcCostSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcDateTime(t[8].value):null,t[9]?new t_.IfcDateTime(t[9].value):null)},4189326743:function(e,t){return new t_.IfcCourseType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,new H_(t[0].value),t[1]?new H_(t[1].value):null,new H_(t[2].value),t[3]?K_(3,t[3]):null,t[4]?K_(3,t[4]):null,new H_(t[5].value))},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5]?new t_.IfcNonNegativeLengthMeasure(t[5].value):null,t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcNonNegativeLengthMeasure(t[7].value):null,t[8]?new t_.IfcNonNegativeLengthMeasure(t[8].value):null,t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new H_(t[14].value):null,t[15]?new t_.IfcLengthMeasure(t[15].value):null,t[16]?new t_.IfcLengthMeasure(t[16].value):null)},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcPositiveLengthMeasure(t[4].value):null,t[5],t[6]?new t_.IfcNormalisedRatioMeasure(t[6].value):null,t[7],t[8]?new H_(t[8].value):null)},2323601079:function(e,t){return new t_.IfcDoorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,new t_.IfcLabel(t[0].value))},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,new t_.IfcLabel(t[0].value))},1758889154:function(e,t){return new t_.IfcElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4123344466:function(e,t){return new t_.IfcElementAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2590856083:function(e,t){return new t_.IfcElementComponentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1704287377:function(e,t){return new t_.IfcEllipse(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value),new t_.IfcPositiveLengthMeasure(t[2].value))},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},132023988:function(e,t){return new t_.IfcEngineType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7],t[8],t[9]?new t_.IfcLabel(t[9].value):null,t[10]?new H_(t[10].value):null)},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null)},807026263:function(e,t){return new t_.IfcFacetedBrep(e,new H_(t[0].value))},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})))},24185140:function(e,t){return new t_.IfcFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1893162501:function(e,t){return new t_.IfcFootingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1509553395:function(e,t){return new t_.IfcFurniture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},2706460486:function(e,t){return new t_.IfcGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,new H_(t[0].value),t[1]?t[1].map((function(e){return K_(3,e)})):null,new t_.IfcLogical(t[2].value))},3946677679:function(e,t){return new t_.IfcInterceptorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcDate(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null)},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,new t_.IfcBoolean(t[9].value))},3827777499:function(e,t){return new t_.IfcLaborResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null)},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,new H_(t[5].value),t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcLabel(t[6].value),t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4],t[5],t[6]?new t_.IfcPositiveLengthMeasure(t[6].value):null,t[7]?new t_.IfcPositiveLengthMeasure(t[7].value):null,t[8]?new H_(t[8].value):null)},3327091369:function(e,t){return new t_.IfcPermit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1158309216:function(e,t){return new t_.IfcPileType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,new H_(t[0].value),t[1]?new t_.IfcBoolean(t[1].value):null,t[2].map((function(e){return new H_(e.value)})),t[3]?t[3].map((function(e){return new t_.IfcPositiveInteger(e.value)})):null)},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0].map((function(e){return new H_(e.value)})))},3740093272:function(e,t){return new t_.IfcPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1946335990:function(e,t){return new t_.IfcPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},2744685151:function(e,t){return new t_.IfcProcedure(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},3651124850:function(e,t){return new t_.IfcProjectionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,new t_.IfcInteger(t[0].value),new t_.IfcInteger(t[1].value),t[2].map((function(e){return new H_(e.value)})),t[3],new t_.IfcLogical(t[4].value),new t_.IfcLogical(t[5].value),new t_.IfcLogical(t[6].value),t[7].map((function(e){return new t_.IfcInteger(e.value)})),t[8].map((function(e){return new t_.IfcInteger(e.value)})),t[9].map((function(e){return new t_.IfcParameterValue(e.value)})),t[10].map((function(e){return new t_.IfcParameterValue(e.value)})),t[11],t[12].map((function(e){return new t_.IfcReal(e.value)})))},4021432810:function(e,t){return new t_.IfcReferent(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcAreaMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13]?new t_.IfcPositiveLengthMeasure(t[13].value):null,t[14]?new t_.IfcAreaMeasure(t[14].value):null,t[15]?new t_.IfcAreaMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null,t[17]?new t_.IfcPositiveLengthMeasure(t[17].value):null,t[18]?new t_.IfcLabel(t[18].value):null,t[19]?t[19].map((function(e){return K_(3,e)})):null)},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},160246688:function(e,t){return new t_.IfcRelAggregates(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,new H_(t[4].value),t[5].map((function(e){return new H_(e.value)})))},146592293:function(e,t){return new t_.IfcRoad(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value),new H_(t[2].value),t[3]?new H_(t[3].value):null)},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null,t[4]?new t_.IfcLengthMeasure(t[4].value):null,t[5]?new t_.IfcLengthMeasure(t[5].value):null,t[6]?new t_.IfcLengthMeasure(t[6].value):null,t[7]?new t_.IfcLengthMeasure(t[7].value):null,t[8]?new t_.IfcLengthMeasure(t[8].value):null)},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},33720170:function(e,t){return new t_.IfcSign(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0]?new H_(t[0].value):null,new t_.IfcLengthMeasure(t[1].value),t[2]?new t_.IfcLengthMeasure(t[2].value):null,t[3]?new t_.IfcLengthMeasure(t[3].value):null)},4097777520:function(e,t){return new t_.IfcSite(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcCompoundPlaneAngleMeasure(t[9]):null,t[10]?new t_.IfcCompoundPlaneAngleMeasure(t[10]):null,t[11]?new t_.IfcLengthMeasure(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null,t[13]?new H_(t[13].value):null)},2533589738:function(e,t){return new t_.IfcSlabType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10]?new t_.IfcLengthMeasure(t[10].value):null)},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcLabel(t[10].value):null)},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},338393293:function(e,t){return new t_.IfcStairType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,new H_(t[8].value))},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],new H_(t[8].value))},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null)},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null)},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null)},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,new t_.IfcBoolean(t[7].value))},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null)},148013059:function(e,t){return new t_.IfcSubContractResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null)},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},5716631:function(e,t){return new t_.IfcTankType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcForceMeasure(t[12].value):null,t[13]?new t_.IfcPressureMeasure(t[13].value):null,t[14]?new t_.IfcNormalisedRatioMeasure(t[14].value):null,t[15]?new t_.IfcPositiveLengthMeasure(t[15].value):null,t[16]?new t_.IfcPositiveLengthMeasure(t[16].value):null)},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null)},618700268:function(e,t){return new t_.IfcTrackElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,new H_(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2].map((function(e){return new H_(e.value)})),new t_.IfcBoolean(t[3].value),t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},728799441:function(e,t){return new t_.IfcValveType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10],t[11]?new t_.IfcBoolean(t[11].value):null,t[12]?new t_.IfcLabel(t[12].value):null)},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null)},4218914973:function(e,t){return new t_.IfcWorkPlan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,new t_.IfcDateTime(t[6].value),t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcDuration(t[9].value):null,t[10]?new t_.IfcDuration(t[10].value):null,new t_.IfcDateTime(t[11].value),t[12]?new t_.IfcDateTime(t[12].value):null,t[13])},1033361043:function(e,t){return new t_.IfcZone(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null)},3821786052:function(e,t){return new t_.IfcActionRequest(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6],t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcText(t[8].value):null)},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new t_.IfcPositiveLengthMeasure(t[7].value))},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value))},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},3460190687:function(e,t){return new t_.IfcAsset(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?new H_(t[8].value):null,t[9]?new H_(t[9].value):null,t[10]?new H_(t[10].value):null,t[11]?new H_(t[11].value):null,t[12]?new t_.IfcDate(t[12].value):null,t[13]?new H_(t[13].value):null)},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value))},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},644574406:function(e,t){return new t_.IfcBridge(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8],t[9]?new t_.IfcLengthMeasure(t[9].value):null,t[10]?new t_.IfcLengthMeasure(t[10].value):null,t[11]?new H_(t[11].value):null)},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},1876633798:function(e,t){return new t_.IfcBuiltElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new t_.IfcLabel(t[6].value):null)},2188180465:function(e,t){return new t_.IfcBurnerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,new H_(t[0].value),new t_.IfcPositiveLengthMeasure(t[1].value))},1677625105:function(e,t){return new t_.IfcCivilElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2301859152:function(e,t){return new t_.IfcCoilType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},843113511:function(e,t){return new t_.IfcColumn(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcIdentifier(t[5].value):null,t[6]?new t_.IfcText(t[6].value):null,t[7]?new H_(t[7].value):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null,t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null)},1945004755:function(e,t){return new t_.IfcDistributionElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3041715199:function(e,t){return new t_.IfcDistributionPort(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},395920057:function(e,t){return new t_.IfcDoor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},869906466:function(e,t){return new t_.IfcDuctFittingType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2814081492:function(e,t){return new t_.IfcEngine(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8])},346874300:function(e,t){return new t_.IfcFanType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4278956645:function(e,t){return new t_.IfcFlowFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},987401354:function(e,t){return new t_.IfcFlowSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},900683007:function(e,t){return new t_.IfcFooting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},3009204131:function(e,t){return new t_.IfcGrid(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7].map((function(e){return new H_(e.value)})),t[8].map((function(e){return new H_(e.value)})),t[9]?t[9].map((function(e){return new H_(e.value)})):null,t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,new t_.IfcBoolean(t[8].value))},76236018:function(e,t){return new t_.IfcLamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null)},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1073191201:function(e,t){return new t_.IfcMember(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0].map((function(e){return new H_(e.value)})),new t_.IfcLogical(t[1].value))},3694346114:function(e,t){return new t_.IfcOutlet(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1687234759:function(e,t){return new t_.IfcPile(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},90941305:function(e,t){return new t_.IfcPump(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3290496277:function(e,t){return new t_.IfcRail(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,new t_.IfcInteger(t[0].value),t[1].map((function(e){return new H_(e.value)})),t[2],new t_.IfcLogical(t[3].value),new t_.IfcLogical(t[4].value),t[5].map((function(e){return new t_.IfcInteger(e.value)})),t[6].map((function(e){return new t_.IfcParameterValue(e.value)})),t[7],t[8].map((function(e){return new t_.IfcReal(e.value)})))},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10]?new t_.IfcAreaMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9],t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcAreaMeasure(t[11].value):null,t[12]?new t_.IfcPositiveLengthMeasure(t[12].value):null,t[13],t[14]?new t_.IfcLabel(t[14].value):null,t[15]?t[15].map((function(e){return K_(3,e)})):null)},2016517767:function(e,t){return new t_.IfcRoof(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},991950508:function(e,t){return new t_.IfcSignal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},331165859:function(e,t){return new t_.IfcStair(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcInteger(t[8].value):null,t[9]?new t_.IfcInteger(t[9].value):null,t[10]?new t_.IfcPositiveLengthMeasure(t[10].value):null,t[11]?new t_.IfcPositiveLengthMeasure(t[11].value):null,t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6]?new H_(t[6].value):null,t[7]?t[7].map((function(e){return new H_(e.value)})):null,t[8]?t[8].map((function(e){return new H_(e.value)})):null,t[9]?new H_(t[9].value):null)},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5],t[6],t[7],t[8]?new t_.IfcRatioMeasure(t[8].value):null,t[9]?new t_.IfcLabel(t[9].value):null,t[10]?t[10].map((function(e){return new t_.IfcRatioMeasure(e.value)})):null)},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,new H_(t[7].value),t[8],t[9]?new t_.IfcBoolean(t[9].value):null,t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},812556717:function(e,t){return new t_.IfcTank(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4207607924:function(e,t){return new t_.IfcValve(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2391406946:function(e,t){return new t_.IfcWall(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8]?new t_.IfcPositiveLengthMeasure(t[8].value):null,t[9]?new t_.IfcPositiveLengthMeasure(t[9].value):null,t[10],t[11],t[12]?new t_.IfcLabel(t[12].value):null)},2874132201:function(e,t){return new t_.IfcActuatorType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},753842376:function(e,t){return new t_.IfcBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},639361253:function(e,t){return new t_.IfcCoil(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcIdentifier(t[4].value):null,t[5]?t[5].map((function(e){return new H_(e.value)})):null,t[6]?t[6].map((function(e){return new H_(e.value)})):null,t[7]?new t_.IfcLabel(t[7].value):null,t[8]?new t_.IfcLabel(t[8].value):null,t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new t_.IfcLabel(t[5].value):null,t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},342316401:function(e,t){return new t_.IfcDuctFitting(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3415622556:function(e,t){return new t_.IfcFan(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},819412036:function(e,t){return new t_.IfcFilter(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},1971632696:function(e,t){return new t_.IfcGeoslice(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null)},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])},25142252:function(e,t){return new t_.IfcController(e,new t_.IfcGloballyUniqueId(t[0].value),t[1]?new H_(t[1].value):null,t[2]?new t_.IfcLabel(t[2].value):null,t[3]?new t_.IfcText(t[3].value):null,t[4]?new t_.IfcLabel(t[4].value):null,t[5]?new H_(t[5].value):null,t[6]?new H_(t[6].value):null,t[7]?new t_.IfcIdentifier(t[7].value):null,t[8])}},j_[3]={618182010:[912023232,3355820592],2879124712:[536804194,3752311538,3633395639],411424972:[602808272],4037036970:[2069777674,1387855156,3367102660,1560379544],1387855156:[2069777674],2859738748:[1981873012,775493141,2732653382,45288368,2614616156],2614616156:[45288368],1959218052:[2251480897,3368373690],1785450214:[3057273783],1466758467:[3843373140],4294318154:[1154170062,747523909,2655187982],3200245327:[3732053477,647927063,3452421091,3548104201,1040185647,2242383968],760658860:[2852063980,3708119e3,1838606355,164193824,552965576,2235152071,3303938423,1847252529,248100487],248100487:[1847252529],2235152071:[552965576],1507914824:[3404854881,3079605661,1303795690],1918398963:[2713554722,2889183280,3050246964,448429030],3701648758:[2624227202,388784114,178086475],2483315170:[3021840470,825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172,2226359599],2226359599:[825690147,2405470396,3252649465,2691318326,931644368,2093928680,2044713172],677532197:[4006246654,2559016684,445594917,759155922,1983826977,1775413392,3727388367,3570813810,3510044353,2367409068,1105321065,776857604,3264961684,3285139300,3611470254,1210645708,3465909080,2133299955,1437953363,2552916305,1742049831,280115917,1640371178,2636378356,597895409,3905492369,616511568,626085974,1351298697,1878645084,846575682,1607154358,3303107099],2022622350:[1304840413],3119450353:[738692330,3800577675,1447204868,1300840506],2095639259:[673634403,2022407955],3958567839:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464,2529465313,182550632,2998442950,3632507154,1485152156,3150382593,1310608509,2705031697,3798115385],986844984:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612,2598011224,4165799628,2042790032,1580146022,3778827333,2802850158,3265635763,297599258,3710013099],1076942058:[3049322572,2830218821,1735638870,4240577450,3982875396],3377609919:[4142052618,3448662350],3008791417:[2347385850,315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190,2453401579,2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756,1377556343,3958052878],2439245199:[1608871552,2943643501,148025276,1411181986,853536259,1437805879,770865208,539742890,3869604511],2341007311:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080,478536968,3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518,1680319473,B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193,219451334],1054537805:[1042787934,1585845231,211053100,1236880293,2771591690,1549132990],3982875396:[1735638870,4240577450],2273995522:[2609359061,4219587988],2162789131:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697,609421318,3478079324],609421318:[2934153892,1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356,2525727697],2525727697:[1190533807,1597423693,1973038258,2473145415,2668620305,1595516126,3408363356],2830218821:[3049322572],846575682:[1878645084],626085974:[597895409,3905492369,616511568],1549132990:[2771591690],280115917:[3465909080,2133299955,1437953363,2552916305,1742049831],222769930:[1010789467],3101149627:[3413951693,3741457305],1377556343:[2519244187,1472233963,2759199220,2924175390,1008929658,803316827,1809719519,3406155212,3008276851,2556980723,2233826070,1029017970,476780140,3900360178,2205249479,2665983363,370225590,1907098498,2799835756],2799835756:[1907098498],3798115385:[2705031697],1310608509:[3150382593],3264961684:[776857604],370225590:[2205249479,2665983363],2889183280:[2713554722],3632507154:[2998442950],3900360178:[2233826070,1029017970,476780140],297599258:[2802850158,3265635763],2556980723:[3406155212,3008276851],1809719519:[803316827],3008276851:[3406155212],3448662350:[4142052618],2453401579:[315944413,374418227,2047409740,32440307,2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_,2601014836,1334484129,451544542,3626867408,4158566097,2798486643,2506170314,1416205885,3331915920,3486308946,3749851601,59481748,2059837836,1675464909,574549367,2581212453,3649129432,2736907675,669184980,1417489154,3124975700,4282788508,2839578677,1229763772,2916149573,2387106220,2294589976,178912537,901063453,1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584,2513912981,1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214,723233188,4124623270,4212018352,816062949,2485617015,823603102,1509187699,1123145078,1423911732,4022376103,2165702409,2067069095,603570806,1663979128,3425423356,2740243338,3125803723,4261334040,2004835150,3422422726,1520743889,4266656042,2604431987,125510826,1402838566,2713105998,2775532180,812098782,987898635,3590301190],3590301190:[987898635],812098782:[2713105998,2775532180],1437953363:[3465909080,2133299955],1402838566:[3422422726,1520743889,4266656042,2604431987,125510826],1520743889:[3422422726],1008929658:[1472233963,2759199220,2924175390],3079605661:[3404854881],219451334:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,x_,2945172077,3888040117,653396225,103090709,3419103109,1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433,1628702193],2529465313:[572779678,1484403080,2835456948,2937912522,1383045692,2898889636,3207858831,2543172580,427810014,2715220739,3071757647,2770003689,2778083089,3615266464],2004835150:[3425423356,2740243338,3125803723,4261334040],1663979128:[603570806],2067069095:[1123145078,1423911732,4022376103,2165702409],3727388367:[4006246654,2559016684,445594917,759155922,1983826977,1775413392],3778827333:[4165799628,2042790032,1580146022],1775413392:[1983826977],2598011224:[2542286263,110355661,3650150729,941946838,2752243245,4166981789,871118103,3692461612],1680319473:[3875453745,3663146110,3521284610,492091185,1482703590,1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900,3357820518],3357820518:[1451395588,3566463478,1714330368,2963535650,512836454,336235671,3765753017,3967405729,1883228015,2090586900],1482703590:[3875453745,3663146110,3521284610,492091185],2090586900:[1883228015],3615266464:[2770003689,2778083089],478536968:[781010003,307848117,4186316022,1462361463,693640335,160246688,3818125796,1401173127,750771296,3268803585,2551354335,2565941209,1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856,826625072,1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036,1865459582,205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259,3939117080],823603102:[4212018352,816062949,2485617015],3692461612:[110355661,3650150729,941946838,2752243245,4166981789,871118103],723233188:[1290935644,1862484736,3737207727,807026263,2603310189,1635779807,1425443689,2147822146,1096409881,1260650574,3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953,2247615214],2473145415:[1973038258],1597423693:[1190533807],2513912981:[1356537516,1213902940,1935646853,4015995234,220341763,2777663545,683857671,167062518,2887950389,3454111270,2629017746,2827736869,4182860854,4124788165,2809605785,230924584],2247615214:[3243963512,1856042241,2804161546,477187591,2028607225,4234616927,2652556860,593015953],1260650574:[1096409881],230924584:[4124788165,2809605785],901063453:[2839578677,1229763772,2916149573,2387106220,2294589976,178912537],4282788508:[3124975700],1628702193:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495,3698973494,2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511,2347495698,3206491090,569719735,4024345920,3736923433],3736923433:[3206491090,569719735,4024345920],2347495698:[2481509218,3812236995,3893378262,710998568,2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223,339256511],3698973494:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380,2574617495],2736907675:[3649129432],4182860854:[683857671,167062518,2887950389,3454111270,2629017746,2827736869],574549367:[2059837836,1675464909],59481748:[1416205885,3331915920,3486308946,3749851601],3749851601:[3486308946],3331915920:[1416205885],1383045692:[2937912522],2485617015:[816062949],2574617495:[1525564444,4105962743,2185764099,4095615324,428585644,1815067380],3419103109:[653396225,103090709],2506170314:[1334484129,451544542,3626867408,4158566097,2798486643],2601014836:[2611217952,1704287377,2510884976,1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249,1260505505,2157484638,3113134337,699246055,42703149,1027922057,3649235739,2000195564,3497074424,782932809,2735484536,3381221214,1682466193,2485787929,3505215534,3388369263,590820931,F_],593015953:[2028607225,4234616927,2652556860],339256511:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625,2590856083,2397081782,578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793,3256556792,3893394355,1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202,1626504194,2097647324,3651464721,3665877780,4095422895,1580310250,1268542332,4238390223],2777663545:[1213902940,1935646853,4015995234,220341763],477187591:[2804161546],2652556860:[4234616927],4238390223:[1580310250,1268542332],178912537:[2294589976],1425443689:[3737207727,807026263,2603310189,1635779807],3888040117:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822,2706460486,3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033,3293443760,4143007308,2296667514,488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714,2914609552,325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761,4208778838,2744685151,4148101412,x_,2945172077],590820931:[2485787929,3505215534,3388369263],759155922:[445594917],2559016684:[4006246654],3967405729:[3566463478,1714330368,2963535650,512836454,336235671,3765753017],2945172077:[2744685151,4148101412,x_],4208778838:[325726236,1154579445,M_,4021432810,1946335990,3041715199,L_,1662888072,317615605,1545765605,4266260250,2176059722,25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466,1758889154,1674181508,1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379,3136571912,1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777,3544373492,1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064,1412071761],3521284610:[3875453745,3663146110],3939117080:[205026976,2857406711,4278684876,1027710054,1307041759,2495723537,1683148259],1307041759:[1027710054],1865459582:[1033248425,2655215786,3840914261,982818633,2728634034,919958153,4095574036],826625072:[1521410863,3523091289,3451746338,366585022,4122056220,1245217292,1441486842,427948657,279856033,3940055652,2802773753,886880790,3242617779,504942748,1638771189,2127690289,3190031847,4201705270,3678494232,3945020480,1204542856],1204542856:[3678494232,3945020480],1638771189:[504942748],2551354335:[160246688,3818125796,1401173127,750771296,3268803585],693640335:[781010003,307848117,4186316022,1462361463],3451746338:[1521410863,3523091289],3523091289:[1521410863],2914609552:[488727124,1060000209,3898045240,148013059,3827777499,3295246426,2559216714],1856042241:[3243963512],1862484736:[1290935644],1412071761:[1209101575,2853485674,463610769,S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112,2706606064],710998568:[2481509218,3812236995,3893378262],2706606064:[S_,N_,963979645,550521510,1891881377,976884017,4228831410,1310830890,4031249490,644574406,146592293,3992365140,525669439,24185140,3124254112],3893378262:[3812236995],2735484536:[42703149,1027922057,3649235739,2000195564,3497074424,782932809],3544373492:[1621171031,3657597509,2082059205,1807405624,1004757350,682877961,1235345126,2757150158,603775116,3689010777],3136571912:[1975003073,734778138,4243806635,1179482911,2445595289,214636428,2218152070,3979015343,530289379],530289379:[2445595289,214636428,2218152070,3979015343],3689010777:[1235345126,2757150158,603775116],3979015343:[2218152070],699246055:[2157484638,3113134337],2387106220:[2839578677,1229763772,2916149573],3665877780:[2097647324,3651464721],2916149573:[1229763772],2296667514:[4143007308],1635779807:[2603310189],2887950389:[683857671,167062518],167062518:[683857671],1260505505:[1232101972,2461110595,1967976161,3593883385,3724593414,2571569899,544395925,2898700619,144952367,1136057603,15328376,3732776249],1626504194:[1909888760,3649138523,819618141,4009809668,1898987631,618700268,338393293,1039846685,2533589738,4074543187,2781568857,1469900589,2324767716,2893384427,1763565496,4017108033,514975943,506776471,710110818,3181161470,679976338,1893162501,2323601079,3203706013,1158309216,1306400036,1457835157,1916426348,4189326743,300633059,2197970202],3732776249:[544395925,2898700619,144952367,1136057603,15328376],15328376:[144952367,1136057603],2510884976:[2611217952,1704287377],2559216714:[488727124,1060000209,3898045240,148013059,3827777499,3295246426],3293443760:[3821786052,3342526732,4218914973,1028945134,4088093105,2904328755,3327091369,2382730787,1419761937,3895139033],1306400036:[3203706013,1158309216],3256556792:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832,2063403501,1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300,3849074793],3849074793:[1599208980,1810631287,2142170206,2030761528,3946677679,3009222698,4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348,2297155007,3277789161,5716631,1339347760,3760055223,2940368186,1285652485,3293546465,4231323485,1834744321,346874300,3850581409,2250791053,1482959167,869906466,2674252688,395041908,804291784,4288270099,3198132628,712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619,3907093117,1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988,2107101300],1758889154:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961,1945004755,1677625105,1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744,1876633798,2769231204,1620046519,840318589,1953115116,1971632696,2680139844,3314249567,2713699986,1594536857,4230923436,3493046030,413509423,1509553395,263784265,3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405,2827207264,1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555,1623761950,4123344466],1623761950:[1335981549,2979338954,2391383451,1530820697,33720170,979691226,3663046924,2347447852,T_,2320036040,3027567501,377706215,2568555532,647756555],2590856083:[2635815018,39481116,3313531582,3956297820,3599934289,2572171363,2415094496,2281632017,3081323446,2310774935,964333572,2108223431,3948183225,2489546625],2107101300:[1217240411,1534661035,2954562838,335055490,2816379211,2301859152,2951183804,2188180465,231477066,1871374353,1911125066,1600972822,1692211062,1072016465,977012517,1806887404,1251058090,3390157468,3174744832,132023988],2853485674:[1209101575],807026263:[3737207727],24185140:[4031249490,644574406,146592293,3992365140,525669439],1310830890:[963979645,550521510,1891881377,976884017,4228831410],2827207264:[3101698114,3071239417,926996030,3588315303,1287392070,3651124850,2143335405],2143335405:[3651124850],1287392070:[3071239417,926996030,3588315303],3907093117:[712377611,2417008758,479945903,3961806047,1411407467,728799441,2315554128,1842657554,3815607619],3198132628:[869906466,2674252688,395041908,804291784,4288270099],1482959167:[346874300,3850581409,2250791053],1834744321:[3760055223,2940368186,1285652485,3293546465,4231323485],1339347760:[3277789161,5716631],2297155007:[4222183408,663422040,400855858,1532957894,3352864051,1133259667,3112655638,1305183839,1894708472,1768891740,2837617999,1950438474,1114901282,1770583370,1161773419,1051575348],3009222698:[1810631287,2142170206,2030761528,3946677679],263784265:[413509423,1509553395],4230923436:[1971632696,2680139844,3314249567,2713699986,1594536857],2706460486:[B_,2515109513,562808652,3205830791,3862327254,1177604601,O_,2254336722,2986769608,385403989,1252848954,2391368822],2176059722:[1662888072,317615605,1545765605,4266260250],3740093272:[3041715199],1946335990:[325726236,1154579445,M_,4021432810],3027567501:[979691226,3663046924,2347447852,T_,2320036040],964333572:[2572171363,2415094496,2281632017,3081323446,2310774935],682877961:[1621171031,3657597509,2082059205,1807405624,1004757350],1179482911:[1975003073,734778138,4243806635],1004757350:[1807405624],214636428:[2445595289],1252848954:[385403989],3657597509:[1621171031],2254336722:[2515109513,562808652,3205830791,3862327254,1177604601,O_],1953115116:[1620046519,840318589],1028945134:[3342526732,4218914973],1967976161:[1232101972,2461110595],2461110595:[1232101972],1136057603:[144952367],1876633798:[1095909175,4196446775,g_,3304561284,3512223829,E_,3425753595,4252922144,331165859,b_,1329646415,D_,3283111854,P_,2262370178,3290496277,R_,1383356374,2182337498,234836483,1073191201,2696325953,900683007,3798194928,3376911765,1077100507,__,3999819293,C_,3426335179,3495092785,1973544240,1502416096,843113511,3296154744],3426335179:[3999819293,C_],2063403501:[578613899,3001207471,2874132201,3179687236,1783015770,655969474,4037862832],1945004755:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315,1062813311,1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314,3040386961],3040386961:[1052013943,819412036,24726584,1360408905,4175244083,3508470533,1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018,2223149337,3310460725,w_,707683696,3518393246,3460952963,4217484030,3758799889,3612865200,987401354,I_,3571504051,90941305,3132237377,342316401,1051757585,635142910,310824031,2176052936,4278956645,1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234,2058353004,402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492,1658829314],3205830791:[562808652],1077100507:[3798194928,3376911765],1658829314:[402227799,264262732,3640358203,4136498852,2272882330,y_,3902619387,2938176219,32344328,2056796094,4292641817,3026737570,3825984169,3420628829,2474470126,2068733104,3319311131,484807127,3747195512,2814081492],2058353004:[1003880860,862014818,3693000487,4074379575,177149247,m_,1162798199,738039164,2188021234],4278956645:[342316401,1051757585,635142910,310824031,2176052936],3132237377:[I_,3571504051,90941305],987401354:[3518393246,3460952963,4217484030,3758799889,3612865200],707683696:[3310460725,w_],2223149337:[1426591983,1904799276,3221913625,277319702,1634111441,4237592921,1404847402,1999602285,991950508,3053780830,3694346114,2078563270,1437502449,1638804497,629592764,76236018],3508470533:[819412036,24726584,1360408905,4175244083],2713699986:[1971632696,2680139844,3314249567],1154579445:[325726236],2391406946:[3512223829],1062813311:[25142252,h_,4288193352,630975310,4086658281,2295281155,182646315]},k_[3]={3630933823:[["HasExternalReference",1437805879,3,!0]],618182010:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],411424972:[["HasExternalReference",1437805879,3,!0]],130549933:[["HasExternalReferences",1437805879,3,!0],["ApprovedObjects",4095574036,5,!0],["ApprovedResources",2943643501,3,!0],["IsRelatedWith",3869604511,3,!0],["Relates",3869604511,2,!0]],1959218052:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],1466758467:[["HasCoordinateOperation",1785450214,0,!0]],602808272:[["HasExternalReference",1437805879,3,!0]],3200245327:[["ExternalReferenceForResources",1437805879,2,!0]],2242383968:[["ExternalReferenceForResources",1437805879,2,!0]],1040185647:[["ExternalReferenceForResources",1437805879,2,!0]],3548104201:[["ExternalReferenceForResources",1437805879,2,!0]],852622518:[["PartOfW",M_,9,!0],["PartOfV",M_,8,!0],["PartOfU",M_,7,!0],["HasIntersections",891718957,0,!0]],2655187982:[["LibraryInfoForObjects",3840914261,5,!0],["HasLibraryReferences",3452421091,5,!0]],3452421091:[["ExternalReferenceForResources",1437805879,2,!0],["LibraryRefForObjects",3840914261,5,!0]],760658860:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],248100487:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],3303938423:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1847252529:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialLayerSet",3303938423,0,!1]],2235152071:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],164193824:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],552965576:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialProfileSet",164193824,2,!1]],1507914824:[["AssociatedTo",2655215786,5,!0]],3368373690:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],3701648758:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2251480897:[["HasExternalReferences",1437805879,3,!0],["PropertiesForConstraint",1608871552,2,!0]],4251960020:[["IsRelatedBy",1411181986,3,!0],["Relates",1411181986,2,!0],["Engages",101040310,1,!0]],2077209135:[["EngagedIn",101040310,0,!0]],2483315170:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2226359599:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3355820592:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],3958567839:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3843373140:[["HasCoordinateOperation",1785450214,0,!0]],986844984:[["HasExternalReferences",1437805879,3,!0]],3710013099:[["HasExternalReferences",1437805879,3,!0]],2044713172:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2093928680:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],931644368:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2691318326:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],3252649465:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],2405470396:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],825690147:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],1076942058:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3377609919:[["RepresentationsInContext",1076942058,0,!0]],3008791417:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1660063152:[["HasShapeAspects",867548509,4,!0],["MapUsage",2347385850,0,!0]],867548509:[["HasExternalReferences",1437805879,3,!0]],3982875396:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],4240577450:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2830218821:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],3958052878:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3049322572:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0]],626085974:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],912023232:[["OfPerson",2077209135,7,!0],["OfOrganization",4251960020,4,!0]],222769930:[["ToTexMap",3465909080,3,!1]],1010789467:[["ToTexMap",3465909080,3,!1]],3101149627:[["HasExternalReference",1437805879,3,!0]],1377556343:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1735638870:[["RepresentationMap",1660063152,1,!0],["LayerAssignments",2022622350,2,!0],["OfProductRepresentation",2095639259,2,!0],["OfShapeAspect",867548509,0,!0]],2799835756:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1907098498:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798115385:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1310608509:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2705031697:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],616511568:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3150382593:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],747523909:[["ClassificationForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],647927063:[["ExternalReferenceForResources",1437805879,2,!0],["ClassificationRefForObjects",919958153,5,!0],["HasReferences",647927063,3,!0]],1485152156:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],370225590:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3050246964:[["HasExternalReference",1437805879,3,!0]],2889183280:[["HasExternalReference",1437805879,3,!0]],2713554722:[["HasExternalReference",1437805879,3,!0]],3632507154:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1154170062:[["DocumentInfoForObjects",982818633,5,!0],["HasDocumentReferences",3732053477,4,!0],["IsPointedTo",770865208,3,!0],["IsPointer",770865208,2,!0]],3732053477:[["ExternalReferenceForResources",1437805879,2,!0],["DocumentRefForObjects",982818633,5,!0]],3900360178:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],476780140:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],297599258:[["HasExternalReferences",1437805879,3,!0]],2556980723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],1809719519:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],803316827:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3008276851:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],3448662350:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],2453401579:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4142052618:[["RepresentationsInContext",1076942058,0,!0],["HasSubContexts",4142052618,6,!0],["HasCoordinateOperation",1785450214,0,!0]],3590301190:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],178086475:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],812098782:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3905492369:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],3741457305:[["HasExternalReference",1437805879,3,!0]],1402838566:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],125510826:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2604431987:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4266656042:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1520743889:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3422422726:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],388784114:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],2624227202:[["PlacesObject",4208778838,5,!0],["ReferencedByPlacements",3701648758,0,!0]],1008929658:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2347385850:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1838606355:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["HasRepresentation",2022407955,3,!0],["IsRelatedWith",853536259,3,!0],["RelatesTo",853536259,2,!0]],3708119e3:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0],["ToMaterialConstituentSet",2852063980,2,!1]],2852063980:[["AssociatedTo",2655215786,5,!0],["HasExternalReferences",1437805879,3,!0],["HasProperties",3265635763,3,!0]],1303795690:[["AssociatedTo",2655215786,5,!0]],3079605661:[["AssociatedTo",2655215786,5,!0]],3404854881:[["AssociatedTo",2655215786,5,!0]],3265635763:[["HasExternalReferences",1437805879,3,!0]],2998442950:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],219451334:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0]],182550632:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2665983363:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1029017970:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2529465313:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2519244187:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3021840470:[["HasExternalReferences",1437805879,3,!0],["PartOfComplex",3021840470,2,!0]],597895409:[["IsMappedBy",280115917,0,!0],["UsedInStyles",1351298697,0,!0]],2004835150:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1663979128:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2067069095:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2165702409:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4022376103:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1423911732:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2924175390:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2775532180:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3778827333:[["HasExternalReferences",1437805879,3,!0]],673634403:[["ShapeOfProduct",4208778838,6,!0],["HasShapeAspects",867548509,4,!0]],2802850158:[["HasExternalReferences",1437805879,3,!0]],2598011224:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1680319473:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],3357820518:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1482703590:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0]],2090586900:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3615266464:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3413951693:[["HasExternalReference",1437805879,3,!0]],1580146022:[["HasExternalReferences",1437805879,3,!0]],2778083089:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2042790032:[["HasExternalReferences",1437805879,3,!0]],4165799628:[["HasExternalReferences",1437805879,3,!0]],1509187699:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],823603102:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],4124623270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3692461612:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],723233188:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2233826070:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2513912981:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2247615214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260650574:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1096409881:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],230924584:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3071757647:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],901063453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4282788508:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124975700:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2715220739:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1628702193:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0]],3736923433:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2347495698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3698973494:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],427810014:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1417489154:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2759199220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2543172580:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3406155212:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasTextureMaps",2552916305,2,!0]],669184980:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3207858831:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4261334040:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3125803723:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2740243338:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3425423356:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2736907675:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4182860854:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2581212453:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2713105998:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2898889636:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],1123145078:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],574549367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1675464909:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2059837836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],59481748:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3749851601:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3486308946:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3331915920:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1416205885:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1383045692:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2205249479:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2542286263:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2485617015:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2574617495:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],3419103109:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],1815067380:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2506170314:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2147822146:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2601014836:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2827736869:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2629017746:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4212018352:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],32440307:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],593015953:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1472233963:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1883228015:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],339256511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2777663545:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2835456948:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],4024345920:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],477187591:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2804161546:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2047409740:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],374418227:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],315944413:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2652556860:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4238390223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1268542332:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4095422895:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],987898635:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1484403080:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],178912537:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],2294589976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["ToFaceSet",2839578677,2,!0],["HasTexCoords",222769930,1,!0]],572779678:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],428585644:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1281925730:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1425443689:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3888040117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0]],590820931:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3388369263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3505215534:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2485787929:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1682466193:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],603570806:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],220341763:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3381221214:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3967405729:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],569719735:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2945172077:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],4208778838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],103090709:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],653396225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDefinedBy",4186316022,4,!0],["Declares",2565941209,4,!0]],871118103:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],4166981789:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],2752243245:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],941946838:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],1451395588:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],492091185:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["Defines",307848117,5,!0]],3650150729:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],110355661:[["HasExternalReferences",1437805879,3,!0],["PartOfPset",1451395588,4,!0],["PropertyForDependance",148025276,2,!0],["PropertyDependsOn",148025276,3,!0],["PartOfComplex",2542286263,3,!0],["HasConstraints",1608871552,3,!0],["HasApprovals",2943643501,2,!0]],3521284610:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],2770003689:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],2798486643:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3454111270:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3765753017:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3523091289:[["InnerBoundaries",3523091289,9,!0]],1521410863:[["InnerBoundaries",3523091289,9,!0],["Corresponds",1521410863,10,!0]],816062949:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["UsingCurves",3732776249,0,!0]],2914609552:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1856042241:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3243963512:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4158566097:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3626867408:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1862484736:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1290935644:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1356537516:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3663146110:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],1412071761:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],710998568:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2706606064:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],3893378262:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],463610769:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2481509218:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],451544542:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4015995234:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2735484536:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3544373492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3136571912:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0]],530289379:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],3689010777:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],3979015343:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2218152070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],603775116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4095615324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],699246055:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2028607225:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2809605785:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4124788165:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1580310250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3473067441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],3206491090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["OperatesOn",4278684876,6,!0]],2387106220:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],782932809:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1935646853:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3665877780:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2916149573:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],1229763772:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3651464721:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],336235671:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],512836454:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2296667514:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],1635779807:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2603310189:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1674181508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0]],2887950389:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],167062518:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1334484129:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649129432:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1260505505:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3124254112:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1626504194:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2197970202:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2937912522:[["HasExternalReference",1437805879,3,!0],["HasProperties",2802850158,3,!0]],3893394355:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3497074424:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],300633059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3875453745:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["PartOfComplexTemplate",3875453745,6,!0],["PartOfPsetTemplate",492091185,6,!0]],3732776249:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],15328376:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2510884976:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2185764099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],4105962743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],1525564444:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ResourceOf",205026976,6,!0]],2559216714:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3293443760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],2000195564:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3895139033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1419761937:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4189326743:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1916426348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3295246426:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1457835157:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1213902940:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1306400036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4234616927:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3256556792:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3849074793:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2963535650:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],1714330368:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],2323601079:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1758889154:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4123344466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2397081782:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1623761950:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2590856083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1704287377:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2107101300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],132023988:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3174744832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3390157468:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4148101412:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2853485674:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],807026263:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3737207727:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],24185140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1310830890:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4228831410:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],647756555:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2489546625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2827207264:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2143335405:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1287392070:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],3907093117:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3198132628:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3815607619:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1482959167:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1834744321:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1339347760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2297155007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3009222698:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1893162501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],263784265:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1509553395:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3493046030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4230923436:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1594536857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2898700619:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2706460486:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1251058090:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1806887404:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2568555532:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3948183225:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2571569899:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3946677679:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3113134337:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2391368822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],4288270099:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],679976338:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3827777499:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1051575348:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1161773419:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2176059722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1770583370:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],525669439:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],976884017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],377706215:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2108223431:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1114901282:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3181161470:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1950438474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],710110818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],977012517:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],506776471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4143007308:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsActingUpon",1683148259,6,!0]],3588315303:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1],["HasFillings",3940055652,4,!0]],2837617999:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],514975943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2382730787:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3566463478:[["HasContext",2565941209,5,!0],["HasAssociations",1865459582,4,!0],["DefinesType",1628702193,5,!0],["IsDefinedBy",307848117,4,!0],["DefinesOccurrence",4186316022,5,!0]],3327091369:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1158309216:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],804291784:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4231323485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4017108033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2839578677:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0],["HasColours",3570813810,0,!0],["HasTextures",1437953363,1,!0]],3724593414:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3740093272:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],1946335990:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],2744685151:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsPredecessorTo",4122056220,4,!0],["IsSuccessorFrom",4122056220,5,!0],["OperatesOn",4278684876,6,!0]],2904328755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3651124850:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["ProjectsElements",750771296,5,!1]],1842657554:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2250791053:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1763565496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2893384427:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3992365140:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],1891881377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2324767716:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1469900589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],683857671:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4021432810:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3027567501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],964333572:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2320036040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2310774935:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],146592293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],550521510:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2781568857:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1768891740:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2157484638:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3649235739:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],544395925:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1027922057:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4074543187:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],33720170:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3599934289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1894708472:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],42703149:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],4097777520:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2533589738:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1072016465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3856911033:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasCoverings",2802773753,4,!0],["BoundedBy",3451746338,4,!0]],1305183839:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3812236995:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3112655638:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1039846685:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],338393293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],682877961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1179482911:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1004757350:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],4243806635:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],214636428:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2445595289:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectedBy",1638771189,4,!0]],2757150158:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1807405624:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1252848954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],2082059205:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],734778138:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],1235345126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],2986769608:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ResultGroupFor",2515109513,8,!0]],3657597509:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1975003073:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedStructuralActivity",2127690289,4,!0],["ConnectsStructuralMembers",1638771189,5,!0]],148013059:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],3101698114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["AdheresToElement",3818125796,5,!1]],2315554128:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2254336722:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],413509423:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],5716631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3824725483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2347447852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3081323446:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3663046924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2281632017:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2415094496:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],618700268:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1692211062:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2097647324:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1953115116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3593883385:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1600972822:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1911125066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],728799441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],840318589:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1530820697:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3956297820:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2391383451:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3313531582:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2769231204:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],926996030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1898987631:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1133259667:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4009809668:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4088093105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1028945134:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],4218914973:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],3342526732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1033361043:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],3821786052:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["Controls",2495723537,6,!0]],1411407467:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3352864051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1871374353:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4266260250:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1545765605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],317615605:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],1662888072:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0]],3460190687:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0]],1532957894:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1967976161:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],2461110595:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],819618141:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3649138523:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],231477066:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1136057603:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],644574406:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],963979645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],4031249490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0]],2979338954:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],39481116:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1909888760:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1177604601:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1876633798:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3862327254:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],2188180465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],395041908:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3293546465:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2674252688:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1285652485:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3203706013:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2951183804:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3296154744:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2611217952:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],1677625105:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2301859152:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],843113511:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],400855858:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3850581409:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2816379211:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3898045240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],1060000209:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],488727124:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ResourceOf",205026976,6,!0]],2940368186:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],335055490:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2954562838:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1502416096:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1973544240:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["CoversSpaces",2802773753,5,!0],["CoversElements",886880790,5,!0]],3495092785:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3961806047:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3426335179:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1335981549:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2635815018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],479945903:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1599208980:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2063403501:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1945004755:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0]],3040386961:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3041715199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedIn",4201705270,4,!0],["ConnectedFrom",3190031847,5,!0],["ConnectedTo",3190031847,4,!0]],3205830791:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],395920057:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],869906466:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3760055223:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2030761528:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3071239417:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["VoidsElements",1401173127,5,!1]],1077100507:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3376911765:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],663422040:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2417008758:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3277789161:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2142170206:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1534661035:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1217240411:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],712377611:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1658829314:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2814081492:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3747195512:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],484807127:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1209101575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainsElements",3242617779,5,!0],["ServicedBySystems",366585022,5,!0],["ReferencesElements",1245217292,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["BoundedBy",3451746338,4,!0]],346874300:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1810631287:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4222183408:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2058353004:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4278956645:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4037862832:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2188021234:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3132237377:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],987401354:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],707683696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2223149337:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3508470533:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],900683007:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2713699986:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3009204131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],3319311131:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2068733104:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4175244083:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2176052936:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2696325953:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],76236018:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],629592764:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1154579445:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],1638804497:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1437502449:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1073191201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2078563270:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],234836483:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2474470126:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2182337498:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],144952367:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3694346114:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1383356374:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1687234759:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],310824031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3612865200:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3171933400:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],738039164:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],655969474:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],90941305:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3290496277:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2262370178:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3024970846:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3283111854:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1232101972:[["LayerAssignment",2022622350,2,!0],["StyledByItem",3958052878,0,!0]],3798194928:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],979691226:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2572171363:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],2016517767:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3053780830:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1783015770:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1329646415:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],991950508:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1529196076:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3420628829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1999602285:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1404847402:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],331165859:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4252922144:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2515109513:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],385403989:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["SourceOfResultGroup",2986769608,6,!0],["LoadGroupFor",2515109513,7,!0]],1621171031:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["AssignedToStructuralItem",2127690289,5,!0]],1162798199:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],812556717:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3425753595:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3825984169:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1620046519:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3026737570:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3179687236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],4292641817:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4207607924:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2391406946:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3512223829:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4237592921:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3304561284:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2874132201:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],1634111441:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],177149247:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2056796094:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3001207471:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],325726236:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["ContainedInStructure",3242617779,4,!0],["Positions",1441486842,4,!0]],277319702:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],753842376:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],4196446775:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],32344328:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3314249567:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1095909175:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2938176219:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],635142910:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3758799889:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1051757585:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4217484030:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3999819293:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],3902619387:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],639361253:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3221913625:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3571504051:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],2272882330:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],578613899:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["Types",781010003,5,!0],["ReferencedBy",2857406711,6,!0]],3460952963:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4136498852:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3640358203:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],4074379575:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3693000487:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1052013943:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],562808652:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["IsGroupedBy",1307041759,6,!0],["ReferencedInStructures",1245217292,4,!0],["ServicesBuildings",366585022,4,!0],["ServicesFacilities",1245217292,4,!0]],1062813311:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],342316401:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3518393246:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1360408905:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1904799276:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],862014818:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3310460725:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],24726584:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],264262732:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],402227799:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1003880860:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],3415622556:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],819412036:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],1426591983:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["HasControlElements",279856033,5,!0]],182646315:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],2680139844:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],1971632696:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0]],2295281155:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4086658281:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],630975310:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],4288193352:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],3087945054:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]],25142252:[["HasAssignments",3939117080,4,!0],["Nests",3268803585,5,!0],["IsNestedBy",3268803585,4,!0],["HasContext",2565941209,5,!0],["IsDecomposedBy",160246688,4,!0],["Decomposes",160246688,5,!0],["HasAssociations",1865459582,4,!0],["IsDeclaredBy",1462361463,4,!0],["Declares",1462361463,5,!0],["IsTypedBy",781010003,4,!0],["IsDefinedBy",4186316022,4,!0],["ReferencedBy",2857406711,6,!0],["PositionedRelativeTo",1441486842,5,!0],["ReferencedInStructures",1245217292,4,!0],["FillsVoids",3940055652,5,!0],["ConnectedTo",1204542856,5,!0],["IsInterferedByElements",427948657,5,!0],["InterferesElements",427948657,4,!0],["HasProjections",750771296,4,!0],["HasOpenings",1401173127,4,!0],["IsConnectionRealization",3678494232,7,!0],["ProvidesBoundaries",3451746338,5,!0],["ConnectedFrom",1204542856,6,!0],["ContainedInStructure",3242617779,4,!0],["HasCoverings",886880790,4,!0],["HasSurfaceFeatures",3818125796,4,!0],["HasPorts",4201705270,5,!0],["AssignedToFlowElement",279856033,4,!0]]},V_[3]={3630933823:function(e,t){return new t_.IfcActorRole(e,t[0],t[1],t[2])},618182010:function(e,t){return new t_.IfcAddress(e,t[0],t[1],t[2])},2879124712:function(e,t){return new t_.IfcAlignmentParameterSegment(e,t[0],t[1])},3633395639:function(e,t){return new t_.IfcAlignmentVerticalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639542469:function(e,t){return new t_.IfcApplication(e,t[0],t[1],t[2],t[3])},411424972:function(e,t){return new t_.IfcAppliedValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},130549933:function(e,t){return new t_.IfcApproval(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4037036970:function(e,t){return new t_.IfcBoundaryCondition(e,t[0])},1560379544:function(e,t){return new t_.IfcBoundaryEdgeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3367102660:function(e,t){return new t_.IfcBoundaryFaceCondition(e,t[0],t[1],t[2],t[3])},1387855156:function(e,t){return new t_.IfcBoundaryNodeCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2069777674:function(e,t){return new t_.IfcBoundaryNodeConditionWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2859738748:function(e,t){return new t_.IfcConnectionGeometry(e)},2614616156:function(e,t){return new t_.IfcConnectionPointGeometry(e,t[0],t[1])},2732653382:function(e,t){return new t_.IfcConnectionSurfaceGeometry(e,t[0],t[1])},775493141:function(e,t){return new t_.IfcConnectionVolumeGeometry(e,t[0],t[1])},1959218052:function(e,t){return new t_.IfcConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1785450214:function(e,t){return new t_.IfcCoordinateOperation(e,t[0],t[1])},1466758467:function(e,t){return new t_.IfcCoordinateReferenceSystem(e,t[0],t[1],t[2],t[3])},602808272:function(e,t){return new t_.IfcCostValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1765591967:function(e,t){return new t_.IfcDerivedUnit(e,t[0],t[1],t[2],t[3])},1045800335:function(e,t){return new t_.IfcDerivedUnitElement(e,t[0],t[1])},2949456006:function(e,t){return new t_.IfcDimensionalExponents(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4294318154:function(e,t){return new t_.IfcExternalInformation(e)},3200245327:function(e,t){return new t_.IfcExternalReference(e,t[0],t[1],t[2])},2242383968:function(e,t){return new t_.IfcExternallyDefinedHatchStyle(e,t[0],t[1],t[2])},1040185647:function(e,t){return new t_.IfcExternallyDefinedSurfaceStyle(e,t[0],t[1],t[2])},3548104201:function(e,t){return new t_.IfcExternallyDefinedTextFont(e,t[0],t[1],t[2])},852622518:function(e,t){return new t_.IfcGridAxis(e,t[0],t[1],t[2])},3020489413:function(e,t){return new t_.IfcIrregularTimeSeriesValue(e,t[0],t[1])},2655187982:function(e,t){return new t_.IfcLibraryInformation(e,t[0],t[1],t[2],t[3],t[4],t[5])},3452421091:function(e,t){return new t_.IfcLibraryReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},4162380809:function(e,t){return new t_.IfcLightDistributionData(e,t[0],t[1],t[2])},1566485204:function(e,t){return new t_.IfcLightIntensityDistribution(e,t[0],t[1])},3057273783:function(e,t){return new t_.IfcMapConversion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1847130766:function(e,t){return new t_.IfcMaterialClassificationRelationship(e,t[0],t[1])},760658860:function(e,t){return new t_.IfcMaterialDefinition(e)},248100487:function(e,t){return new t_.IfcMaterialLayer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3303938423:function(e,t){return new t_.IfcMaterialLayerSet(e,t[0],t[1],t[2])},1847252529:function(e,t){return new t_.IfcMaterialLayerWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2199411900:function(e,t){return new t_.IfcMaterialList(e,t[0])},2235152071:function(e,t){return new t_.IfcMaterialProfile(e,t[0],t[1],t[2],t[3],t[4],t[5])},164193824:function(e,t){return new t_.IfcMaterialProfileSet(e,t[0],t[1],t[2],t[3])},552965576:function(e,t){return new t_.IfcMaterialProfileWithOffsets(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1507914824:function(e,t){return new t_.IfcMaterialUsageDefinition(e)},2597039031:function(e,t){return new t_.IfcMeasureWithUnit(e,t[0],t[1])},3368373690:function(e,t){return new t_.IfcMetric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2706619895:function(e,t){return new t_.IfcMonetaryUnit(e,t[0])},1918398963:function(e,t){return new t_.IfcNamedUnit(e,t[0],t[1])},3701648758:function(e,t){return new t_.IfcObjectPlacement(e,t[0])},2251480897:function(e,t){return new t_.IfcObjective(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4251960020:function(e,t){return new t_.IfcOrganization(e,t[0],t[1],t[2],t[3],t[4])},1207048766:function(e,t){return new t_.IfcOwnerHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2077209135:function(e,t){return new t_.IfcPerson(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},101040310:function(e,t){return new t_.IfcPersonAndOrganization(e,t[0],t[1],t[2])},2483315170:function(e,t){return new t_.IfcPhysicalQuantity(e,t[0],t[1])},2226359599:function(e,t){return new t_.IfcPhysicalSimpleQuantity(e,t[0],t[1],t[2])},3355820592:function(e,t){return new t_.IfcPostalAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},677532197:function(e,t){return new t_.IfcPresentationItem(e)},2022622350:function(e,t){return new t_.IfcPresentationLayerAssignment(e,t[0],t[1],t[2],t[3])},1304840413:function(e,t){return new t_.IfcPresentationLayerWithStyle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3119450353:function(e,t){return new t_.IfcPresentationStyle(e,t[0])},2095639259:function(e,t){return new t_.IfcProductRepresentation(e,t[0],t[1],t[2])},3958567839:function(e,t){return new t_.IfcProfileDef(e,t[0],t[1])},3843373140:function(e,t){return new t_.IfcProjectedCRS(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},986844984:function(e,t){return new t_.IfcPropertyAbstraction(e)},3710013099:function(e,t){return new t_.IfcPropertyEnumeration(e,t[0],t[1],t[2])},2044713172:function(e,t){return new t_.IfcQuantityArea(e,t[0],t[1],t[2],t[3],t[4])},2093928680:function(e,t){return new t_.IfcQuantityCount(e,t[0],t[1],t[2],t[3],t[4])},931644368:function(e,t){return new t_.IfcQuantityLength(e,t[0],t[1],t[2],t[3],t[4])},2691318326:function(e,t){return new t_.IfcQuantityNumber(e,t[0],t[1],t[2],t[3],t[4])},3252649465:function(e,t){return new t_.IfcQuantityTime(e,t[0],t[1],t[2],t[3],t[4])},2405470396:function(e,t){return new t_.IfcQuantityVolume(e,t[0],t[1],t[2],t[3],t[4])},825690147:function(e,t){return new t_.IfcQuantityWeight(e,t[0],t[1],t[2],t[3],t[4])},3915482550:function(e,t){return new t_.IfcRecurrencePattern(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2433181523:function(e,t){return new t_.IfcReference(e,t[0],t[1],t[2],t[3],t[4])},1076942058:function(e,t){return new t_.IfcRepresentation(e,t[0],t[1],t[2],t[3])},3377609919:function(e,t){return new t_.IfcRepresentationContext(e,t[0],t[1])},3008791417:function(e,t){return new t_.IfcRepresentationItem(e)},1660063152:function(e,t){return new t_.IfcRepresentationMap(e,t[0],t[1])},2439245199:function(e,t){return new t_.IfcResourceLevelRelationship(e,t[0],t[1])},2341007311:function(e,t){return new t_.IfcRoot(e,t[0],t[1],t[2],t[3])},448429030:function(e,t){return new t_.IfcSIUnit(e,t[0],t[1],t[2],t[3])},1054537805:function(e,t){return new t_.IfcSchedulingTime(e,t[0],t[1],t[2])},867548509:function(e,t){return new t_.IfcShapeAspect(e,t[0],t[1],t[2],t[3],t[4])},3982875396:function(e,t){return new t_.IfcShapeModel(e,t[0],t[1],t[2],t[3])},4240577450:function(e,t){return new t_.IfcShapeRepresentation(e,t[0],t[1],t[2],t[3])},2273995522:function(e,t){return new t_.IfcStructuralConnectionCondition(e,t[0])},2162789131:function(e,t){return new t_.IfcStructuralLoad(e,t[0])},3478079324:function(e,t){return new t_.IfcStructuralLoadConfiguration(e,t[0],t[1],t[2])},609421318:function(e,t){return new t_.IfcStructuralLoadOrResult(e,t[0])},2525727697:function(e,t){return new t_.IfcStructuralLoadStatic(e,t[0])},3408363356:function(e,t){return new t_.IfcStructuralLoadTemperature(e,t[0],t[1],t[2],t[3])},2830218821:function(e,t){return new t_.IfcStyleModel(e,t[0],t[1],t[2],t[3])},3958052878:function(e,t){return new t_.IfcStyledItem(e,t[0],t[1],t[2])},3049322572:function(e,t){return new t_.IfcStyledRepresentation(e,t[0],t[1],t[2],t[3])},2934153892:function(e,t){return new t_.IfcSurfaceReinforcementArea(e,t[0],t[1],t[2],t[3])},1300840506:function(e,t){return new t_.IfcSurfaceStyle(e,t[0],t[1],t[2])},3303107099:function(e,t){return new t_.IfcSurfaceStyleLighting(e,t[0],t[1],t[2],t[3])},1607154358:function(e,t){return new t_.IfcSurfaceStyleRefraction(e,t[0],t[1])},846575682:function(e,t){return new t_.IfcSurfaceStyleShading(e,t[0],t[1])},1351298697:function(e,t){return new t_.IfcSurfaceStyleWithTextures(e,t[0])},626085974:function(e,t){return new t_.IfcSurfaceTexture(e,t[0],t[1],t[2],t[3],t[4])},985171141:function(e,t){return new t_.IfcTable(e,t[0],t[1],t[2])},2043862942:function(e,t){return new t_.IfcTableColumn(e,t[0],t[1],t[2],t[3],t[4])},531007025:function(e,t){return new t_.IfcTableRow(e,t[0],t[1])},1549132990:function(e,t){return new t_.IfcTaskTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},2771591690:function(e,t){return new t_.IfcTaskTimeRecurring(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19],t[20])},912023232:function(e,t){return new t_.IfcTelecomAddress(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1447204868:function(e,t){return new t_.IfcTextStyle(e,t[0],t[1],t[2],t[3],t[4])},2636378356:function(e,t){return new t_.IfcTextStyleForDefinedFont(e,t[0],t[1])},1640371178:function(e,t){return new t_.IfcTextStyleTextModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},280115917:function(e,t){return new t_.IfcTextureCoordinate(e,t[0])},1742049831:function(e,t){return new t_.IfcTextureCoordinateGenerator(e,t[0],t[1],t[2])},222769930:function(e,t){return new t_.IfcTextureCoordinateIndices(e,t[0],t[1])},1010789467:function(e,t){return new t_.IfcTextureCoordinateIndicesWithVoids(e,t[0],t[1],t[2])},2552916305:function(e,t){return new t_.IfcTextureMap(e,t[0],t[1],t[2])},1210645708:function(e,t){return new t_.IfcTextureVertex(e,t[0])},3611470254:function(e,t){return new t_.IfcTextureVertexList(e,t[0])},1199560280:function(e,t){return new t_.IfcTimePeriod(e,t[0],t[1])},3101149627:function(e,t){return new t_.IfcTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},581633288:function(e,t){return new t_.IfcTimeSeriesValue(e,t[0])},1377556343:function(e,t){return new t_.IfcTopologicalRepresentationItem(e)},1735638870:function(e,t){return new t_.IfcTopologyRepresentation(e,t[0],t[1],t[2],t[3])},180925521:function(e,t){return new t_.IfcUnitAssignment(e,t[0])},2799835756:function(e,t){return new t_.IfcVertex(e)},1907098498:function(e,t){return new t_.IfcVertexPoint(e,t[0])},891718957:function(e,t){return new t_.IfcVirtualGridIntersection(e,t[0],t[1])},1236880293:function(e,t){return new t_.IfcWorkTime(e,t[0],t[1],t[2],t[3],t[4],t[5])},3752311538:function(e,t){return new t_.IfcAlignmentCantSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},536804194:function(e,t){return new t_.IfcAlignmentHorizontalSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3869604511:function(e,t){return new t_.IfcApprovalRelationship(e,t[0],t[1],t[2],t[3])},3798115385:function(e,t){return new t_.IfcArbitraryClosedProfileDef(e,t[0],t[1],t[2])},1310608509:function(e,t){return new t_.IfcArbitraryOpenProfileDef(e,t[0],t[1],t[2])},2705031697:function(e,t){return new t_.IfcArbitraryProfileDefWithVoids(e,t[0],t[1],t[2],t[3])},616511568:function(e,t){return new t_.IfcBlobTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3150382593:function(e,t){return new t_.IfcCenterLineProfileDef(e,t[0],t[1],t[2],t[3])},747523909:function(e,t){return new t_.IfcClassification(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},647927063:function(e,t){return new t_.IfcClassificationReference(e,t[0],t[1],t[2],t[3],t[4],t[5])},3285139300:function(e,t){return new t_.IfcColourRgbList(e,t[0])},3264961684:function(e,t){return new t_.IfcColourSpecification(e,t[0])},1485152156:function(e,t){return new t_.IfcCompositeProfileDef(e,t[0],t[1],t[2],t[3])},370225590:function(e,t){return new t_.IfcConnectedFaceSet(e,t[0])},1981873012:function(e,t){return new t_.IfcConnectionCurveGeometry(e,t[0],t[1])},45288368:function(e,t){return new t_.IfcConnectionPointEccentricity(e,t[0],t[1],t[2],t[3],t[4])},3050246964:function(e,t){return new t_.IfcContextDependentUnit(e,t[0],t[1],t[2])},2889183280:function(e,t){return new t_.IfcConversionBasedUnit(e,t[0],t[1],t[2],t[3])},2713554722:function(e,t){return new t_.IfcConversionBasedUnitWithOffset(e,t[0],t[1],t[2],t[3],t[4])},539742890:function(e,t){return new t_.IfcCurrencyRelationship(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3800577675:function(e,t){return new t_.IfcCurveStyle(e,t[0],t[1],t[2],t[3],t[4])},1105321065:function(e,t){return new t_.IfcCurveStyleFont(e,t[0],t[1])},2367409068:function(e,t){return new t_.IfcCurveStyleFontAndScaling(e,t[0],t[1],t[2])},3510044353:function(e,t){return new t_.IfcCurveStyleFontPattern(e,t[0],t[1])},3632507154:function(e,t){return new t_.IfcDerivedProfileDef(e,t[0],t[1],t[2],t[3],t[4])},1154170062:function(e,t){return new t_.IfcDocumentInformation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},770865208:function(e,t){return new t_.IfcDocumentInformationRelationship(e,t[0],t[1],t[2],t[3],t[4])},3732053477:function(e,t){return new t_.IfcDocumentReference(e,t[0],t[1],t[2],t[3],t[4])},3900360178:function(e,t){return new t_.IfcEdge(e,t[0],t[1])},476780140:function(e,t){return new t_.IfcEdgeCurve(e,t[0],t[1],t[2],t[3])},211053100:function(e,t){return new t_.IfcEventTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},297599258:function(e,t){return new t_.IfcExtendedProperties(e,t[0],t[1],t[2])},1437805879:function(e,t){return new t_.IfcExternalReferenceRelationship(e,t[0],t[1],t[2],t[3])},2556980723:function(e,t){return new t_.IfcFace(e,t[0])},1809719519:function(e,t){return new t_.IfcFaceBound(e,t[0],t[1])},803316827:function(e,t){return new t_.IfcFaceOuterBound(e,t[0],t[1])},3008276851:function(e,t){return new t_.IfcFaceSurface(e,t[0],t[1],t[2])},4219587988:function(e,t){return new t_.IfcFailureConnectionCondition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},738692330:function(e,t){return new t_.IfcFillAreaStyle(e,t[0],t[1],t[2])},3448662350:function(e,t){return new t_.IfcGeometricRepresentationContext(e,t[0],t[1],t[2],t[3],t[4],t[5])},2453401579:function(e,t){return new t_.IfcGeometricRepresentationItem(e)},4142052618:function(e,t){return new t_.IfcGeometricRepresentationSubContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3590301190:function(e,t){return new t_.IfcGeometricSet(e,t[0])},178086475:function(e,t){return new t_.IfcGridPlacement(e,t[0],t[1],t[2])},812098782:function(e,t){return new t_.IfcHalfSpaceSolid(e,t[0],t[1])},3905492369:function(e,t){return new t_.IfcImageTexture(e,t[0],t[1],t[2],t[3],t[4],t[5])},3570813810:function(e,t){return new t_.IfcIndexedColourMap(e,t[0],t[1],t[2],t[3])},1437953363:function(e,t){return new t_.IfcIndexedTextureMap(e,t[0],t[1],t[2])},2133299955:function(e,t){return new t_.IfcIndexedTriangleTextureMap(e,t[0],t[1],t[2],t[3])},3741457305:function(e,t){return new t_.IfcIrregularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1585845231:function(e,t){return new t_.IfcLagTime(e,t[0],t[1],t[2],t[3],t[4])},1402838566:function(e,t){return new t_.IfcLightSource(e,t[0],t[1],t[2],t[3])},125510826:function(e,t){return new t_.IfcLightSourceAmbient(e,t[0],t[1],t[2],t[3])},2604431987:function(e,t){return new t_.IfcLightSourceDirectional(e,t[0],t[1],t[2],t[3],t[4])},4266656042:function(e,t){return new t_.IfcLightSourceGoniometric(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1520743889:function(e,t){return new t_.IfcLightSourcePositional(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3422422726:function(e,t){return new t_.IfcLightSourceSpot(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},388784114:function(e,t){return new t_.IfcLinearPlacement(e,t[0],t[1],t[2])},2624227202:function(e,t){return new t_.IfcLocalPlacement(e,t[0],t[1])},1008929658:function(e,t){return new t_.IfcLoop(e)},2347385850:function(e,t){return new t_.IfcMappedItem(e,t[0],t[1])},1838606355:function(e,t){return new t_.IfcMaterial(e,t[0],t[1],t[2])},3708119e3:function(e,t){return new t_.IfcMaterialConstituent(e,t[0],t[1],t[2],t[3],t[4])},2852063980:function(e,t){return new t_.IfcMaterialConstituentSet(e,t[0],t[1],t[2])},2022407955:function(e,t){return new t_.IfcMaterialDefinitionRepresentation(e,t[0],t[1],t[2],t[3])},1303795690:function(e,t){return new t_.IfcMaterialLayerSetUsage(e,t[0],t[1],t[2],t[3],t[4])},3079605661:function(e,t){return new t_.IfcMaterialProfileSetUsage(e,t[0],t[1],t[2])},3404854881:function(e,t){return new t_.IfcMaterialProfileSetUsageTapering(e,t[0],t[1],t[2],t[3],t[4])},3265635763:function(e,t){return new t_.IfcMaterialProperties(e,t[0],t[1],t[2],t[3])},853536259:function(e,t){return new t_.IfcMaterialRelationship(e,t[0],t[1],t[2],t[3],t[4])},2998442950:function(e,t){return new t_.IfcMirroredProfileDef(e,t[0],t[1],t[2],t[3],t[4])},219451334:function(e,t){return new t_.IfcObjectDefinition(e,t[0],t[1],t[2],t[3])},182550632:function(e,t){return new t_.IfcOpenCrossProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2665983363:function(e,t){return new t_.IfcOpenShell(e,t[0])},1411181986:function(e,t){return new t_.IfcOrganizationRelationship(e,t[0],t[1],t[2],t[3])},1029017970:function(e,t){return new t_.IfcOrientedEdge(e,t[0],t[1],t[2])},2529465313:function(e,t){return new t_.IfcParameterizedProfileDef(e,t[0],t[1],t[2])},2519244187:function(e,t){return new t_.IfcPath(e,t[0])},3021840470:function(e,t){return new t_.IfcPhysicalComplexQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},597895409:function(e,t){return new t_.IfcPixelTexture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2004835150:function(e,t){return new t_.IfcPlacement(e,t[0])},1663979128:function(e,t){return new t_.IfcPlanarExtent(e,t[0],t[1])},2067069095:function(e,t){return new t_.IfcPoint(e)},2165702409:function(e,t){return new t_.IfcPointByDistanceExpression(e,t[0],t[1],t[2],t[3],t[4])},4022376103:function(e,t){return new t_.IfcPointOnCurve(e,t[0],t[1])},1423911732:function(e,t){return new t_.IfcPointOnSurface(e,t[0],t[1],t[2])},2924175390:function(e,t){return new t_.IfcPolyLoop(e,t[0])},2775532180:function(e,t){return new t_.IfcPolygonalBoundedHalfSpace(e,t[0],t[1],t[2],t[3])},3727388367:function(e,t){return new t_.IfcPreDefinedItem(e,t[0])},3778827333:function(e,t){return new t_.IfcPreDefinedProperties(e)},1775413392:function(e,t){return new t_.IfcPreDefinedTextFont(e,t[0])},673634403:function(e,t){return new t_.IfcProductDefinitionShape(e,t[0],t[1],t[2])},2802850158:function(e,t){return new t_.IfcProfileProperties(e,t[0],t[1],t[2],t[3])},2598011224:function(e,t){return new t_.IfcProperty(e,t[0],t[1])},1680319473:function(e,t){return new t_.IfcPropertyDefinition(e,t[0],t[1],t[2],t[3])},148025276:function(e,t){return new t_.IfcPropertyDependencyRelationship(e,t[0],t[1],t[2],t[3],t[4])},3357820518:function(e,t){return new t_.IfcPropertySetDefinition(e,t[0],t[1],t[2],t[3])},1482703590:function(e,t){return new t_.IfcPropertyTemplateDefinition(e,t[0],t[1],t[2],t[3])},2090586900:function(e,t){return new t_.IfcQuantitySet(e,t[0],t[1],t[2],t[3])},3615266464:function(e,t){return new t_.IfcRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3413951693:function(e,t){return new t_.IfcRegularTimeSeries(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1580146022:function(e,t){return new t_.IfcReinforcementBarProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},478536968:function(e,t){return new t_.IfcRelationship(e,t[0],t[1],t[2],t[3])},2943643501:function(e,t){return new t_.IfcResourceApprovalRelationship(e,t[0],t[1],t[2],t[3])},1608871552:function(e,t){return new t_.IfcResourceConstraintRelationship(e,t[0],t[1],t[2],t[3])},1042787934:function(e,t){return new t_.IfcResourceTime(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2778083089:function(e,t){return new t_.IfcRoundedRectangleProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},2042790032:function(e,t){return new t_.IfcSectionProperties(e,t[0],t[1],t[2])},4165799628:function(e,t){return new t_.IfcSectionReinforcementProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},1509187699:function(e,t){return new t_.IfcSectionedSpine(e,t[0],t[1],t[2])},823603102:function(e,t){return new t_.IfcSegment(e,t[0])},4124623270:function(e,t){return new t_.IfcShellBasedSurfaceModel(e,t[0])},3692461612:function(e,t){return new t_.IfcSimpleProperty(e,t[0],t[1])},2609359061:function(e,t){return new t_.IfcSlippageConnectionCondition(e,t[0],t[1],t[2],t[3])},723233188:function(e,t){return new t_.IfcSolidModel(e)},1595516126:function(e,t){return new t_.IfcStructuralLoadLinearForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2668620305:function(e,t){return new t_.IfcStructuralLoadPlanarForce(e,t[0],t[1],t[2],t[3])},2473145415:function(e,t){return new t_.IfcStructuralLoadSingleDisplacement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1973038258:function(e,t){return new t_.IfcStructuralLoadSingleDisplacementDistortion(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1597423693:function(e,t){return new t_.IfcStructuralLoadSingleForce(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1190533807:function(e,t){return new t_.IfcStructuralLoadSingleForceWarping(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2233826070:function(e,t){return new t_.IfcSubedge(e,t[0],t[1],t[2])},2513912981:function(e,t){return new t_.IfcSurface(e)},1878645084:function(e,t){return new t_.IfcSurfaceStyleRendering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2247615214:function(e,t){return new t_.IfcSweptAreaSolid(e,t[0],t[1])},1260650574:function(e,t){return new t_.IfcSweptDiskSolid(e,t[0],t[1],t[2],t[3],t[4])},1096409881:function(e,t){return new t_.IfcSweptDiskSolidPolygonal(e,t[0],t[1],t[2],t[3],t[4],t[5])},230924584:function(e,t){return new t_.IfcSweptSurface(e,t[0],t[1])},3071757647:function(e,t){return new t_.IfcTShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},901063453:function(e,t){return new t_.IfcTessellatedItem(e)},4282788508:function(e,t){return new t_.IfcTextLiteral(e,t[0],t[1],t[2])},3124975700:function(e,t){return new t_.IfcTextLiteralWithExtent(e,t[0],t[1],t[2],t[3],t[4])},1983826977:function(e,t){return new t_.IfcTextStyleFontModel(e,t[0],t[1],t[2],t[3],t[4],t[5])},2715220739:function(e,t){return new t_.IfcTrapeziumProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1628702193:function(e,t){return new t_.IfcTypeObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},3736923433:function(e,t){return new t_.IfcTypeProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2347495698:function(e,t){return new t_.IfcTypeProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3698973494:function(e,t){return new t_.IfcTypeResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},427810014:function(e,t){return new t_.IfcUShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1417489154:function(e,t){return new t_.IfcVector(e,t[0],t[1])},2759199220:function(e,t){return new t_.IfcVertexLoop(e,t[0])},2543172580:function(e,t){return new t_.IfcZShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3406155212:function(e,t){return new t_.IfcAdvancedFace(e,t[0],t[1],t[2])},669184980:function(e,t){return new t_.IfcAnnotationFillArea(e,t[0],t[1])},3207858831:function(e,t){return new t_.IfcAsymmetricIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14])},4261334040:function(e,t){return new t_.IfcAxis1Placement(e,t[0],t[1])},3125803723:function(e,t){return new t_.IfcAxis2Placement2D(e,t[0],t[1])},2740243338:function(e,t){return new t_.IfcAxis2Placement3D(e,t[0],t[1],t[2])},3425423356:function(e,t){return new t_.IfcAxis2PlacementLinear(e,t[0],t[1],t[2])},2736907675:function(e,t){return new t_.IfcBooleanResult(e,t[0],t[1],t[2])},4182860854:function(e,t){return new t_.IfcBoundedSurface(e)},2581212453:function(e,t){return new t_.IfcBoundingBox(e,t[0],t[1],t[2],t[3])},2713105998:function(e,t){return new t_.IfcBoxedHalfSpace(e,t[0],t[1],t[2])},2898889636:function(e,t){return new t_.IfcCShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1123145078:function(e,t){return new t_.IfcCartesianPoint(e,t[0])},574549367:function(e,t){return new t_.IfcCartesianPointList(e)},1675464909:function(e,t){return new t_.IfcCartesianPointList2D(e,t[0],t[1])},2059837836:function(e,t){return new t_.IfcCartesianPointList3D(e,t[0],t[1])},59481748:function(e,t){return new t_.IfcCartesianTransformationOperator(e,t[0],t[1],t[2],t[3])},3749851601:function(e,t){return new t_.IfcCartesianTransformationOperator2D(e,t[0],t[1],t[2],t[3])},3486308946:function(e,t){return new t_.IfcCartesianTransformationOperator2DnonUniform(e,t[0],t[1],t[2],t[3],t[4])},3331915920:function(e,t){return new t_.IfcCartesianTransformationOperator3D(e,t[0],t[1],t[2],t[3],t[4])},1416205885:function(e,t){return new t_.IfcCartesianTransformationOperator3DnonUniform(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1383045692:function(e,t){return new t_.IfcCircleProfileDef(e,t[0],t[1],t[2],t[3])},2205249479:function(e,t){return new t_.IfcClosedShell(e,t[0])},776857604:function(e,t){return new t_.IfcColourRgb(e,t[0],t[1],t[2],t[3])},2542286263:function(e,t){return new t_.IfcComplexProperty(e,t[0],t[1],t[2],t[3])},2485617015:function(e,t){return new t_.IfcCompositeCurveSegment(e,t[0],t[1],t[2])},2574617495:function(e,t){return new t_.IfcConstructionResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3419103109:function(e,t){return new t_.IfcContext(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1815067380:function(e,t){return new t_.IfcCrewResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2506170314:function(e,t){return new t_.IfcCsgPrimitive3D(e,t[0])},2147822146:function(e,t){return new t_.IfcCsgSolid(e,t[0])},2601014836:function(e,t){return new t_.IfcCurve(e)},2827736869:function(e,t){return new t_.IfcCurveBoundedPlane(e,t[0],t[1],t[2])},2629017746:function(e,t){return new t_.IfcCurveBoundedSurface(e,t[0],t[1],t[2])},4212018352:function(e,t){return new t_.IfcCurveSegment(e,t[0],t[1],t[2],t[3],t[4])},32440307:function(e,t){return new t_.IfcDirection(e,t[0])},593015953:function(e,t){return new t_.IfcDirectrixCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4])},1472233963:function(e,t){return new t_.IfcEdgeLoop(e,t[0])},1883228015:function(e,t){return new t_.IfcElementQuantity(e,t[0],t[1],t[2],t[3],t[4],t[5])},339256511:function(e,t){return new t_.IfcElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2777663545:function(e,t){return new t_.IfcElementarySurface(e,t[0])},2835456948:function(e,t){return new t_.IfcEllipseProfileDef(e,t[0],t[1],t[2],t[3],t[4])},4024345920:function(e,t){return new t_.IfcEventType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},477187591:function(e,t){return new t_.IfcExtrudedAreaSolid(e,t[0],t[1],t[2],t[3])},2804161546:function(e,t){return new t_.IfcExtrudedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},2047409740:function(e,t){return new t_.IfcFaceBasedSurfaceModel(e,t[0])},374418227:function(e,t){return new t_.IfcFillAreaStyleHatching(e,t[0],t[1],t[2],t[3],t[4])},315944413:function(e,t){return new t_.IfcFillAreaStyleTiles(e,t[0],t[1],t[2])},2652556860:function(e,t){return new t_.IfcFixedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},4238390223:function(e,t){return new t_.IfcFurnishingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1268542332:function(e,t){return new t_.IfcFurnitureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4095422895:function(e,t){return new t_.IfcGeographicElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},987898635:function(e,t){return new t_.IfcGeometricCurveSet(e,t[0])},1484403080:function(e,t){return new t_.IfcIShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},178912537:function(e,t){return new t_.IfcIndexedPolygonalFace(e,t[0])},2294589976:function(e,t){return new t_.IfcIndexedPolygonalFaceWithVoids(e,t[0],t[1])},3465909080:function(e,t){return new t_.IfcIndexedPolygonalTextureMap(e,t[0],t[1],t[2],t[3])},572779678:function(e,t){return new t_.IfcLShapeProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},428585644:function(e,t){return new t_.IfcLaborResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1281925730:function(e,t){return new t_.IfcLine(e,t[0],t[1])},1425443689:function(e,t){return new t_.IfcManifoldSolidBrep(e,t[0])},3888040117:function(e,t){return new t_.IfcObject(e,t[0],t[1],t[2],t[3],t[4])},590820931:function(e,t){return new t_.IfcOffsetCurve(e,t[0])},3388369263:function(e,t){return new t_.IfcOffsetCurve2D(e,t[0],t[1],t[2])},3505215534:function(e,t){return new t_.IfcOffsetCurve3D(e,t[0],t[1],t[2],t[3])},2485787929:function(e,t){return new t_.IfcOffsetCurveByDistances(e,t[0],t[1],t[2])},1682466193:function(e,t){return new t_.IfcPcurve(e,t[0],t[1])},603570806:function(e,t){return new t_.IfcPlanarBox(e,t[0],t[1],t[2])},220341763:function(e,t){return new t_.IfcPlane(e,t[0])},3381221214:function(e,t){return new t_.IfcPolynomialCurve(e,t[0],t[1],t[2],t[3])},759155922:function(e,t){return new t_.IfcPreDefinedColour(e,t[0])},2559016684:function(e,t){return new t_.IfcPreDefinedCurveFont(e,t[0])},3967405729:function(e,t){return new t_.IfcPreDefinedPropertySet(e,t[0],t[1],t[2],t[3])},569719735:function(e,t){return new t_.IfcProcedureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2945172077:function(e,t){return new t_.IfcProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},4208778838:function(e,t){return new t_.IfcProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},103090709:function(e,t){return new t_.IfcProject(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},653396225:function(e,t){return new t_.IfcProjectLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},871118103:function(e,t){return new t_.IfcPropertyBoundedValue(e,t[0],t[1],t[2],t[3],t[4],t[5])},4166981789:function(e,t){return new t_.IfcPropertyEnumeratedValue(e,t[0],t[1],t[2],t[3])},2752243245:function(e,t){return new t_.IfcPropertyListValue(e,t[0],t[1],t[2],t[3])},941946838:function(e,t){return new t_.IfcPropertyReferenceValue(e,t[0],t[1],t[2],t[3])},1451395588:function(e,t){return new t_.IfcPropertySet(e,t[0],t[1],t[2],t[3],t[4])},492091185:function(e,t){return new t_.IfcPropertySetTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3650150729:function(e,t){return new t_.IfcPropertySingleValue(e,t[0],t[1],t[2],t[3])},110355661:function(e,t){return new t_.IfcPropertyTableValue(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3521284610:function(e,t){return new t_.IfcPropertyTemplate(e,t[0],t[1],t[2],t[3])},2770003689:function(e,t){return new t_.IfcRectangleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2798486643:function(e,t){return new t_.IfcRectangularPyramid(e,t[0],t[1],t[2],t[3])},3454111270:function(e,t){return new t_.IfcRectangularTrimmedSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3765753017:function(e,t){return new t_.IfcReinforcementDefinitionProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},3939117080:function(e,t){return new t_.IfcRelAssigns(e,t[0],t[1],t[2],t[3],t[4],t[5])},1683148259:function(e,t){return new t_.IfcRelAssignsToActor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2495723537:function(e,t){return new t_.IfcRelAssignsToControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1307041759:function(e,t){return new t_.IfcRelAssignsToGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1027710054:function(e,t){return new t_.IfcRelAssignsToGroupByFactor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278684876:function(e,t){return new t_.IfcRelAssignsToProcess(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2857406711:function(e,t){return new t_.IfcRelAssignsToProduct(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},205026976:function(e,t){return new t_.IfcRelAssignsToResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1865459582:function(e,t){return new t_.IfcRelAssociates(e,t[0],t[1],t[2],t[3],t[4])},4095574036:function(e,t){return new t_.IfcRelAssociatesApproval(e,t[0],t[1],t[2],t[3],t[4],t[5])},919958153:function(e,t){return new t_.IfcRelAssociatesClassification(e,t[0],t[1],t[2],t[3],t[4],t[5])},2728634034:function(e,t){return new t_.IfcRelAssociatesConstraint(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},982818633:function(e,t){return new t_.IfcRelAssociatesDocument(e,t[0],t[1],t[2],t[3],t[4],t[5])},3840914261:function(e,t){return new t_.IfcRelAssociatesLibrary(e,t[0],t[1],t[2],t[3],t[4],t[5])},2655215786:function(e,t){return new t_.IfcRelAssociatesMaterial(e,t[0],t[1],t[2],t[3],t[4],t[5])},1033248425:function(e,t){return new t_.IfcRelAssociatesProfileDef(e,t[0],t[1],t[2],t[3],t[4],t[5])},826625072:function(e,t){return new t_.IfcRelConnects(e,t[0],t[1],t[2],t[3])},1204542856:function(e,t){return new t_.IfcRelConnectsElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3945020480:function(e,t){return new t_.IfcRelConnectsPathElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4201705270:function(e,t){return new t_.IfcRelConnectsPortToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},3190031847:function(e,t){return new t_.IfcRelConnectsPorts(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2127690289:function(e,t){return new t_.IfcRelConnectsStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5])},1638771189:function(e,t){return new t_.IfcRelConnectsStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},504942748:function(e,t){return new t_.IfcRelConnectsWithEccentricity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3678494232:function(e,t){return new t_.IfcRelConnectsWithRealizingElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3242617779:function(e,t){return new t_.IfcRelContainedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},886880790:function(e,t){return new t_.IfcRelCoversBldgElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},2802773753:function(e,t){return new t_.IfcRelCoversSpaces(e,t[0],t[1],t[2],t[3],t[4],t[5])},2565941209:function(e,t){return new t_.IfcRelDeclares(e,t[0],t[1],t[2],t[3],t[4],t[5])},2551354335:function(e,t){return new t_.IfcRelDecomposes(e,t[0],t[1],t[2],t[3])},693640335:function(e,t){return new t_.IfcRelDefines(e,t[0],t[1],t[2],t[3])},1462361463:function(e,t){return new t_.IfcRelDefinesByObject(e,t[0],t[1],t[2],t[3],t[4],t[5])},4186316022:function(e,t){return new t_.IfcRelDefinesByProperties(e,t[0],t[1],t[2],t[3],t[4],t[5])},307848117:function(e,t){return new t_.IfcRelDefinesByTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5])},781010003:function(e,t){return new t_.IfcRelDefinesByType(e,t[0],t[1],t[2],t[3],t[4],t[5])},3940055652:function(e,t){return new t_.IfcRelFillsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},279856033:function(e,t){return new t_.IfcRelFlowControlElements(e,t[0],t[1],t[2],t[3],t[4],t[5])},427948657:function(e,t){return new t_.IfcRelInterferesElements(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3268803585:function(e,t){return new t_.IfcRelNests(e,t[0],t[1],t[2],t[3],t[4],t[5])},1441486842:function(e,t){return new t_.IfcRelPositions(e,t[0],t[1],t[2],t[3],t[4],t[5])},750771296:function(e,t){return new t_.IfcRelProjectsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},1245217292:function(e,t){return new t_.IfcRelReferencedInSpatialStructure(e,t[0],t[1],t[2],t[3],t[4],t[5])},4122056220:function(e,t){return new t_.IfcRelSequence(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},366585022:function(e,t){return new t_.IfcRelServicesBuildings(e,t[0],t[1],t[2],t[3],t[4],t[5])},3451746338:function(e,t){return new t_.IfcRelSpaceBoundary(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3523091289:function(e,t){return new t_.IfcRelSpaceBoundary1stLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1521410863:function(e,t){return new t_.IfcRelSpaceBoundary2ndLevel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1401173127:function(e,t){return new t_.IfcRelVoidsElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},816062949:function(e,t){return new t_.IfcReparametrisedCompositeCurveSegment(e,t[0],t[1],t[2],t[3])},2914609552:function(e,t){return new t_.IfcResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1856042241:function(e,t){return new t_.IfcRevolvedAreaSolid(e,t[0],t[1],t[2],t[3])},3243963512:function(e,t){return new t_.IfcRevolvedAreaSolidTapered(e,t[0],t[1],t[2],t[3],t[4])},4158566097:function(e,t){return new t_.IfcRightCircularCone(e,t[0],t[1],t[2])},3626867408:function(e,t){return new t_.IfcRightCircularCylinder(e,t[0],t[1],t[2])},1862484736:function(e,t){return new t_.IfcSectionedSolid(e,t[0],t[1])},1290935644:function(e,t){return new t_.IfcSectionedSolidHorizontal(e,t[0],t[1],t[2])},1356537516:function(e,t){return new t_.IfcSectionedSurface(e,t[0],t[1],t[2])},3663146110:function(e,t){return new t_.IfcSimplePropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1412071761:function(e,t){return new t_.IfcSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},710998568:function(e,t){return new t_.IfcSpatialElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2706606064:function(e,t){return new t_.IfcSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3893378262:function(e,t){return new t_.IfcSpatialStructureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},463610769:function(e,t){return new t_.IfcSpatialZone(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2481509218:function(e,t){return new t_.IfcSpatialZoneType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},451544542:function(e,t){return new t_.IfcSphere(e,t[0],t[1])},4015995234:function(e,t){return new t_.IfcSphericalSurface(e,t[0],t[1])},2735484536:function(e,t){return new t_.IfcSpiral(e,t[0])},3544373492:function(e,t){return new t_.IfcStructuralActivity(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3136571912:function(e,t){return new t_.IfcStructuralItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},530289379:function(e,t){return new t_.IfcStructuralMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3689010777:function(e,t){return new t_.IfcStructuralReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3979015343:function(e,t){return new t_.IfcStructuralSurfaceMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2218152070:function(e,t){return new t_.IfcStructuralSurfaceMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},603775116:function(e,t){return new t_.IfcStructuralSurfaceReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4095615324:function(e,t){return new t_.IfcSubContractResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},699246055:function(e,t){return new t_.IfcSurfaceCurve(e,t[0],t[1],t[2])},2028607225:function(e,t){return new t_.IfcSurfaceCurveSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},2809605785:function(e,t){return new t_.IfcSurfaceOfLinearExtrusion(e,t[0],t[1],t[2],t[3])},4124788165:function(e,t){return new t_.IfcSurfaceOfRevolution(e,t[0],t[1],t[2])},1580310250:function(e,t){return new t_.IfcSystemFurnitureElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3473067441:function(e,t){return new t_.IfcTask(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},3206491090:function(e,t){return new t_.IfcTaskType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2387106220:function(e,t){return new t_.IfcTessellatedFaceSet(e,t[0],t[1])},782932809:function(e,t){return new t_.IfcThirdOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4])},1935646853:function(e,t){return new t_.IfcToroidalSurface(e,t[0],t[1],t[2])},3665877780:function(e,t){return new t_.IfcTransportationDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2916149573:function(e,t){return new t_.IfcTriangulatedFaceSet(e,t[0],t[1],t[2],t[3],t[4])},1229763772:function(e,t){return new t_.IfcTriangulatedIrregularNetwork(e,t[0],t[1],t[2],t[3],t[4],t[5])},3651464721:function(e,t){return new t_.IfcVehicleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},336235671:function(e,t){return new t_.IfcWindowLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},512836454:function(e,t){return new t_.IfcWindowPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2296667514:function(e,t){return new t_.IfcActor(e,t[0],t[1],t[2],t[3],t[4],t[5])},1635779807:function(e,t){return new t_.IfcAdvancedBrep(e,t[0])},2603310189:function(e,t){return new t_.IfcAdvancedBrepWithVoids(e,t[0],t[1])},1674181508:function(e,t){return new t_.IfcAnnotation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2887950389:function(e,t){return new t_.IfcBSplineSurface(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},167062518:function(e,t){return new t_.IfcBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1334484129:function(e,t){return new t_.IfcBlock(e,t[0],t[1],t[2],t[3])},3649129432:function(e,t){return new t_.IfcBooleanClippingResult(e,t[0],t[1],t[2])},1260505505:function(e,t){return new t_.IfcBoundedCurve(e)},3124254112:function(e,t){return new t_.IfcBuildingStorey(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1626504194:function(e,t){return new t_.IfcBuiltElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2197970202:function(e,t){return new t_.IfcChimneyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2937912522:function(e,t){return new t_.IfcCircleHollowProfileDef(e,t[0],t[1],t[2],t[3],t[4])},3893394355:function(e,t){return new t_.IfcCivilElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3497074424:function(e,t){return new t_.IfcClothoid(e,t[0],t[1])},300633059:function(e,t){return new t_.IfcColumnType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3875453745:function(e,t){return new t_.IfcComplexPropertyTemplate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3732776249:function(e,t){return new t_.IfcCompositeCurve(e,t[0],t[1])},15328376:function(e,t){return new t_.IfcCompositeCurveOnSurface(e,t[0],t[1])},2510884976:function(e,t){return new t_.IfcConic(e,t[0])},2185764099:function(e,t){return new t_.IfcConstructionEquipmentResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4105962743:function(e,t){return new t_.IfcConstructionMaterialResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1525564444:function(e,t){return new t_.IfcConstructionProductResourceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2559216714:function(e,t){return new t_.IfcConstructionResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293443760:function(e,t){return new t_.IfcControl(e,t[0],t[1],t[2],t[3],t[4],t[5])},2000195564:function(e,t){return new t_.IfcCosineSpiral(e,t[0],t[1],t[2])},3895139033:function(e,t){return new t_.IfcCostItem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1419761937:function(e,t){return new t_.IfcCostSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4189326743:function(e,t){return new t_.IfcCourseType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1916426348:function(e,t){return new t_.IfcCoveringType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3295246426:function(e,t){return new t_.IfcCrewResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1457835157:function(e,t){return new t_.IfcCurtainWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1213902940:function(e,t){return new t_.IfcCylindricalSurface(e,t[0],t[1])},1306400036:function(e,t){return new t_.IfcDeepFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4234616927:function(e,t){return new t_.IfcDirectrixDerivedReferenceSweptAreaSolid(e,t[0],t[1],t[2],t[3],t[4],t[5])},3256556792:function(e,t){return new t_.IfcDistributionElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3849074793:function(e,t){return new t_.IfcDistributionFlowElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2963535650:function(e,t){return new t_.IfcDoorLiningProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},1714330368:function(e,t){return new t_.IfcDoorPanelProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2323601079:function(e,t){return new t_.IfcDoorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},445594917:function(e,t){return new t_.IfcDraughtingPreDefinedColour(e,t[0])},4006246654:function(e,t){return new t_.IfcDraughtingPreDefinedCurveFont(e,t[0])},1758889154:function(e,t){return new t_.IfcElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4123344466:function(e,t){return new t_.IfcElementAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2397081782:function(e,t){return new t_.IfcElementAssemblyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1623761950:function(e,t){return new t_.IfcElementComponent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2590856083:function(e,t){return new t_.IfcElementComponentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1704287377:function(e,t){return new t_.IfcEllipse(e,t[0],t[1],t[2])},2107101300:function(e,t){return new t_.IfcEnergyConversionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},132023988:function(e,t){return new t_.IfcEngineType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3174744832:function(e,t){return new t_.IfcEvaporativeCoolerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3390157468:function(e,t){return new t_.IfcEvaporatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4148101412:function(e,t){return new t_.IfcEvent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2853485674:function(e,t){return new t_.IfcExternalSpatialStructureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},807026263:function(e,t){return new t_.IfcFacetedBrep(e,t[0])},3737207727:function(e,t){return new t_.IfcFacetedBrepWithVoids(e,t[0],t[1])},24185140:function(e,t){return new t_.IfcFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1310830890:function(e,t){return new t_.IfcFacilityPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4228831410:function(e,t){return new t_.IfcFacilityPartCommon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},647756555:function(e,t){return new t_.IfcFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2489546625:function(e,t){return new t_.IfcFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2827207264:function(e,t){return new t_.IfcFeatureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2143335405:function(e,t){return new t_.IfcFeatureElementAddition(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1287392070:function(e,t){return new t_.IfcFeatureElementSubtraction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3907093117:function(e,t){return new t_.IfcFlowControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3198132628:function(e,t){return new t_.IfcFlowFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3815607619:function(e,t){return new t_.IfcFlowMeterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1482959167:function(e,t){return new t_.IfcFlowMovingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1834744321:function(e,t){return new t_.IfcFlowSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1339347760:function(e,t){return new t_.IfcFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2297155007:function(e,t){return new t_.IfcFlowTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3009222698:function(e,t){return new t_.IfcFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1893162501:function(e,t){return new t_.IfcFootingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},263784265:function(e,t){return new t_.IfcFurnishingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1509553395:function(e,t){return new t_.IfcFurniture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3493046030:function(e,t){return new t_.IfcGeographicElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4230923436:function(e,t){return new t_.IfcGeotechnicalElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1594536857:function(e,t){return new t_.IfcGeotechnicalStratum(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2898700619:function(e,t){return new t_.IfcGradientCurve(e,t[0],t[1],t[2],t[3])},2706460486:function(e,t){return new t_.IfcGroup(e,t[0],t[1],t[2],t[3],t[4])},1251058090:function(e,t){return new t_.IfcHeatExchangerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1806887404:function(e,t){return new t_.IfcHumidifierType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2568555532:function(e,t){return new t_.IfcImpactProtectionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3948183225:function(e,t){return new t_.IfcImpactProtectionDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2571569899:function(e,t){return new t_.IfcIndexedPolyCurve(e,t[0],t[1],t[2])},3946677679:function(e,t){return new t_.IfcInterceptorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3113134337:function(e,t){return new t_.IfcIntersectionCurve(e,t[0],t[1],t[2])},2391368822:function(e,t){return new t_.IfcInventory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4288270099:function(e,t){return new t_.IfcJunctionBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},679976338:function(e,t){return new t_.IfcKerbType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3827777499:function(e,t){return new t_.IfcLaborResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1051575348:function(e,t){return new t_.IfcLampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1161773419:function(e,t){return new t_.IfcLightFixtureType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2176059722:function(e,t){return new t_.IfcLinearElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1770583370:function(e,t){return new t_.IfcLiquidTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},525669439:function(e,t){return new t_.IfcMarineFacility(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},976884017:function(e,t){return new t_.IfcMarinePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},377706215:function(e,t){return new t_.IfcMechanicalFastener(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2108223431:function(e,t){return new t_.IfcMechanicalFastenerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1114901282:function(e,t){return new t_.IfcMedicalDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3181161470:function(e,t){return new t_.IfcMemberType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1950438474:function(e,t){return new t_.IfcMobileTelecommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},710110818:function(e,t){return new t_.IfcMooringDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},977012517:function(e,t){return new t_.IfcMotorConnectionType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},506776471:function(e,t){return new t_.IfcNavigationElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4143007308:function(e,t){return new t_.IfcOccupant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3588315303:function(e,t){return new t_.IfcOpeningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2837617999:function(e,t){return new t_.IfcOutletType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},514975943:function(e,t){return new t_.IfcPavementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2382730787:function(e,t){return new t_.IfcPerformanceHistory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3566463478:function(e,t){return new t_.IfcPermeableCoveringProperties(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3327091369:function(e,t){return new t_.IfcPermit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1158309216:function(e,t){return new t_.IfcPileType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},804291784:function(e,t){return new t_.IfcPipeFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4231323485:function(e,t){return new t_.IfcPipeSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4017108033:function(e,t){return new t_.IfcPlateType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2839578677:function(e,t){return new t_.IfcPolygonalFaceSet(e,t[0],t[1],t[2],t[3])},3724593414:function(e,t){return new t_.IfcPolyline(e,t[0])},3740093272:function(e,t){return new t_.IfcPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1946335990:function(e,t){return new t_.IfcPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2744685151:function(e,t){return new t_.IfcProcedure(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2904328755:function(e,t){return new t_.IfcProjectOrder(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3651124850:function(e,t){return new t_.IfcProjectionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1842657554:function(e,t){return new t_.IfcProtectiveDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2250791053:function(e,t){return new t_.IfcPumpType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1763565496:function(e,t){return new t_.IfcRailType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2893384427:function(e,t){return new t_.IfcRailingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3992365140:function(e,t){return new t_.IfcRailway(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1891881377:function(e,t){return new t_.IfcRailwayPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2324767716:function(e,t){return new t_.IfcRampFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1469900589:function(e,t){return new t_.IfcRampType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},683857671:function(e,t){return new t_.IfcRationalBSplineSurfaceWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4021432810:function(e,t){return new t_.IfcReferent(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3027567501:function(e,t){return new t_.IfcReinforcingElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},964333572:function(e,t){return new t_.IfcReinforcingElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2320036040:function(e,t){return new t_.IfcReinforcingMesh(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17])},2310774935:function(e,t){return new t_.IfcReinforcingMeshType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16],t[17],t[18],t[19])},3818125796:function(e,t){return new t_.IfcRelAdheresToElement(e,t[0],t[1],t[2],t[3],t[4],t[5])},160246688:function(e,t){return new t_.IfcRelAggregates(e,t[0],t[1],t[2],t[3],t[4],t[5])},146592293:function(e,t){return new t_.IfcRoad(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},550521510:function(e,t){return new t_.IfcRoadPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2781568857:function(e,t){return new t_.IfcRoofType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1768891740:function(e,t){return new t_.IfcSanitaryTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2157484638:function(e,t){return new t_.IfcSeamCurve(e,t[0],t[1],t[2])},3649235739:function(e,t){return new t_.IfcSecondOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3])},544395925:function(e,t){return new t_.IfcSegmentedReferenceCurve(e,t[0],t[1],t[2],t[3])},1027922057:function(e,t){return new t_.IfcSeventhOrderPolynomialSpiral(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074543187:function(e,t){return new t_.IfcShadingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},33720170:function(e,t){return new t_.IfcSign(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3599934289:function(e,t){return new t_.IfcSignType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1894708472:function(e,t){return new t_.IfcSignalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},42703149:function(e,t){return new t_.IfcSineSpiral(e,t[0],t[1],t[2],t[3])},4097777520:function(e,t){return new t_.IfcSite(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2533589738:function(e,t){return new t_.IfcSlabType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1072016465:function(e,t){return new t_.IfcSolarDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3856911033:function(e,t){return new t_.IfcSpace(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1305183839:function(e,t){return new t_.IfcSpaceHeaterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3812236995:function(e,t){return new t_.IfcSpaceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3112655638:function(e,t){return new t_.IfcStackTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1039846685:function(e,t){return new t_.IfcStairFlightType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},338393293:function(e,t){return new t_.IfcStairType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},682877961:function(e,t){return new t_.IfcStructuralAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1179482911:function(e,t){return new t_.IfcStructuralConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1004757350:function(e,t){return new t_.IfcStructuralCurveAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},4243806635:function(e,t){return new t_.IfcStructuralCurveConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},214636428:function(e,t){return new t_.IfcStructuralCurveMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2445595289:function(e,t){return new t_.IfcStructuralCurveMemberVarying(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2757150158:function(e,t){return new t_.IfcStructuralCurveReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1807405624:function(e,t){return new t_.IfcStructuralLinearAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1252848954:function(e,t){return new t_.IfcStructuralLoadGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2082059205:function(e,t){return new t_.IfcStructuralPointAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},734778138:function(e,t){return new t_.IfcStructuralPointConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1235345126:function(e,t){return new t_.IfcStructuralPointReaction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2986769608:function(e,t){return new t_.IfcStructuralResultGroup(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3657597509:function(e,t){return new t_.IfcStructuralSurfaceAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1975003073:function(e,t){return new t_.IfcStructuralSurfaceConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},148013059:function(e,t){return new t_.IfcSubContractResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3101698114:function(e,t){return new t_.IfcSurfaceFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2315554128:function(e,t){return new t_.IfcSwitchingDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2254336722:function(e,t){return new t_.IfcSystem(e,t[0],t[1],t[2],t[3],t[4])},413509423:function(e,t){return new t_.IfcSystemFurnitureElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},5716631:function(e,t){return new t_.IfcTankType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3824725483:function(e,t){return new t_.IfcTendon(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15],t[16])},2347447852:function(e,t){return new t_.IfcTendonAnchor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3081323446:function(e,t){return new t_.IfcTendonAnchorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3663046924:function(e,t){return new t_.IfcTendonConduit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2281632017:function(e,t){return new t_.IfcTendonConduitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2415094496:function(e,t){return new t_.IfcTendonType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},618700268:function(e,t){return new t_.IfcTrackElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1692211062:function(e,t){return new t_.IfcTransformerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2097647324:function(e,t){return new t_.IfcTransportElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1953115116:function(e,t){return new t_.IfcTransportationDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3593883385:function(e,t){return new t_.IfcTrimmedCurve(e,t[0],t[1],t[2],t[3],t[4])},1600972822:function(e,t){return new t_.IfcTubeBundleType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1911125066:function(e,t){return new t_.IfcUnitaryEquipmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},728799441:function(e,t){return new t_.IfcValveType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},840318589:function(e,t){return new t_.IfcVehicle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1530820697:function(e,t){return new t_.IfcVibrationDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3956297820:function(e,t){return new t_.IfcVibrationDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2391383451:function(e,t){return new t_.IfcVibrationIsolator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3313531582:function(e,t){return new t_.IfcVibrationIsolatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2769231204:function(e,t){return new t_.IfcVirtualElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},926996030:function(e,t){return new t_.IfcVoidingFeature(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1898987631:function(e,t){return new t_.IfcWallType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1133259667:function(e,t){return new t_.IfcWasteTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4009809668:function(e,t){return new t_.IfcWindowType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4088093105:function(e,t){return new t_.IfcWorkCalendar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1028945134:function(e,t){return new t_.IfcWorkControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},4218914973:function(e,t){return new t_.IfcWorkPlan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},3342526732:function(e,t){return new t_.IfcWorkSchedule(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1033361043:function(e,t){return new t_.IfcZone(e,t[0],t[1],t[2],t[3],t[4],t[5])},3821786052:function(e,t){return new t_.IfcActionRequest(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1411407467:function(e,t){return new t_.IfcAirTerminalBoxType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3352864051:function(e,t){return new t_.IfcAirTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1871374353:function(e,t){return new t_.IfcAirToAirHeatRecoveryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4266260250:function(e,t){return new t_.IfcAlignmentCant(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1545765605:function(e,t){return new t_.IfcAlignmentHorizontal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},317615605:function(e,t){return new t_.IfcAlignmentSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1662888072:function(e,t){return new t_.IfcAlignmentVertical(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},3460190687:function(e,t){return new t_.IfcAsset(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},1532957894:function(e,t){return new t_.IfcAudioVisualApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1967976161:function(e,t){return new t_.IfcBSplineCurve(e,t[0],t[1],t[2],t[3],t[4])},2461110595:function(e,t){return new t_.IfcBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},819618141:function(e,t){return new t_.IfcBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3649138523:function(e,t){return new t_.IfcBearingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},231477066:function(e,t){return new t_.IfcBoilerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1136057603:function(e,t){return new t_.IfcBoundaryCurve(e,t[0],t[1])},644574406:function(e,t){return new t_.IfcBridge(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},963979645:function(e,t){return new t_.IfcBridgePart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},4031249490:function(e,t){return new t_.IfcBuilding(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},2979338954:function(e,t){return new t_.IfcBuildingElementPart(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},39481116:function(e,t){return new t_.IfcBuildingElementPartType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1909888760:function(e,t){return new t_.IfcBuildingElementProxyType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1177604601:function(e,t){return new t_.IfcBuildingSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1876633798:function(e,t){return new t_.IfcBuiltElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3862327254:function(e,t){return new t_.IfcBuiltSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},2188180465:function(e,t){return new t_.IfcBurnerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},395041908:function(e,t){return new t_.IfcCableCarrierFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3293546465:function(e,t){return new t_.IfcCableCarrierSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2674252688:function(e,t){return new t_.IfcCableFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1285652485:function(e,t){return new t_.IfcCableSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3203706013:function(e,t){return new t_.IfcCaissonFoundationType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2951183804:function(e,t){return new t_.IfcChillerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3296154744:function(e,t){return new t_.IfcChimney(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2611217952:function(e,t){return new t_.IfcCircle(e,t[0],t[1])},1677625105:function(e,t){return new t_.IfcCivilElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2301859152:function(e,t){return new t_.IfcCoilType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},843113511:function(e,t){return new t_.IfcColumn(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},400855858:function(e,t){return new t_.IfcCommunicationsApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3850581409:function(e,t){return new t_.IfcCompressorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2816379211:function(e,t){return new t_.IfcCondenserType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3898045240:function(e,t){return new t_.IfcConstructionEquipmentResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1060000209:function(e,t){return new t_.IfcConstructionMaterialResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},488727124:function(e,t){return new t_.IfcConstructionProductResource(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},2940368186:function(e,t){return new t_.IfcConveyorSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},335055490:function(e,t){return new t_.IfcCooledBeamType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2954562838:function(e,t){return new t_.IfcCoolingTowerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1502416096:function(e,t){return new t_.IfcCourse(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1973544240:function(e,t){return new t_.IfcCovering(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3495092785:function(e,t){return new t_.IfcCurtainWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3961806047:function(e,t){return new t_.IfcDamperType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3426335179:function(e,t){return new t_.IfcDeepFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1335981549:function(e,t){return new t_.IfcDiscreteAccessory(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2635815018:function(e,t){return new t_.IfcDiscreteAccessoryType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},479945903:function(e,t){return new t_.IfcDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1599208980:function(e,t){return new t_.IfcDistributionChamberElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2063403501:function(e,t){return new t_.IfcDistributionControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1945004755:function(e,t){return new t_.IfcDistributionElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3040386961:function(e,t){return new t_.IfcDistributionFlowElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3041715199:function(e,t){return new t_.IfcDistributionPort(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3205830791:function(e,t){return new t_.IfcDistributionSystem(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},395920057:function(e,t){return new t_.IfcDoor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},869906466:function(e,t){return new t_.IfcDuctFittingType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3760055223:function(e,t){return new t_.IfcDuctSegmentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2030761528:function(e,t){return new t_.IfcDuctSilencerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3071239417:function(e,t){return new t_.IfcEarthworksCut(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1077100507:function(e,t){return new t_.IfcEarthworksElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3376911765:function(e,t){return new t_.IfcEarthworksFill(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},663422040:function(e,t){return new t_.IfcElectricApplianceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2417008758:function(e,t){return new t_.IfcElectricDistributionBoardType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3277789161:function(e,t){return new t_.IfcElectricFlowStorageDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2142170206:function(e,t){return new t_.IfcElectricFlowTreatmentDeviceType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1534661035:function(e,t){return new t_.IfcElectricGeneratorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1217240411:function(e,t){return new t_.IfcElectricMotorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},712377611:function(e,t){return new t_.IfcElectricTimeControlType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1658829314:function(e,t){return new t_.IfcEnergyConversionDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2814081492:function(e,t){return new t_.IfcEngine(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3747195512:function(e,t){return new t_.IfcEvaporativeCooler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},484807127:function(e,t){return new t_.IfcEvaporator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1209101575:function(e,t){return new t_.IfcExternalSpatialElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},346874300:function(e,t){return new t_.IfcFanType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1810631287:function(e,t){return new t_.IfcFilterType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4222183408:function(e,t){return new t_.IfcFireSuppressionTerminalType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2058353004:function(e,t){return new t_.IfcFlowController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4278956645:function(e,t){return new t_.IfcFlowFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},4037862832:function(e,t){return new t_.IfcFlowInstrumentType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},2188021234:function(e,t){return new t_.IfcFlowMeter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3132237377:function(e,t){return new t_.IfcFlowMovingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},987401354:function(e,t){return new t_.IfcFlowSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},707683696:function(e,t){return new t_.IfcFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2223149337:function(e,t){return new t_.IfcFlowTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3508470533:function(e,t){return new t_.IfcFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},900683007:function(e,t){return new t_.IfcFooting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2713699986:function(e,t){return new t_.IfcGeotechnicalAssembly(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},3009204131:function(e,t){return new t_.IfcGrid(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},3319311131:function(e,t){return new t_.IfcHeatExchanger(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2068733104:function(e,t){return new t_.IfcHumidifier(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4175244083:function(e,t){return new t_.IfcInterceptor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2176052936:function(e,t){return new t_.IfcJunctionBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2696325953:function(e,t){return new t_.IfcKerb(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},76236018:function(e,t){return new t_.IfcLamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},629592764:function(e,t){return new t_.IfcLightFixture(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1154579445:function(e,t){return new t_.IfcLinearPositioningElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1638804497:function(e,t){return new t_.IfcLiquidTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1437502449:function(e,t){return new t_.IfcMedicalDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1073191201:function(e,t){return new t_.IfcMember(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2078563270:function(e,t){return new t_.IfcMobileTelecommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},234836483:function(e,t){return new t_.IfcMooringDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2474470126:function(e,t){return new t_.IfcMotorConnection(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2182337498:function(e,t){return new t_.IfcNavigationElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},144952367:function(e,t){return new t_.IfcOuterBoundaryCurve(e,t[0],t[1])},3694346114:function(e,t){return new t_.IfcOutlet(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1383356374:function(e,t){return new t_.IfcPavement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1687234759:function(e,t){return new t_.IfcPile(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},310824031:function(e,t){return new t_.IfcPipeFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3612865200:function(e,t){return new t_.IfcPipeSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3171933400:function(e,t){return new t_.IfcPlate(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},738039164:function(e,t){return new t_.IfcProtectiveDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},655969474:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnitType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},90941305:function(e,t){return new t_.IfcPump(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3290496277:function(e,t){return new t_.IfcRail(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2262370178:function(e,t){return new t_.IfcRailing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3024970846:function(e,t){return new t_.IfcRamp(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3283111854:function(e,t){return new t_.IfcRampFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1232101972:function(e,t){return new t_.IfcRationalBSplineCurveWithKnots(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3798194928:function(e,t){return new t_.IfcReinforcedSoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},979691226:function(e,t){return new t_.IfcReinforcingBar(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13])},2572171363:function(e,t){return new t_.IfcReinforcingBarType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])},2016517767:function(e,t){return new t_.IfcRoof(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3053780830:function(e,t){return new t_.IfcSanitaryTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1783015770:function(e,t){return new t_.IfcSensorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1329646415:function(e,t){return new t_.IfcShadingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},991950508:function(e,t){return new t_.IfcSignal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1529196076:function(e,t){return new t_.IfcSlab(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3420628829:function(e,t){return new t_.IfcSolarDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1999602285:function(e,t){return new t_.IfcSpaceHeater(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1404847402:function(e,t){return new t_.IfcStackTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},331165859:function(e,t){return new t_.IfcStair(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4252922144:function(e,t){return new t_.IfcStairFlight(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2515109513:function(e,t){return new t_.IfcStructuralAnalysisModel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},385403989:function(e,t){return new t_.IfcStructuralLoadCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10])},1621171031:function(e,t){return new t_.IfcStructuralPlanarAction(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11])},1162798199:function(e,t){return new t_.IfcSwitchingDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},812556717:function(e,t){return new t_.IfcTank(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3425753595:function(e,t){return new t_.IfcTrackElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3825984169:function(e,t){return new t_.IfcTransformer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1620046519:function(e,t){return new t_.IfcTransportElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3026737570:function(e,t){return new t_.IfcTubeBundle(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3179687236:function(e,t){return new t_.IfcUnitaryControlElementType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},4292641817:function(e,t){return new t_.IfcUnitaryEquipment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4207607924:function(e,t){return new t_.IfcValve(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2391406946:function(e,t){return new t_.IfcWall(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3512223829:function(e,t){return new t_.IfcWallStandardCase(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4237592921:function(e,t){return new t_.IfcWasteTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3304561284:function(e,t){return new t_.IfcWindow(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12])},2874132201:function(e,t){return new t_.IfcActuatorType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},1634111441:function(e,t){return new t_.IfcAirTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},177149247:function(e,t){return new t_.IfcAirTerminalBox(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2056796094:function(e,t){return new t_.IfcAirToAirHeatRecovery(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3001207471:function(e,t){return new t_.IfcAlarmType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},325726236:function(e,t){return new t_.IfcAlignment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},277319702:function(e,t){return new t_.IfcAudioVisualAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},753842376:function(e,t){return new t_.IfcBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4196446775:function(e,t){return new t_.IfcBearing(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},32344328:function(e,t){return new t_.IfcBoiler(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3314249567:function(e,t){return new t_.IfcBorehole(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1095909175:function(e,t){return new t_.IfcBuildingElementProxy(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2938176219:function(e,t){return new t_.IfcBurner(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},635142910:function(e,t){return new t_.IfcCableCarrierFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3758799889:function(e,t){return new t_.IfcCableCarrierSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1051757585:function(e,t){return new t_.IfcCableFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4217484030:function(e,t){return new t_.IfcCableSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3999819293:function(e,t){return new t_.IfcCaissonFoundation(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3902619387:function(e,t){return new t_.IfcChiller(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},639361253:function(e,t){return new t_.IfcCoil(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3221913625:function(e,t){return new t_.IfcCommunicationsAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3571504051:function(e,t){return new t_.IfcCompressor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2272882330:function(e,t){return new t_.IfcCondenser(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},578613899:function(e,t){return new t_.IfcControllerType(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9])},3460952963:function(e,t){return new t_.IfcConveyorSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4136498852:function(e,t){return new t_.IfcCooledBeam(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3640358203:function(e,t){return new t_.IfcCoolingTower(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4074379575:function(e,t){return new t_.IfcDamper(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3693000487:function(e,t){return new t_.IfcDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1052013943:function(e,t){return new t_.IfcDistributionChamberElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},562808652:function(e,t){return new t_.IfcDistributionCircuit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6])},1062813311:function(e,t){return new t_.IfcDistributionControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},342316401:function(e,t){return new t_.IfcDuctFitting(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3518393246:function(e,t){return new t_.IfcDuctSegment(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1360408905:function(e,t){return new t_.IfcDuctSilencer(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1904799276:function(e,t){return new t_.IfcElectricAppliance(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},862014818:function(e,t){return new t_.IfcElectricDistributionBoard(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3310460725:function(e,t){return new t_.IfcElectricFlowStorageDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},24726584:function(e,t){return new t_.IfcElectricFlowTreatmentDevice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},264262732:function(e,t){return new t_.IfcElectricGenerator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},402227799:function(e,t){return new t_.IfcElectricMotor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1003880860:function(e,t){return new t_.IfcElectricTimeControl(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3415622556:function(e,t){return new t_.IfcFan(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},819412036:function(e,t){return new t_.IfcFilter(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},1426591983:function(e,t){return new t_.IfcFireSuppressionTerminal(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},182646315:function(e,t){return new t_.IfcFlowInstrument(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},2680139844:function(e,t){return new t_.IfcGeomodel(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},1971632696:function(e,t){return new t_.IfcGeoslice(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7])},2295281155:function(e,t){return new t_.IfcProtectiveDeviceTrippingUnit(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4086658281:function(e,t){return new t_.IfcSensor(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},630975310:function(e,t){return new t_.IfcUnitaryControlElement(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},4288193352:function(e,t){return new t_.IfcActuator(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},3087945054:function(e,t){return new t_.IfcAlarm(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])},25142252:function(e,t){return new t_.IfcController(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}},Q_[3]={3630933823:function(e){return[e.Role,e.UserDefinedRole,e.Description]},618182010:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose]},2879124712:function(e){return[e.StartTag,e.EndTag]},3633395639:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartHeight,e.StartGradient,e.EndGradient,e.RadiusOfCurvature,e.PredefinedType]},639542469:function(e){return[e.ApplicationDeveloper,e.Version,e.ApplicationFullName,e.ApplicationIdentifier]},411424972:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},130549933:function(e){return[e.Identifier,e.Name,e.Description,e.TimeOfApproval,e.Status,e.Level,e.Qualifier,e.RequestingApproval,e.GivingApproval]},4037036970:function(e){return[e.Name]},1560379544:function(e){return[e.Name,e.TranslationalStiffnessByLengthX?Y_(e.TranslationalStiffnessByLengthX):null,e.TranslationalStiffnessByLengthY?Y_(e.TranslationalStiffnessByLengthY):null,e.TranslationalStiffnessByLengthZ?Y_(e.TranslationalStiffnessByLengthZ):null,e.RotationalStiffnessByLengthX?Y_(e.RotationalStiffnessByLengthX):null,e.RotationalStiffnessByLengthY?Y_(e.RotationalStiffnessByLengthY):null,e.RotationalStiffnessByLengthZ?Y_(e.RotationalStiffnessByLengthZ):null]},3367102660:function(e){return[e.Name,e.TranslationalStiffnessByAreaX?Y_(e.TranslationalStiffnessByAreaX):null,e.TranslationalStiffnessByAreaY?Y_(e.TranslationalStiffnessByAreaY):null,e.TranslationalStiffnessByAreaZ?Y_(e.TranslationalStiffnessByAreaZ):null]},1387855156:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null]},2069777674:function(e){return[e.Name,e.TranslationalStiffnessX?Y_(e.TranslationalStiffnessX):null,e.TranslationalStiffnessY?Y_(e.TranslationalStiffnessY):null,e.TranslationalStiffnessZ?Y_(e.TranslationalStiffnessZ):null,e.RotationalStiffnessX?Y_(e.RotationalStiffnessX):null,e.RotationalStiffnessY?Y_(e.RotationalStiffnessY):null,e.RotationalStiffnessZ?Y_(e.RotationalStiffnessZ):null,e.WarpingStiffness?Y_(e.WarpingStiffness):null]},2859738748:function(e){return[]},2614616156:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement]},2732653382:function(e){return[e.SurfaceOnRelatingElement,e.SurfaceOnRelatedElement]},775493141:function(e){return[e.VolumeOnRelatingElement,e.VolumeOnRelatedElement]},1959218052:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade]},1785450214:function(e){return[e.SourceCRS,e.TargetCRS]},1466758467:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum]},602808272:function(e){return[e.Name,e.Description,e.AppliedValue,e.UnitBasis,e.ApplicableDate,e.FixedUntilDate,e.Category,e.Condition,e.ArithmeticOperator,e.Components]},1765591967:function(e){return[e.Elements,e.UnitType,e.UserDefinedType,e.Name]},1045800335:function(e){return[e.Unit,e.Exponent]},2949456006:function(e){return[e.LengthExponent,e.MassExponent,e.TimeExponent,e.ElectricCurrentExponent,e.ThermodynamicTemperatureExponent,e.AmountOfSubstanceExponent,e.LuminousIntensityExponent]},4294318154:function(e){return[]},3200245327:function(e){return[e.Location,e.Identification,e.Name]},2242383968:function(e){return[e.Location,e.Identification,e.Name]},1040185647:function(e){return[e.Location,e.Identification,e.Name]},3548104201:function(e){return[e.Location,e.Identification,e.Name]},852622518:function(e){var t;return[e.AxisTag,e.AxisCurve,null==(t=e.SameSense)?void 0:t.toString()]},3020489413:function(e){return[e.TimeStamp,e.ListValues.map((function(e){return Y_(e)}))]},2655187982:function(e){return[e.Name,e.Version,e.Publisher,e.VersionDate,e.Location,e.Description]},3452421091:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.Language,e.ReferencedLibrary]},4162380809:function(e){return[e.MainPlaneAngle,e.SecondaryPlaneAngle,e.LuminousIntensity]},1566485204:function(e){return[e.LightDistributionCurve,e.DistributionData]},3057273783:function(e){return[e.SourceCRS,e.TargetCRS,e.Eastings,e.Northings,e.OrthogonalHeight,e.XAxisAbscissa,e.XAxisOrdinate,e.Scale,e.ScaleY,e.ScaleZ]},1847130766:function(e){return[e.MaterialClassifications,e.ClassifiedMaterial]},760658860:function(e){return[]},248100487:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority]},3303938423:function(e){return[e.MaterialLayers,e.LayerSetName,e.Description]},1847252529:function(e){var t;return[e.Material,e.LayerThickness,null==(t=e.IsVentilated)?void 0:t.toString(),e.Name,e.Description,e.Category,e.Priority,e.OffsetDirection,e.OffsetValues]},2199411900:function(e){return[e.Materials]},2235152071:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category]},164193824:function(e){return[e.Name,e.Description,e.MaterialProfiles,e.CompositeProfile]},552965576:function(e){return[e.Name,e.Description,e.Material,e.Profile,e.Priority,e.Category,e.OffsetValues]},1507914824:function(e){return[]},2597039031:function(e){return[Y_(e.ValueComponent),e.UnitComponent]},3368373690:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.Benchmark,e.ValueSource,e.DataValue,e.ReferencePath]},2706619895:function(e){return[e.Currency]},1918398963:function(e){return[e.Dimensions,e.UnitType]},3701648758:function(e){return[e.PlacementRelTo]},2251480897:function(e){return[e.Name,e.Description,e.ConstraintGrade,e.ConstraintSource,e.CreatingActor,e.CreationTime,e.UserDefinedGrade,e.BenchmarkValues,e.LogicalAggregator,e.ObjectiveQualifier,e.UserDefinedQualifier]},4251960020:function(e){return[e.Identification,e.Name,e.Description,e.Roles,e.Addresses]},1207048766:function(e){return[e.OwningUser,e.OwningApplication,e.State,e.ChangeAction,e.LastModifiedDate,e.LastModifyingUser,e.LastModifyingApplication,e.CreationDate]},2077209135:function(e){return[e.Identification,e.FamilyName,e.GivenName,e.MiddleNames,e.PrefixTitles,e.SuffixTitles,e.Roles,e.Addresses]},101040310:function(e){return[e.ThePerson,e.TheOrganization,e.Roles]},2483315170:function(e){return[e.Name,e.Description]},2226359599:function(e){return[e.Name,e.Description,e.Unit]},3355820592:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.InternalLocation,e.AddressLines,e.PostalBox,e.Town,e.Region,e.PostalCode,e.Country]},677532197:function(e){return[]},2022622350:function(e){return[e.Name,e.Description,e.AssignedItems,e.Identifier]},1304840413:function(e){var t,n,r;return[e.Name,e.Description,e.AssignedItems,e.Identifier,null==(t=e.LayerOn)?void 0:t.toString(),null==(n=e.LayerFrozen)?void 0:n.toString(),null==(r=e.LayerBlocked)?void 0:r.toString(),e.LayerStyles]},3119450353:function(e){return[e.Name]},2095639259:function(e){return[e.Name,e.Description,e.Representations]},3958567839:function(e){return[e.ProfileType,e.ProfileName]},3843373140:function(e){return[e.Name,e.Description,e.GeodeticDatum,e.VerticalDatum,e.MapProjection,e.MapZone,e.MapUnit]},986844984:function(e){return[]},3710013099:function(e){return[e.Name,e.EnumerationValues.map((function(e){return Y_(e)})),e.Unit]},2044713172:function(e){return[e.Name,e.Description,e.Unit,e.AreaValue,e.Formula]},2093928680:function(e){return[e.Name,e.Description,e.Unit,e.CountValue,e.Formula]},931644368:function(e){return[e.Name,e.Description,e.Unit,e.LengthValue,e.Formula]},2691318326:function(e){return[e.Name,e.Description,e.Unit,e.NumberValue,e.Formula]},3252649465:function(e){return[e.Name,e.Description,e.Unit,e.TimeValue,e.Formula]},2405470396:function(e){return[e.Name,e.Description,e.Unit,e.VolumeValue,e.Formula]},825690147:function(e){return[e.Name,e.Description,e.Unit,e.WeightValue,e.Formula]},3915482550:function(e){return[e.RecurrenceType,e.DayComponent,e.WeekdayComponent,e.MonthComponent,e.Position,e.Interval,e.Occurrences,e.TimePeriods]},2433181523:function(e){return[e.TypeIdentifier,e.AttributeIdentifier,e.InstanceName,e.ListPositions,e.InnerReference]},1076942058:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3377609919:function(e){return[e.ContextIdentifier,e.ContextType]},3008791417:function(e){return[]},1660063152:function(e){return[e.MappingOrigin,e.MappedRepresentation]},2439245199:function(e){return[e.Name,e.Description]},2341007311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},448429030:function(e){return[e.Dimensions,e.UnitType,e.Prefix,e.Name]},1054537805:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin]},867548509:function(e){var t;return[e.ShapeRepresentations,e.Name,e.Description,null==(t=e.ProductDefinitional)?void 0:t.toString(),e.PartOfProductDefinitionShape]},3982875396:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},4240577450:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2273995522:function(e){return[e.Name]},2162789131:function(e){return[e.Name]},3478079324:function(e){return[e.Name,e.Values,e.Locations]},609421318:function(e){return[e.Name]},2525727697:function(e){return[e.Name]},3408363356:function(e){return[e.Name,e.DeltaTConstant,e.DeltaTY,e.DeltaTZ]},2830218821:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},3958052878:function(e){return[e.Item,e.Styles,e.Name]},3049322572:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},2934153892:function(e){return[e.Name,e.SurfaceReinforcement1,e.SurfaceReinforcement2,e.ShearReinforcement]},1300840506:function(e){return[e.Name,e.Side,e.Styles]},3303107099:function(e){return[e.DiffuseTransmissionColour,e.DiffuseReflectionColour,e.TransmissionColour,e.ReflectanceColour]},1607154358:function(e){return[e.RefractionIndex,e.DispersionFactor]},846575682:function(e){return[e.SurfaceColour,e.Transparency]},1351298697:function(e){return[e.Textures]},626085974:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter]},985171141:function(e){return[e.Name,e.Rows,e.Columns]},2043862942:function(e){return[e.Identifier,e.Name,e.Description,e.Unit,e.ReferencePath]},531007025:function(e){var t;return[e.RowCells?e.RowCells.map((function(e){return Y_(e)})):null,null==(t=e.IsHeading)?void 0:t.toString()]},1549132990:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion]},2771591690:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.DurationType,e.ScheduleDuration,e.ScheduleStart,e.ScheduleFinish,e.EarlyStart,e.EarlyFinish,e.LateStart,e.LateFinish,e.FreeFloat,e.TotalFloat,null==(t=e.IsCritical)?void 0:t.toString(),e.StatusTime,e.ActualDuration,e.ActualStart,e.ActualFinish,e.RemainingTime,e.Completion,e.Recurrence]},912023232:function(e){return[e.Purpose,e.Description,e.UserDefinedPurpose,e.TelephoneNumbers,e.FacsimileNumbers,e.PagerNumber,e.ElectronicMailAddresses,e.WWWHomePageURL,e.MessagingIDs]},1447204868:function(e){var t;return[e.Name,e.TextCharacterAppearance,e.TextStyle,e.TextFontStyle,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},2636378356:function(e){return[e.Colour,e.BackgroundColour]},1640371178:function(e){return[e.TextIndent?Y_(e.TextIndent):null,e.TextAlign,e.TextDecoration,e.LetterSpacing?Y_(e.LetterSpacing):null,e.WordSpacing?Y_(e.WordSpacing):null,e.TextTransform,e.LineHeight?Y_(e.LineHeight):null]},280115917:function(e){return[e.Maps]},1742049831:function(e){return[e.Maps,e.Mode,e.Parameter]},222769930:function(e){return[e.TexCoordIndex,e.TexCoordsOf]},1010789467:function(e){return[e.TexCoordIndex,e.TexCoordsOf,e.InnerTexCoordIndices]},2552916305:function(e){return[e.Maps,e.Vertices,e.MappedTo]},1210645708:function(e){return[e.Coordinates]},3611470254:function(e){return[e.TexCoordsList]},1199560280:function(e){return[e.StartTime,e.EndTime]},3101149627:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit]},581633288:function(e){return[e.ListValues.map((function(e){return Y_(e)}))]},1377556343:function(e){return[]},1735638870:function(e){return[e.ContextOfItems,e.RepresentationIdentifier,e.RepresentationType,e.Items]},180925521:function(e){return[e.Units]},2799835756:function(e){return[]},1907098498:function(e){return[e.VertexGeometry]},891718957:function(e){return[e.IntersectingAxes,e.OffsetDistances]},1236880293:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.RecurrencePattern,e.StartDate,e.FinishDate]},3752311538:function(e){return[e.StartTag,e.EndTag,e.StartDistAlong,e.HorizontalLength,e.StartCantLeft,e.EndCantLeft,e.StartCantRight,e.EndCantRight,e.PredefinedType]},536804194:function(e){return[e.StartTag,e.EndTag,e.StartPoint,e.StartDirection,e.StartRadiusOfCurvature,e.EndRadiusOfCurvature,e.SegmentLength,e.GravityCenterLineHeight,e.PredefinedType]},3869604511:function(e){return[e.Name,e.Description,e.RelatingApproval,e.RelatedApprovals]},3798115385:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve]},1310608509:function(e){return[e.ProfileType,e.ProfileName,e.Curve]},2705031697:function(e){return[e.ProfileType,e.ProfileName,e.OuterCurve,e.InnerCurves]},616511568:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.RasterFormat,e.RasterCode]},3150382593:function(e){return[e.ProfileType,e.ProfileName,e.Curve,e.Thickness]},747523909:function(e){return[e.Source,e.Edition,e.EditionDate,e.Name,e.Description,e.Specification,e.ReferenceTokens]},647927063:function(e){return[e.Location,e.Identification,e.Name,e.ReferencedSource,e.Description,e.Sort]},3285139300:function(e){return[e.ColourList]},3264961684:function(e){return[e.Name]},1485152156:function(e){return[e.ProfileType,e.ProfileName,e.Profiles,e.Label]},370225590:function(e){return[e.CfsFaces]},1981873012:function(e){return[e.CurveOnRelatingElement,e.CurveOnRelatedElement]},45288368:function(e){return[e.PointOnRelatingElement,e.PointOnRelatedElement,e.EccentricityInX,e.EccentricityInY,e.EccentricityInZ]},3050246964:function(e){return[e.Dimensions,e.UnitType,e.Name]},2889183280:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor]},2713554722:function(e){return[e.Dimensions,e.UnitType,e.Name,e.ConversionFactor,e.ConversionOffset]},539742890:function(e){return[e.Name,e.Description,e.RelatingMonetaryUnit,e.RelatedMonetaryUnit,e.ExchangeRate,e.RateDateTime,e.RateSource]},3800577675:function(e){var t;return[e.Name,e.CurveFont,e.CurveWidth?Y_(e.CurveWidth):null,e.CurveColour,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},1105321065:function(e){return[e.Name,e.PatternList]},2367409068:function(e){return[e.Name,e.CurveStyleFont,e.CurveFontScaling]},3510044353:function(e){return[e.VisibleSegmentLength,e.InvisibleSegmentLength]},3632507154:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},1154170062:function(e){return[e.Identification,e.Name,e.Description,e.Location,e.Purpose,e.IntendedUse,e.Scope,e.Revision,e.DocumentOwner,e.Editors,e.CreationTime,e.LastRevisionTime,e.ElectronicFormat,e.ValidFrom,e.ValidUntil,e.Confidentiality,e.Status]},770865208:function(e){return[e.Name,e.Description,e.RelatingDocument,e.RelatedDocuments,e.RelationshipType]},3732053477:function(e){return[e.Location,e.Identification,e.Name,e.Description,e.ReferencedDocument]},3900360178:function(e){return[e.EdgeStart,e.EdgeEnd]},476780140:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeGeometry,null==(t=e.SameSense)?void 0:t.toString()]},211053100:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ActualDate,e.EarlyDate,e.LateDate,e.ScheduleDate]},297599258:function(e){return[e.Name,e.Description,e.Properties]},1437805879:function(e){return[e.Name,e.Description,e.RelatingReference,e.RelatedResourceObjects]},2556980723:function(e){return[e.Bounds]},1809719519:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},803316827:function(e){var t;return[e.Bound,null==(t=e.Orientation)?void 0:t.toString()]},3008276851:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},4219587988:function(e){return[e.Name,e.TensionFailureX,e.TensionFailureY,e.TensionFailureZ,e.CompressionFailureX,e.CompressionFailureY,e.CompressionFailureZ]},738692330:function(e){var t;return[e.Name,e.FillStyles,null==(t=e.ModelOrDraughting)?void 0:t.toString()]},3448662350:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth]},2453401579:function(e){return[]},4142052618:function(e){return[e.ContextIdentifier,e.ContextType,e.CoordinateSpaceDimension,e.Precision,e.WorldCoordinateSystem,e.TrueNorth,e.ParentContext,e.TargetScale,e.TargetView,e.UserDefinedTargetView]},3590301190:function(e){return[e.Elements]},178086475:function(e){return[e.PlacementRelTo,e.PlacementLocation,e.PlacementRefDirection]},812098782:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString()]},3905492369:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.URLReference]},3570813810:function(e){return[e.MappedTo,e.Opacity,e.Colours,e.ColourIndex]},1437953363:function(e){return[e.Maps,e.MappedTo,e.TexCoords]},2133299955:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndex]},3741457305:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.Values]},1585845231:function(e){return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,Y_(e.LagValue),e.DurationType]},1402838566:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},125510826:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity]},2604431987:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Orientation]},4266656042:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.ColourAppearance,e.ColourTemperature,e.LuminousFlux,e.LightEmissionSource,e.LightDistributionDataSource]},1520743889:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation]},3422422726:function(e){return[e.Name,e.LightColour,e.AmbientIntensity,e.Intensity,e.Position,e.Radius,e.ConstantAttenuation,e.DistanceAttenuation,e.QuadricAttenuation,e.Orientation,e.ConcentrationExponent,e.SpreadAngle,e.BeamWidthAngle]},388784114:function(e){return[e.PlacementRelTo,e.RelativePlacement,e.CartesianPosition]},2624227202:function(e){return[e.PlacementRelTo,e.RelativePlacement]},1008929658:function(e){return[]},2347385850:function(e){return[e.MappingSource,e.MappingTarget]},1838606355:function(e){return[e.Name,e.Description,e.Category]},3708119e3:function(e){return[e.Name,e.Description,e.Material,e.Fraction,e.Category]},2852063980:function(e){return[e.Name,e.Description,e.MaterialConstituents]},2022407955:function(e){return[e.Name,e.Description,e.Representations,e.RepresentedMaterial]},1303795690:function(e){return[e.ForLayerSet,e.LayerSetDirection,e.DirectionSense,e.OffsetFromReferenceLine,e.ReferenceExtent]},3079605661:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent]},3404854881:function(e){return[e.ForProfileSet,e.CardinalPoint,e.ReferenceExtent,e.ForProfileEndSet,e.CardinalEndPoint]},3265635763:function(e){return[e.Name,e.Description,e.Properties,e.Material]},853536259:function(e){return[e.Name,e.Description,e.RelatingMaterial,e.RelatedMaterials,e.MaterialExpression]},2998442950:function(e){return[e.ProfileType,e.ProfileName,e.ParentProfile,e.Operator,e.Label]},219451334:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},182550632:function(e){var t;return[e.ProfileType,e.ProfileName,null==(t=e.HorizontalWidths)?void 0:t.toString(),e.Widths,e.Slopes,e.Tags,e.OffsetPoint]},2665983363:function(e){return[e.CfsFaces]},1411181986:function(e){return[e.Name,e.Description,e.RelatingOrganization,e.RelatedOrganizations]},1029017970:function(e){var t;return[e.EdgeStart,e.EdgeEnd,e.EdgeElement,null==(t=e.Orientation)?void 0:t.toString()]},2529465313:function(e){return[e.ProfileType,e.ProfileName,e.Position]},2519244187:function(e){return[e.EdgeList]},3021840470:function(e){return[e.Name,e.Description,e.HasQuantities,e.Discrimination,e.Quality,e.Usage]},597895409:function(e){var t,n;return[null==(t=e.RepeatS)?void 0:t.toString(),null==(n=e.RepeatT)?void 0:n.toString(),e.Mode,e.TextureTransform,e.Parameter,e.Width,e.Height,e.ColourComponents,e.Pixel]},2004835150:function(e){return[e.Location]},1663979128:function(e){return[e.SizeInX,e.SizeInY]},2067069095:function(e){return[]},2165702409:function(e){return[Y_(e.DistanceAlong),e.OffsetLateral,e.OffsetVertical,e.OffsetLongitudinal,e.BasisCurve]},4022376103:function(e){return[e.BasisCurve,e.PointParameter]},1423911732:function(e){return[e.BasisSurface,e.PointParameterU,e.PointParameterV]},2924175390:function(e){return[e.Polygon]},2775532180:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Position,e.PolygonalBoundary]},3727388367:function(e){return[e.Name]},3778827333:function(e){return[]},1775413392:function(e){return[e.Name]},673634403:function(e){return[e.Name,e.Description,e.Representations]},2802850158:function(e){return[e.Name,e.Description,e.Properties,e.ProfileDefinition]},2598011224:function(e){return[e.Name,e.Specification]},1680319473:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},148025276:function(e){return[e.Name,e.Description,e.DependingProperty,e.DependantProperty,e.Expression]},3357820518:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1482703590:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2090586900:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},3615266464:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim]},3413951693:function(e){return[e.Name,e.Description,e.StartTime,e.EndTime,e.TimeSeriesDataType,e.DataOrigin,e.UserDefinedDataOrigin,e.Unit,e.TimeStep,e.Values]},1580146022:function(e){return[e.TotalCrossSectionArea,e.SteelGrade,e.BarSurface,e.EffectiveDepth,e.NominalBarDiameter,e.BarCount]},478536968:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2943643501:function(e){return[e.Name,e.Description,e.RelatedResourceObjects,e.RelatingApproval]},1608871552:function(e){return[e.Name,e.Description,e.RelatingConstraint,e.RelatedResourceObjects]},1042787934:function(e){var t;return[e.Name,e.DataOrigin,e.UserDefinedDataOrigin,e.ScheduleWork,e.ScheduleUsage,e.ScheduleStart,e.ScheduleFinish,e.ScheduleContour,e.LevelingDelay,null==(t=e.IsOverAllocated)?void 0:t.toString(),e.StatusTime,e.ActualWork,e.ActualUsage,e.ActualStart,e.ActualFinish,e.RemainingWork,e.RemainingUsage,e.Completion]},2778083089:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.RoundingRadius]},2042790032:function(e){return[e.SectionType,e.StartProfile,e.EndProfile]},4165799628:function(e){return[e.LongitudinalStartPosition,e.LongitudinalEndPosition,e.TransversePosition,e.ReinforcementRole,e.SectionDefinition,e.CrossSectionReinforcementDefinitions]},1509187699:function(e){return[e.SpineCurve,e.CrossSections,e.CrossSectionPositions]},823603102:function(e){return[e.Transition]},4124623270:function(e){return[e.SbsmBoundary]},3692461612:function(e){return[e.Name,e.Specification]},2609359061:function(e){return[e.Name,e.SlippageX,e.SlippageY,e.SlippageZ]},723233188:function(e){return[]},1595516126:function(e){return[e.Name,e.LinearForceX,e.LinearForceY,e.LinearForceZ,e.LinearMomentX,e.LinearMomentY,e.LinearMomentZ]},2668620305:function(e){return[e.Name,e.PlanarForceX,e.PlanarForceY,e.PlanarForceZ]},2473145415:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ]},1973038258:function(e){return[e.Name,e.DisplacementX,e.DisplacementY,e.DisplacementZ,e.RotationalDisplacementRX,e.RotationalDisplacementRY,e.RotationalDisplacementRZ,e.Distortion]},1597423693:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ]},1190533807:function(e){return[e.Name,e.ForceX,e.ForceY,e.ForceZ,e.MomentX,e.MomentY,e.MomentZ,e.WarpingMoment]},2233826070:function(e){return[e.EdgeStart,e.EdgeEnd,e.ParentEdge]},2513912981:function(e){return[]},1878645084:function(e){return[e.SurfaceColour,e.Transparency,e.DiffuseColour,e.TransmissionColour,e.DiffuseTransmissionColour,e.ReflectionColour,e.SpecularColour,e.SpecularHighlight?Y_(e.SpecularHighlight):null,e.ReflectanceMethod]},2247615214:function(e){return[e.SweptArea,e.Position]},1260650574:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam]},1096409881:function(e){return[e.Directrix,e.Radius,e.InnerRadius,e.StartParam,e.EndParam,e.FilletRadius]},230924584:function(e){return[e.SweptCurve,e.Position]},3071757647:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.WebEdgeRadius,e.WebSlope,e.FlangeSlope]},901063453:function(e){return[]},4282788508:function(e){return[e.Literal,e.Placement,e.Path]},3124975700:function(e){return[e.Literal,e.Placement,e.Path,e.Extent,e.BoxAlignment]},1983826977:function(e){return[e.Name,e.FontFamily,e.FontStyle,e.FontVariant,e.FontWeight,Y_(e.FontSize)]},2715220739:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomXDim,e.TopXDim,e.YDim,e.TopXOffset]},1628702193:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets]},3736923433:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType]},2347495698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag]},3698973494:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType]},427810014:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius,e.FlangeSlope]},1417489154:function(e){return[e.Orientation,e.Magnitude]},2759199220:function(e){return[e.LoopVertex]},2543172580:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.FlangeWidth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.EdgeRadius]},3406155212:function(e){var t;return[e.Bounds,e.FaceSurface,null==(t=e.SameSense)?void 0:t.toString()]},669184980:function(e){return[e.OuterBoundary,e.InnerBoundaries]},3207858831:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.BottomFlangeWidth,e.OverallDepth,e.WebThickness,e.BottomFlangeThickness,e.BottomFlangeFilletRadius,e.TopFlangeWidth,e.TopFlangeThickness,e.TopFlangeFilletRadius,e.BottomFlangeEdgeRadius,e.BottomFlangeSlope,e.TopFlangeEdgeRadius,e.TopFlangeSlope]},4261334040:function(e){return[e.Location,e.Axis]},3125803723:function(e){return[e.Location,e.RefDirection]},2740243338:function(e){return[e.Location,e.Axis,e.RefDirection]},3425423356:function(e){return[e.Location,e.Axis,e.RefDirection]},2736907675:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},4182860854:function(e){return[]},2581212453:function(e){return[e.Corner,e.XDim,e.YDim,e.ZDim]},2713105998:function(e){var t;return[e.BaseSurface,null==(t=e.AgreementFlag)?void 0:t.toString(),e.Enclosure]},2898889636:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.WallThickness,e.Girth,e.InternalFilletRadius]},1123145078:function(e){return[e.Coordinates]},574549367:function(e){return[]},1675464909:function(e){return[e.CoordList,e.TagList]},2059837836:function(e){return[e.CoordList,e.TagList]},59481748:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3749851601:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale]},3486308946:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Scale2]},3331915920:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3]},1416205885:function(e){return[e.Axis1,e.Axis2,e.LocalOrigin,e.Scale,e.Axis3,e.Scale2,e.Scale3]},1383045692:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius]},2205249479:function(e){return[e.CfsFaces]},776857604:function(e){return[e.Name,e.Red,e.Green,e.Blue]},2542286263:function(e){return[e.Name,e.Specification,e.UsageName,e.HasProperties]},2485617015:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve]},2574617495:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity]},3419103109:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},1815067380:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2506170314:function(e){return[e.Position]},2147822146:function(e){return[e.TreeRootExpression]},2601014836:function(e){return[]},2827736869:function(e){return[e.BasisSurface,e.OuterBoundary,e.InnerBoundaries]},2629017746:function(e){var t;return[e.BasisSurface,e.Boundaries,null==(t=e.ImplicitOuter)?void 0:t.toString()]},4212018352:function(e){return[e.Transition,e.Placement,Y_(e.SegmentStart),Y_(e.SegmentLength),e.ParentCurve]},32440307:function(e){return[e.DirectionRatios]},593015953:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null]},1472233963:function(e){return[e.EdgeList]},1883228015:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.MethodOfMeasurement,e.Quantities]},339256511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2777663545:function(e){return[e.Position]},2835456948:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.SemiAxis1,e.SemiAxis2]},4024345920:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType]},477187591:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth]},2804161546:function(e){return[e.SweptArea,e.Position,e.ExtrudedDirection,e.Depth,e.EndSweptArea]},2047409740:function(e){return[e.FbsmFaces]},374418227:function(e){return[e.HatchLineAppearance,e.StartOfNextHatchLine,e.PointOfReferenceHatchLine,e.PatternStart,e.HatchLineAngle]},315944413:function(e){return[e.TilingPattern,e.Tiles,e.TilingScale]},2652556860:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},4238390223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1268542332:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.AssemblyPlace,e.PredefinedType]},4095422895:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},987898635:function(e){return[e.Elements]},1484403080:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.OverallWidth,e.OverallDepth,e.WebThickness,e.FlangeThickness,e.FilletRadius,e.FlangeEdgeRadius,e.FlangeSlope]},178912537:function(e){return[e.CoordIndex]},2294589976:function(e){return[e.CoordIndex,e.InnerCoordIndices]},3465909080:function(e){return[e.Maps,e.MappedTo,e.TexCoords,e.TexCoordIndices]},572779678:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Depth,e.Width,e.Thickness,e.FilletRadius,e.EdgeRadius,e.LegSlope]},428585644:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1281925730:function(e){return[e.Pnt,e.Dir]},1425443689:function(e){return[e.Outer]},3888040117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},590820931:function(e){return[e.BasisCurve]},3388369263:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString()]},3505215534:function(e){var t;return[e.BasisCurve,e.Distance,null==(t=e.SelfIntersect)?void 0:t.toString(),e.RefDirection]},2485787929:function(e){return[e.BasisCurve,e.OffsetValues,e.Tag]},1682466193:function(e){return[e.BasisSurface,e.ReferenceCurve]},603570806:function(e){return[e.SizeInX,e.SizeInY,e.Placement]},220341763:function(e){return[e.Position]},3381221214:function(e){return[e.Position,e.CoefficientsX,e.CoefficientsY,e.CoefficientsZ]},759155922:function(e){return[e.Name]},2559016684:function(e){return[e.Name]},3967405729:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},569719735:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType]},2945172077:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},4208778838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},103090709:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},653396225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.Phase,e.RepresentationContexts,e.UnitsInContext]},871118103:function(e){return[e.Name,e.Specification,e.UpperBoundValue?Y_(e.UpperBoundValue):null,e.LowerBoundValue?Y_(e.LowerBoundValue):null,e.Unit,e.SetPointValue?Y_(e.SetPointValue):null]},4166981789:function(e){return[e.Name,e.Specification,e.EnumerationValues?e.EnumerationValues.map((function(e){return Y_(e)})):null,e.EnumerationReference]},2752243245:function(e){return[e.Name,e.Specification,e.ListValues?e.ListValues.map((function(e){return Y_(e)})):null,e.Unit]},941946838:function(e){return[e.Name,e.Specification,e.UsageName,e.PropertyReference]},1451395588:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.HasProperties]},492091185:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.ApplicableEntity,e.HasPropertyTemplates]},3650150729:function(e){return[e.Name,e.Specification,e.NominalValue?Y_(e.NominalValue):null,e.Unit]},110355661:function(e){return[e.Name,e.Specification,e.DefiningValues?e.DefiningValues.map((function(e){return Y_(e)})):null,e.DefinedValues?e.DefinedValues.map((function(e){return Y_(e)})):null,e.Expression,e.DefiningUnit,e.DefinedUnit,e.CurveInterpolation]},3521284610:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},2770003689:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.XDim,e.YDim,e.WallThickness,e.InnerFilletRadius,e.OuterFilletRadius]},2798486643:function(e){return[e.Position,e.XLength,e.YLength,e.Height]},3454111270:function(e){var t,n;return[e.BasisSurface,e.U1,e.V1,e.U2,e.V2,null==(t=e.Usense)?void 0:t.toString(),null==(n=e.Vsense)?void 0:n.toString()]},3765753017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.DefinitionType,e.ReinforcementSectionDefinitions]},3939117080:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType]},1683148259:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingActor,e.ActingRole]},2495723537:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingControl]},1307041759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup]},1027710054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingGroup,e.Factor]},4278684876:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProcess,e.QuantityInProcess]},2857406711:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingProduct]},205026976:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatedObjectsType,e.RelatingResource]},1865459582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects]},4095574036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingApproval]},919958153:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingClassification]},2728634034:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.Intent,e.RelatingConstraint]},982818633:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingDocument]},3840914261:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingLibrary]},2655215786:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingMaterial]},1033248425:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingProfileDef]},826625072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1204542856:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement]},3945020480:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RelatingPriorities,e.RelatedPriorities,e.RelatedConnectionType,e.RelatingConnectionType]},4201705270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedElement]},3190031847:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPort,e.RelatedPort,e.RealizingElement]},2127690289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedStructuralActivity]},1638771189:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem]},504942748:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingStructuralMember,e.RelatedStructuralConnection,e.AppliedCondition,e.AdditionalConditions,e.SupportedLength,e.ConditionCoordinateSystem,e.ConnectionConstraint]},3678494232:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ConnectionGeometry,e.RelatingElement,e.RelatedElement,e.RealizingElements,e.ConnectionType]},3242617779:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},886880790:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedCoverings]},2802773753:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedCoverings]},2565941209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingContext,e.RelatedDefinitions]},2551354335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},693640335:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description]},1462361463:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingObject]},4186316022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingPropertyDefinition]},307848117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedPropertySets,e.RelatingTemplate]},781010003:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedObjects,e.RelatingType]},3940055652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingOpeningElement,e.RelatedBuildingElement]},279856033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedControlElements,e.RelatingFlowElement]},427948657:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedElement,e.InterferenceGeometry,e.InterferenceSpace,e.InterferenceType,null==(t=e.ImpliedOrder)?void 0:t.toString()]},3268803585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},1441486842:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingPositioningElement,e.RelatedProducts]},750771296:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedFeatureElement]},1245217292:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatedElements,e.RelatingStructure]},4122056220:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingProcess,e.RelatedProcess,e.TimeLag,e.SequenceType,e.UserDefinedSequenceType]},366585022:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSystem,e.RelatedBuildings]},3451746338:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary]},3523091289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary]},1521410863:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingSpace,e.RelatedBuildingElement,e.ConnectionGeometry,e.PhysicalOrVirtualBoundary,e.InternalOrExternalBoundary,e.ParentBoundary,e.CorrespondingBoundary]},1401173127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingBuildingElement,e.RelatedOpeningElement]},816062949:function(e){var t;return[e.Transition,null==(t=e.SameSense)?void 0:t.toString(),e.ParentCurve,e.ParamLength]},2914609552:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription]},1856042241:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle]},3243963512:function(e){return[e.SweptArea,e.Position,e.Axis,e.Angle,e.EndSweptArea]},4158566097:function(e){return[e.Position,e.Height,e.BottomRadius]},3626867408:function(e){return[e.Position,e.Height,e.Radius]},1862484736:function(e){return[e.Directrix,e.CrossSections]},1290935644:function(e){return[e.Directrix,e.CrossSections,e.CrossSectionPositions]},1356537516:function(e){return[e.Directrix,e.CrossSectionPositions,e.CrossSections]},3663146110:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.TemplateType,e.PrimaryMeasureType,e.SecondaryMeasureType,e.Enumerators,e.PrimaryUnit,e.SecondaryUnit,e.Expression,e.AccessState]},1412071761:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},710998568:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2706606064:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},3893378262:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},463610769:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},2481509218:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},451544542:function(e){return[e.Position,e.Radius]},4015995234:function(e){return[e.Position,e.Radius]},2735484536:function(e){return[e.Position]},3544373492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3136571912:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},530289379:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3689010777:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},3979015343:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},2218152070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Thickness]},603775116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},4095615324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},699246055:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2028607225:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.ReferenceSurface]},2809605785:function(e){return[e.SweptCurve,e.Position,e.ExtrudedDirection,e.Depth]},4124788165:function(e){return[e.SweptCurve,e.Position,e.AxisPosition]},1580310250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3473067441:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Status,e.WorkMethod,null==(t=e.IsMilestone)?void 0:t.toString(),e.Priority,e.TaskTime,e.PredefinedType]},3206491090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ProcessType,e.PredefinedType,e.WorkMethod]},2387106220:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString()]},782932809:function(e){return[e.Position,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},1935646853:function(e){return[e.Position,e.MajorRadius,e.MinorRadius]},3665877780:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2916149573:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex]},1229763772:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Normals,e.CoordIndex,e.PnIndex,e.Flags]},3651464721:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},336235671:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.TransomThickness,e.MullionThickness,e.FirstTransomOffset,e.SecondTransomOffset,e.FirstMullionOffset,e.SecondMullionOffset,e.ShapeAspectStyle,e.LiningOffset,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},512836454:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},2296667514:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor]},1635779807:function(e){return[e.Outer]},2603310189:function(e){return[e.Outer,e.Voids]},1674181508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},2887950389:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString()]},167062518:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec]},1334484129:function(e){return[e.Position,e.XLength,e.YLength,e.ZLength]},3649129432:function(e){return[e.Operator,e.FirstOperand,e.SecondOperand]},1260505505:function(e){return[]},3124254112:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.Elevation]},1626504194:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2197970202:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2937912522:function(e){return[e.ProfileType,e.ProfileName,e.Position,e.Radius,e.WallThickness]},3893394355:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3497074424:function(e){return[e.Position,e.ClothoidConstant]},300633059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3875453745:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.UsageName,e.TemplateType,e.HasPropertyTemplates]},3732776249:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},15328376:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},2510884976:function(e){return[e.Position]},2185764099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},4105962743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1525564444:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.Identification,e.LongDescription,e.ResourceType,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2559216714:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity]},3293443760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification]},2000195564:function(e){return[e.Position,e.CosineTerm,e.ConstantTerm]},3895139033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.CostValues,e.CostQuantities]},1419761937:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.SubmittedOn,e.UpdateDate]},4189326743:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1916426348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3295246426:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1457835157:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1213902940:function(e){return[e.Position,e.Radius]},1306400036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},4234616927:function(e){return[e.SweptArea,e.Position,e.Directrix,e.StartParam?Y_(e.StartParam):null,e.EndParam?Y_(e.EndParam):null,e.FixedReference]},3256556792:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3849074793:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2963535650:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.LiningDepth,e.LiningThickness,e.ThresholdDepth,e.ThresholdThickness,e.TransomThickness,e.TransomOffset,e.LiningOffset,e.ThresholdOffset,e.CasingThickness,e.CasingDepth,e.ShapeAspectStyle,e.LiningToPanelOffsetX,e.LiningToPanelOffsetY]},1714330368:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.PanelDepth,e.PanelOperation,e.PanelWidth,e.PanelPosition,e.ShapeAspectStyle]},2323601079:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.OperationType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedOperationType]},445594917:function(e){return[e.Name]},4006246654:function(e){return[e.Name]},1758889154:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4123344466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.AssemblyPlace,e.PredefinedType]},2397081782:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1623761950:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2590856083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1704287377:function(e){return[e.Position,e.SemiAxis1,e.SemiAxis2]},2107101300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},132023988:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3174744832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3390157468:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4148101412:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType,e.EventTriggerType,e.UserDefinedEventTriggerType,e.EventOccurenceTime]},2853485674:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName]},807026263:function(e){return[e.Outer]},3737207727:function(e){return[e.Outer,e.Voids]},24185140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType]},1310830890:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType]},4228831410:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},647756555:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2489546625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2827207264:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2143335405:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1287392070:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3907093117:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3198132628:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3815607619:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1482959167:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1834744321:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1339347760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2297155007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},3009222698:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1893162501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},263784265:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1509553395:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3493046030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4230923436:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1594536857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2898700619:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},2706460486:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},1251058090:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1806887404:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2568555532:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3948183225:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2571569899:function(e){var t;return[e.Points,e.Segments?e.Segments.map((function(e){return Y_(e)})):null,null==(t=e.SelfIntersect)?void 0:t.toString()]},3946677679:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3113134337:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},2391368822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.Jurisdiction,e.ResponsiblePersons,e.LastUpdateDate,e.CurrentValue,e.OriginalValue]},4288270099:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},679976338:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,null==(t=e.Mountable)?void 0:t.toString()]},3827777499:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1051575348:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1161773419:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2176059722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1770583370:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},525669439:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},976884017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},377706215:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NominalDiameter,e.NominalLength,e.PredefinedType]},2108223431:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.NominalLength]},1114901282:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3181161470:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1950438474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},710110818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},977012517:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},506776471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4143007308:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheActor,e.PredefinedType]},3588315303:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2837617999:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},514975943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2382730787:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LifeCyclePhase,e.PredefinedType]},3566463478:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.OperationType,e.PanelPosition,e.FrameDepth,e.FrameThickness,e.ShapeAspectStyle]},3327091369:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1158309216:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},804291784:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4231323485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4017108033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2839578677:function(e){var t;return[e.Coordinates,null==(t=e.Closed)?void 0:t.toString(),e.Faces,e.PnIndex]},3724593414:function(e){return[e.Points]},3740093272:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1946335990:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},2744685151:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.PredefinedType]},2904328755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},3651124850:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1842657554:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2250791053:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1763565496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2893384427:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3992365140:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},1891881377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2324767716:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1469900589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},683857671:function(e){var t,n,r;return[e.UDegree,e.VDegree,e.ControlPointsList,e.SurfaceForm,null==(t=e.UClosed)?void 0:t.toString(),null==(n=e.VClosed)?void 0:n.toString(),null==(r=e.SelfIntersect)?void 0:r.toString(),e.UMultiplicities,e.VMultiplicities,e.UKnots,e.VKnots,e.KnotSpec,e.WeightsData]},4021432810:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},3027567501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade]},964333572:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},2320036040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.PredefinedType]},2310774935:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.MeshLength,e.MeshWidth,e.LongitudinalBarNominalDiameter,e.TransverseBarNominalDiameter,e.LongitudinalBarCrossSectionArea,e.TransverseBarCrossSectionArea,e.LongitudinalBarSpacing,e.TransverseBarSpacing,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},3818125796:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingElement,e.RelatedSurfaceFeatures]},160246688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.RelatingObject,e.RelatedObjects]},146592293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},550521510:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},2781568857:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1768891740:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2157484638:function(e){return[e.Curve3D,e.AssociatedGeometry,e.MasterRepresentation]},3649235739:function(e){return[e.Position,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},544395925:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString(),e.BaseCurve,e.EndPoint]},1027922057:function(e){return[e.Position,e.SepticTerm,e.SexticTerm,e.QuinticTerm,e.QuarticTerm,e.CubicTerm,e.QuadraticTerm,e.LinearTerm,e.ConstantTerm]},4074543187:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},33720170:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3599934289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1894708472:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},42703149:function(e){return[e.Position,e.SineTerm,e.LinearTerm,e.ConstantTerm]},4097777520:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.RefLatitude,e.RefLongitude,e.RefElevation,e.LandTitleNumber,e.SiteAddress]},2533589738:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1072016465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3856911033:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType,e.ElevationWithFlooring]},1305183839:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3812236995:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.LongName]},3112655638:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1039846685:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},338393293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},682877961:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},1179482911:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},1004757350:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},4243806635:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.AxisDirection]},214636428:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2445595289:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType,e.Axis]},2757150158:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,e.PredefinedType]},1807405624:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1252848954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose]},2082059205:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString()]},734778138:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition,e.ConditionCoordinateSystem]},1235345126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal]},2986769608:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.TheoryType,e.ResultForLoadGroup,null==(t=e.IsLinear)?void 0:t.toString()]},3657597509:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1975003073:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedCondition]},148013059:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},3101698114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2315554128:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2254336722:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType]},413509423:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},5716631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3824725483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.TensionForce,e.PreStress,e.FrictionCoefficient,e.AnchorageSlip,e.MinCurvatureRadius]},2347447852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},3081323446:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3663046924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.PredefinedType]},2281632017:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2415094496:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.SheathDiameter]},618700268:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1692211062:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2097647324:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1953115116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3593883385:function(e){var t;return[e.BasisCurve,e.Trim1,e.Trim2,null==(t=e.SenseAgreement)?void 0:t.toString(),e.MasterRepresentation]},1600972822:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1911125066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},728799441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},840318589:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1530820697:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3956297820:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2391383451:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3313531582:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2769231204:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},926996030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1898987631:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1133259667:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4009809668:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.PartitioningType,null==(t=e.ParameterTakesPrecedence)?void 0:t.toString(),e.UserDefinedPartitioningType]},4088093105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.WorkingTimes,e.ExceptionTimes,e.PredefinedType]},1028945134:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime]},4218914973:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},3342526732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.CreationDate,e.Creators,e.Purpose,e.Duration,e.TotalFloat,e.StartTime,e.FinishTime,e.PredefinedType]},1033361043:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName]},3821786052:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.PredefinedType,e.Status,e.LongDescription]},1411407467:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3352864051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1871374353:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4266260250:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.RailHeadDistance]},1545765605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},317615605:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.DesignParameters]},1662888072:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},3460190687:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.OriginalValue,e.CurrentValue,e.TotalReplacementCost,e.Owner,e.User,e.ResponsiblePerson,e.IncorporationDate,e.DepreciatedValue]},1532957894:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1967976161:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString()]},2461110595:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec]},819618141:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3649138523:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},231477066:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1136057603:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},644574406:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.PredefinedType]},963979645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.UsageType,e.PredefinedType]},4031249490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.CompositionType,e.ElevationOfRefHeight,e.ElevationOfTerrain,e.BuildingAddress]},2979338954:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},39481116:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1909888760:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1177604601:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},1876633798:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3862327254:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.LongName]},2188180465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},395041908:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3293546465:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2674252688:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1285652485:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3203706013:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2951183804:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3296154744:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2611217952:function(e){return[e.Position,e.Radius]},1677625105:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2301859152:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},843113511:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},400855858:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3850581409:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2816379211:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3898045240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},1060000209:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},488727124:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.Identification,e.LongDescription,e.Usage,e.BaseCosts,e.BaseQuantity,e.PredefinedType]},2940368186:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},335055490:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2954562838:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1502416096:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1973544240:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3495092785:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3961806047:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3426335179:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1335981549:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2635815018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},479945903:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1599208980:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2063403501:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType]},1945004755:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3040386961:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3041715199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.FlowDirection,e.PredefinedType,e.SystemType]},3205830791:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},395920057:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.OperationType,e.UserDefinedOperationType]},869906466:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3760055223:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2030761528:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3071239417:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1077100507:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3376911765:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},663422040:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2417008758:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3277789161:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2142170206:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1534661035:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1217240411:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},712377611:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1658829314:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2814081492:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3747195512:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},484807127:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1209101575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.LongName,e.PredefinedType]},346874300:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1810631287:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4222183408:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2058353004:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4278956645:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},4037862832:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},2188021234:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3132237377:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},987401354:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},707683696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2223149337:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3508470533:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},900683007:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2713699986:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},3009204131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.UAxes,e.VAxes,e.WAxes,e.PredefinedType]},3319311131:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2068733104:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4175244083:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2176052936:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2696325953:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,null==(t=e.Mountable)?void 0:t.toString()]},76236018:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},629592764:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1154579445:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation]},1638804497:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1437502449:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1073191201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2078563270:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},234836483:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2474470126:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2182337498:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},144952367:function(e){var t;return[e.Segments,null==(t=e.SelfIntersect)?void 0:t.toString()]},3694346114:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1383356374:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1687234759:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType,e.ConstructionType]},310824031:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3612865200:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3171933400:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},738039164:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},655969474:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},90941305:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3290496277:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2262370178:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3024970846:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3283111854:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1232101972:function(e){var t,n;return[e.Degree,e.ControlPointsList,e.CurveForm,null==(t=e.ClosedCurve)?void 0:t.toString(),null==(n=e.SelfIntersect)?void 0:n.toString(),e.KnotMultiplicities,e.Knots,e.KnotSpec,e.WeightsData]},3798194928:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},979691226:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.SteelGrade,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.PredefinedType,e.BarSurface]},2572171363:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType,e.NominalDiameter,e.CrossSectionArea,e.BarLength,e.BarSurface,e.BendingShapeCode,e.BendingParameters?e.BendingParameters.map((function(e){return Y_(e)})):null]},2016517767:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3053780830:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1783015770:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1329646415:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},991950508:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1529196076:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3420628829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1999602285:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1404847402:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},331165859:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4252922144:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.NumberOfRisers,e.NumberOfTreads,e.RiserHeight,e.TreadLength,e.PredefinedType]},2515109513:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.OrientationOf2DPlane,e.LoadedBy,e.HasResults,e.SharedPlacement]},385403989:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.PredefinedType,e.ActionType,e.ActionSource,e.Coefficient,e.Purpose,e.SelfWeightCoefficients]},1621171031:function(e){var t;return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.AppliedLoad,e.GlobalOrLocal,null==(t=e.DestabilizingLoad)?void 0:t.toString(),e.ProjectedOrTrue,e.PredefinedType]},1162798199:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},812556717:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3425753595:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3825984169:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1620046519:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3026737570:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3179687236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},4292641817:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4207607924:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2391406946:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3512223829:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4237592921:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3304561284:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.OverallHeight,e.OverallWidth,e.PredefinedType,e.PartitioningType,e.UserDefinedPartitioningType]},2874132201:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},1634111441:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},177149247:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2056796094:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3001207471:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},325726236:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.PredefinedType]},277319702:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},753842376:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4196446775:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},32344328:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3314249567:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1095909175:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2938176219:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},635142910:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3758799889:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1051757585:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4217484030:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3999819293:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3902619387:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},639361253:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3221913625:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3571504051:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2272882330:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},578613899:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ApplicableOccurrence,e.HasPropertySets,e.RepresentationMaps,e.Tag,e.ElementType,e.PredefinedType]},3460952963:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4136498852:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3640358203:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4074379575:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3693000487:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1052013943:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},562808652:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.LongName,e.PredefinedType]},1062813311:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},342316401:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3518393246:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1360408905:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1904799276:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},862014818:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3310460725:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},24726584:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},264262732:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},402227799:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1003880860:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3415622556:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},819412036:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},1426591983:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},182646315:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},2680139844:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},1971632696:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag]},2295281155:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4086658281:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},630975310:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},4288193352:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},3087945054:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]},25142252:function(e){return[e.GlobalId,e.OwnerHistory,e.Name,e.Description,e.ObjectType,e.ObjectPlacement,e.Representation,e.Tag,e.PredefinedType]}},W_[3]={3699917729:function(e){return new t_.IfcAbsorbedDoseMeasure(e)},4182062534:function(e){return new t_.IfcAccelerationMeasure(e)},360377573:function(e){return new t_.IfcAmountOfSubstanceMeasure(e)},632304761:function(e){return new t_.IfcAngularVelocityMeasure(e)},3683503648:function(e){return new t_.IfcArcIndex(e)},1500781891:function(e){return new t_.IfcAreaDensityMeasure(e)},2650437152:function(e){return new t_.IfcAreaMeasure(e)},2314439260:function(e){return new t_.IfcBinary(e)},2735952531:function(e){return new t_.IfcBoolean(e)},1867003952:function(e){return new t_.IfcBoxAlignment(e)},1683019596:function(e){return new t_.IfcCardinalPointReference(e)},2991860651:function(e){return new t_.IfcComplexNumber(e)},3812528620:function(e){return new t_.IfcCompoundPlaneAngleMeasure(e)},3238673880:function(e){return new t_.IfcContextDependentMeasure(e)},1778710042:function(e){return new t_.IfcCountMeasure(e)},94842927:function(e){return new t_.IfcCurvatureMeasure(e)},937566702:function(e){return new t_.IfcDate(e)},2195413836:function(e){return new t_.IfcDateTime(e)},86635668:function(e){return new t_.IfcDayInMonthNumber(e)},3701338814:function(e){return new t_.IfcDayInWeekNumber(e)},1514641115:function(e){return new t_.IfcDescriptiveMeasure(e)},4134073009:function(e){return new t_.IfcDimensionCount(e)},524656162:function(e){return new t_.IfcDoseEquivalentMeasure(e)},2541165894:function(e){return new t_.IfcDuration(e)},69416015:function(e){return new t_.IfcDynamicViscosityMeasure(e)},1827137117:function(e){return new t_.IfcElectricCapacitanceMeasure(e)},3818826038:function(e){return new t_.IfcElectricChargeMeasure(e)},2093906313:function(e){return new t_.IfcElectricConductanceMeasure(e)},3790457270:function(e){return new t_.IfcElectricCurrentMeasure(e)},2951915441:function(e){return new t_.IfcElectricResistanceMeasure(e)},2506197118:function(e){return new t_.IfcElectricVoltageMeasure(e)},2078135608:function(e){return new t_.IfcEnergyMeasure(e)},1102727119:function(e){return new t_.IfcFontStyle(e)},2715512545:function(e){return new t_.IfcFontVariant(e)},2590844177:function(e){return new t_.IfcFontWeight(e)},1361398929:function(e){return new t_.IfcForceMeasure(e)},3044325142:function(e){return new t_.IfcFrequencyMeasure(e)},3064340077:function(e){return new t_.IfcGloballyUniqueId(e)},3113092358:function(e){return new t_.IfcHeatFluxDensityMeasure(e)},1158859006:function(e){return new t_.IfcHeatingValueMeasure(e)},983778844:function(e){return new t_.IfcIdentifier(e)},3358199106:function(e){return new t_.IfcIlluminanceMeasure(e)},2679005408:function(e){return new t_.IfcInductanceMeasure(e)},1939436016:function(e){return new t_.IfcInteger(e)},3809634241:function(e){return new t_.IfcIntegerCountRateMeasure(e)},3686016028:function(e){return new t_.IfcIonConcentrationMeasure(e)},3192672207:function(e){return new t_.IfcIsothermalMoistureCapacityMeasure(e)},2054016361:function(e){return new t_.IfcKinematicViscosityMeasure(e)},3258342251:function(e){return new t_.IfcLabel(e)},1275358634:function(e){return new t_.IfcLanguageId(e)},1243674935:function(e){return new t_.IfcLengthMeasure(e)},1774176899:function(e){return new t_.IfcLineIndex(e)},191860431:function(e){return new t_.IfcLinearForceMeasure(e)},2128979029:function(e){return new t_.IfcLinearMomentMeasure(e)},1307019551:function(e){return new t_.IfcLinearStiffnessMeasure(e)},3086160713:function(e){return new t_.IfcLinearVelocityMeasure(e)},503418787:function(e){return new t_.IfcLogical(e)},2095003142:function(e){return new t_.IfcLuminousFluxMeasure(e)},2755797622:function(e){return new t_.IfcLuminousIntensityDistributionMeasure(e)},151039812:function(e){return new t_.IfcLuminousIntensityMeasure(e)},286949696:function(e){return new t_.IfcMagneticFluxDensityMeasure(e)},2486716878:function(e){return new t_.IfcMagneticFluxMeasure(e)},1477762836:function(e){return new t_.IfcMassDensityMeasure(e)},4017473158:function(e){return new t_.IfcMassFlowRateMeasure(e)},3124614049:function(e){return new t_.IfcMassMeasure(e)},3531705166:function(e){return new t_.IfcMassPerLengthMeasure(e)},3341486342:function(e){return new t_.IfcModulusOfElasticityMeasure(e)},2173214787:function(e){return new t_.IfcModulusOfLinearSubgradeReactionMeasure(e)},1052454078:function(e){return new t_.IfcModulusOfRotationalSubgradeReactionMeasure(e)},1753493141:function(e){return new t_.IfcModulusOfSubgradeReactionMeasure(e)},3177669450:function(e){return new t_.IfcMoistureDiffusivityMeasure(e)},1648970520:function(e){return new t_.IfcMolecularWeightMeasure(e)},3114022597:function(e){return new t_.IfcMomentOfInertiaMeasure(e)},2615040989:function(e){return new t_.IfcMonetaryMeasure(e)},765770214:function(e){return new t_.IfcMonthInYearNumber(e)},525895558:function(e){return new t_.IfcNonNegativeLengthMeasure(e)},2095195183:function(e){return new t_.IfcNormalisedRatioMeasure(e)},2395907400:function(e){return new t_.IfcNumericMeasure(e)},929793134:function(e){return new t_.IfcPHMeasure(e)},2260317790:function(e){return new t_.IfcParameterValue(e)},2642773653:function(e){return new t_.IfcPlanarForceMeasure(e)},4042175685:function(e){return new t_.IfcPlaneAngleMeasure(e)},1790229001:function(e){return new t_.IfcPositiveInteger(e)},2815919920:function(e){return new t_.IfcPositiveLengthMeasure(e)},3054510233:function(e){return new t_.IfcPositivePlaneAngleMeasure(e)},1245737093:function(e){return new t_.IfcPositiveRatioMeasure(e)},1364037233:function(e){return new t_.IfcPowerMeasure(e)},2169031380:function(e){return new t_.IfcPresentableText(e)},3665567075:function(e){return new t_.IfcPressureMeasure(e)},2798247006:function(e){return new t_.IfcPropertySetDefinitionSet(e)},3972513137:function(e){return new t_.IfcRadioActivityMeasure(e)},96294661:function(e){return new t_.IfcRatioMeasure(e)},200335297:function(e){return new t_.IfcReal(e)},2133746277:function(e){return new t_.IfcRotationalFrequencyMeasure(e)},1755127002:function(e){return new t_.IfcRotationalMassMeasure(e)},3211557302:function(e){return new t_.IfcRotationalStiffnessMeasure(e)},3467162246:function(e){return new t_.IfcSectionModulusMeasure(e)},2190458107:function(e){return new t_.IfcSectionalAreaIntegralMeasure(e)},408310005:function(e){return new t_.IfcShearModulusMeasure(e)},3471399674:function(e){return new t_.IfcSolidAngleMeasure(e)},4157543285:function(e){return new t_.IfcSoundPowerLevelMeasure(e)},846465480:function(e){return new t_.IfcSoundPowerMeasure(e)},3457685358:function(e){return new t_.IfcSoundPressureLevelMeasure(e)},993287707:function(e){return new t_.IfcSoundPressureMeasure(e)},3477203348:function(e){return new t_.IfcSpecificHeatCapacityMeasure(e)},2757832317:function(e){return new t_.IfcSpecularExponent(e)},361837227:function(e){return new t_.IfcSpecularRoughness(e)},58845555:function(e){return new t_.IfcTemperatureGradientMeasure(e)},1209108979:function(e){return new t_.IfcTemperatureRateOfChangeMeasure(e)},2801250643:function(e){return new t_.IfcText(e)},1460886941:function(e){return new t_.IfcTextAlignment(e)},3490877962:function(e){return new t_.IfcTextDecoration(e)},603696268:function(e){return new t_.IfcTextFontName(e)},296282323:function(e){return new t_.IfcTextTransformation(e)},232962298:function(e){return new t_.IfcThermalAdmittanceMeasure(e)},2645777649:function(e){return new t_.IfcThermalConductivityMeasure(e)},2281867870:function(e){return new t_.IfcThermalExpansionCoefficientMeasure(e)},857959152:function(e){return new t_.IfcThermalResistanceMeasure(e)},2016195849:function(e){return new t_.IfcThermalTransmittanceMeasure(e)},743184107:function(e){return new t_.IfcThermodynamicTemperatureMeasure(e)},4075327185:function(e){return new t_.IfcTime(e)},2726807636:function(e){return new t_.IfcTimeMeasure(e)},2591213694:function(e){return new t_.IfcTimeStamp(e)},1278329552:function(e){return new t_.IfcTorqueMeasure(e)},950732822:function(e){return new t_.IfcURIReference(e)},3345633955:function(e){return new t_.IfcVaporPermeabilityMeasure(e)},3458127941:function(e){return new t_.IfcVolumeMeasure(e)},2593997549:function(e){return new t_.IfcVolumetricFlowRateMeasure(e)},51269191:function(e){return new t_.IfcWarpingConstantMeasure(e)},1718600412:function(e){return new t_.IfcWarpingMomentMeasure(e)}},function(e){var t=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAbsorbedDoseMeasure=t;var n=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAccelerationMeasure=n;var r=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAmountOfSubstanceMeasure=r;var i=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAngularVelocityMeasure=i;var a=P((function e(t){b(this,e),this.value=t}));e.IfcArcIndex=a;var s=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaDensityMeasure=s;var o=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcAreaMeasure=o;var l=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcBinary=l;var u=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcBoolean=u;var c=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcBoxAlignment=c;var f=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCardinalPointReference=f;var p=P((function e(t){b(this,e),this.value=t}));e.IfcComplexNumber=p;var A=P((function e(t){b(this,e),this.value=t}));e.IfcCompoundPlaneAngleMeasure=A;var d=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcContextDependentMeasure=d;var v=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCountMeasure=v;var h=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcCurvatureMeasure=h;var y=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDate=y;var w=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDateTime=w;var g=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInMonthNumber=g;var E=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDayInWeekNumber=E;var T=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDescriptiveMeasure=T;var D=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDimensionCount=D;var R=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDoseEquivalentMeasure=R;var C=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcDuration=C;var _=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcDynamicViscosityMeasure=_;var B=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCapacitanceMeasure=B;var O=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricChargeMeasure=O;var S=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricConductanceMeasure=S;var N=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricCurrentMeasure=N;var L=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricResistanceMeasure=L;var M=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcElectricVoltageMeasure=M;var x=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcEnergyMeasure=x;var F=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontStyle=F;var H=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontVariant=H;var U=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcFontWeight=U;var G=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcForceMeasure=G;var k=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcFrequencyMeasure=k;var j=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcGloballyUniqueId=j;var V=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatFluxDensityMeasure=V;var Q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcHeatingValueMeasure=Q;var W=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcIdentifier=W;var z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIlluminanceMeasure=z;var K=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInductanceMeasure=K;var Y=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcInteger=Y;var X=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIntegerCountRateMeasure=X;var q=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIonConcentrationMeasure=q;var J=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcIsothermalMoistureCapacityMeasure=J;var Z=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcKinematicViscosityMeasure=Z;var $=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLabel=$;var ee=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcLanguageId=ee;var te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLengthMeasure=te;var ne=P((function e(t){b(this,e),this.value=t}));e.IfcLineIndex=ne;var re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearForceMeasure=re;var ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearMomentMeasure=ie;var ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearStiffnessMeasure=ae;var se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLinearVelocityMeasure=se;var oe=P((function e(t){b(this,e),this.type=3,this.value="true"==t}));e.IfcLogical=oe;var le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousFluxMeasure=le;var ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityDistributionMeasure=ue;var ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcLuminousIntensityMeasure=ce;var fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxDensityMeasure=fe;var pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMagneticFluxMeasure=pe;var Ae=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassDensityMeasure=Ae;var de=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassFlowRateMeasure=de;var ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassMeasure=ve;var he=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMassPerLengthMeasure=he;var Ie=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfElasticityMeasure=Ie;var ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfLinearSubgradeReactionMeasure=ye;var me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfRotationalSubgradeReactionMeasure=me;var we=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcModulusOfSubgradeReactionMeasure=we;var ge=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMoistureDiffusivityMeasure=ge;var Ee=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMolecularWeightMeasure=Ee;var Te=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMomentOfInertiaMeasure=Te;var be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonetaryMeasure=be;var De=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcMonthInYearNumber=De;var Pe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNonNegativeLengthMeasure=Pe;var Re=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNormalisedRatioMeasure=Re;var Ce=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcNumericMeasure=Ce;var _e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPHMeasure=_e;var Be=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcParameterValue=Be;var Oe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlanarForceMeasure=Oe;var Se=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPlaneAngleMeasure=Se;var Ne=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveInteger=Ne;var Le=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveLengthMeasure=Le;var Me=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositivePlaneAngleMeasure=Me;var xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPositiveRatioMeasure=xe;var Fe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPowerMeasure=Fe;var He=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcPresentableText=He;var Ue=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcPressureMeasure=Ue;var Ge=P((function e(t){b(this,e),this.value=t}));e.IfcPropertySetDefinitionSet=Ge;var ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRadioActivityMeasure=ke;var je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRatioMeasure=je;var Ve=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcReal=Ve;var Qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalFrequencyMeasure=Qe;var We=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalMassMeasure=We;var ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcRotationalStiffnessMeasure=ze;var Ke=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionModulusMeasure=Ke;var Ye=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSectionalAreaIntegralMeasure=Ye;var Xe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcShearModulusMeasure=Xe;var qe=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSolidAngleMeasure=qe;var Je=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerLevelMeasure=Je;var Ze=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPowerMeasure=Ze;var $e=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureLevelMeasure=$e;var et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSoundPressureMeasure=et;var tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecificHeatCapacityMeasure=tt;var nt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularExponent=nt;var rt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcSpecularRoughness=rt;var it=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureGradientMeasure=it;var at=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTemperatureRateOfChangeMeasure=at;var st=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcText=st;var ot=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextAlignment=ot;var lt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextDecoration=lt;var ut=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextFontName=ut;var ct=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTextTransformation=ct;var ft=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalAdmittanceMeasure=ft;var pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalConductivityMeasure=pt;var At=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalExpansionCoefficientMeasure=At;var dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalResistanceMeasure=dt;var vt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermalTransmittanceMeasure=vt;var ht=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcThermodynamicTemperatureMeasure=ht;var It=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcTime=It;var yt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeMeasure=yt;var mt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTimeStamp=mt;var wt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcTorqueMeasure=wt;var gt=P((function e(t){b(this,e),this.value=t,this.type=1}));e.IfcURIReference=gt;var Et=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVaporPermeabilityMeasure=Et;var Tt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumeMeasure=Tt;var bt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcVolumetricFlowRateMeasure=bt;var Dt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingConstantMeasure=Dt;var Pt=P((function e(t){b(this,e),this.type=4,this.value=parseFloat(t)}));e.IfcWarpingMomentMeasure=Pt;var Rt=P((function e(){b(this,e)}));Rt.EMAIL={type:3,value:"EMAIL"},Rt.FAX={type:3,value:"FAX"},Rt.PHONE={type:3,value:"PHONE"},Rt.POST={type:3,value:"POST"},Rt.VERBAL={type:3,value:"VERBAL"},Rt.USERDEFINED={type:3,value:"USERDEFINED"},Rt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionRequestTypeEnum=Rt;var Ct=P((function e(){b(this,e)}));Ct.BRAKES={type:3,value:"BRAKES"},Ct.BUOYANCY={type:3,value:"BUOYANCY"},Ct.COMPLETION_G1={type:3,value:"COMPLETION_G1"},Ct.CREEP={type:3,value:"CREEP"},Ct.CURRENT={type:3,value:"CURRENT"},Ct.DEAD_LOAD_G={type:3,value:"DEAD_LOAD_G"},Ct.EARTHQUAKE_E={type:3,value:"EARTHQUAKE_E"},Ct.ERECTION={type:3,value:"ERECTION"},Ct.FIRE={type:3,value:"FIRE"},Ct.ICE={type:3,value:"ICE"},Ct.IMPACT={type:3,value:"IMPACT"},Ct.IMPULSE={type:3,value:"IMPULSE"},Ct.LACK_OF_FIT={type:3,value:"LACK_OF_FIT"},Ct.LIVE_LOAD_Q={type:3,value:"LIVE_LOAD_Q"},Ct.PRESTRESSING_P={type:3,value:"PRESTRESSING_P"},Ct.PROPPING={type:3,value:"PROPPING"},Ct.RAIN={type:3,value:"RAIN"},Ct.SETTLEMENT_U={type:3,value:"SETTLEMENT_U"},Ct.SHRINKAGE={type:3,value:"SHRINKAGE"},Ct.SNOW_S={type:3,value:"SNOW_S"},Ct.SYSTEM_IMPERFECTION={type:3,value:"SYSTEM_IMPERFECTION"},Ct.TEMPERATURE_T={type:3,value:"TEMPERATURE_T"},Ct.TRANSPORT={type:3,value:"TRANSPORT"},Ct.WAVE={type:3,value:"WAVE"},Ct.WIND_W={type:3,value:"WIND_W"},Ct.USERDEFINED={type:3,value:"USERDEFINED"},Ct.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionSourceTypeEnum=Ct;var _t=P((function e(){b(this,e)}));_t.EXTRAORDINARY_A={type:3,value:"EXTRAORDINARY_A"},_t.PERMANENT_G={type:3,value:"PERMANENT_G"},_t.VARIABLE_Q={type:3,value:"VARIABLE_Q"},_t.USERDEFINED={type:3,value:"USERDEFINED"},_t.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActionTypeEnum=_t;var Bt=P((function e(){b(this,e)}));Bt.ELECTRICACTUATOR={type:3,value:"ELECTRICACTUATOR"},Bt.HANDOPERATEDACTUATOR={type:3,value:"HANDOPERATEDACTUATOR"},Bt.HYDRAULICACTUATOR={type:3,value:"HYDRAULICACTUATOR"},Bt.PNEUMATICACTUATOR={type:3,value:"PNEUMATICACTUATOR"},Bt.THERMOSTATICACTUATOR={type:3,value:"THERMOSTATICACTUATOR"},Bt.USERDEFINED={type:3,value:"USERDEFINED"},Bt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcActuatorTypeEnum=Bt;var Ot=P((function e(){b(this,e)}));Ot.DISTRIBUTIONPOINT={type:3,value:"DISTRIBUTIONPOINT"},Ot.HOME={type:3,value:"HOME"},Ot.OFFICE={type:3,value:"OFFICE"},Ot.SITE={type:3,value:"SITE"},Ot.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcAddressTypeEnum=Ot;var St=P((function e(){b(this,e)}));St.CONSTANTFLOW={type:3,value:"CONSTANTFLOW"},St.VARIABLEFLOWPRESSUREDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREDEPENDANT"},St.VARIABLEFLOWPRESSUREINDEPENDANT={type:3,value:"VARIABLEFLOWPRESSUREINDEPENDANT"},St.USERDEFINED={type:3,value:"USERDEFINED"},St.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalBoxTypeEnum=St;var Nt=P((function e(){b(this,e)}));Nt.DIFFUSER={type:3,value:"DIFFUSER"},Nt.GRILLE={type:3,value:"GRILLE"},Nt.LOUVRE={type:3,value:"LOUVRE"},Nt.REGISTER={type:3,value:"REGISTER"},Nt.USERDEFINED={type:3,value:"USERDEFINED"},Nt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirTerminalTypeEnum=Nt;var Lt=P((function e(){b(this,e)}));Lt.FIXEDPLATECOUNTERFLOWEXCHANGER={type:3,value:"FIXEDPLATECOUNTERFLOWEXCHANGER"},Lt.FIXEDPLATECROSSFLOWEXCHANGER={type:3,value:"FIXEDPLATECROSSFLOWEXCHANGER"},Lt.FIXEDPLATEPARALLELFLOWEXCHANGER={type:3,value:"FIXEDPLATEPARALLELFLOWEXCHANGER"},Lt.HEATPIPE={type:3,value:"HEATPIPE"},Lt.ROTARYWHEEL={type:3,value:"ROTARYWHEEL"},Lt.RUNAROUNDCOILLOOP={type:3,value:"RUNAROUNDCOILLOOP"},Lt.THERMOSIPHONCOILTYPEHEATEXCHANGERS={type:3,value:"THERMOSIPHONCOILTYPEHEATEXCHANGERS"},Lt.THERMOSIPHONSEALEDTUBEHEATEXCHANGERS={type:3,value:"THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"},Lt.TWINTOWERENTHALPYRECOVERYLOOPS={type:3,value:"TWINTOWERENTHALPYRECOVERYLOOPS"},Lt.USERDEFINED={type:3,value:"USERDEFINED"},Lt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAirToAirHeatRecoveryTypeEnum=Lt;var Mt=P((function e(){b(this,e)}));Mt.BELL={type:3,value:"BELL"},Mt.BREAKGLASSBUTTON={type:3,value:"BREAKGLASSBUTTON"},Mt.LIGHT={type:3,value:"LIGHT"},Mt.MANUALPULLBOX={type:3,value:"MANUALPULLBOX"},Mt.RAILWAYCROCODILE={type:3,value:"RAILWAYCROCODILE"},Mt.RAILWAYDETONATOR={type:3,value:"RAILWAYDETONATOR"},Mt.SIREN={type:3,value:"SIREN"},Mt.WHISTLE={type:3,value:"WHISTLE"},Mt.USERDEFINED={type:3,value:"USERDEFINED"},Mt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlarmTypeEnum=Mt;var xt=P((function e(){b(this,e)}));xt.BLOSSCURVE={type:3,value:"BLOSSCURVE"},xt.CONSTANTCANT={type:3,value:"CONSTANTCANT"},xt.COSINECURVE={type:3,value:"COSINECURVE"},xt.HELMERTCURVE={type:3,value:"HELMERTCURVE"},xt.LINEARTRANSITION={type:3,value:"LINEARTRANSITION"},xt.SINECURVE={type:3,value:"SINECURVE"},xt.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentCantSegmentTypeEnum=xt;var Ft=P((function e(){b(this,e)}));Ft.BLOSSCURVE={type:3,value:"BLOSSCURVE"},Ft.CIRCULARARC={type:3,value:"CIRCULARARC"},Ft.CLOTHOID={type:3,value:"CLOTHOID"},Ft.COSINECURVE={type:3,value:"COSINECURVE"},Ft.CUBIC={type:3,value:"CUBIC"},Ft.HELMERTCURVE={type:3,value:"HELMERTCURVE"},Ft.LINE={type:3,value:"LINE"},Ft.SINECURVE={type:3,value:"SINECURVE"},Ft.VIENNESEBEND={type:3,value:"VIENNESEBEND"},e.IfcAlignmentHorizontalSegmentTypeEnum=Ft;var Ht=P((function e(){b(this,e)}));Ht.USERDEFINED={type:3,value:"USERDEFINED"},Ht.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAlignmentTypeEnum=Ht;var Ut=P((function e(){b(this,e)}));Ut.CIRCULARARC={type:3,value:"CIRCULARARC"},Ut.CLOTHOID={type:3,value:"CLOTHOID"},Ut.CONSTANTGRADIENT={type:3,value:"CONSTANTGRADIENT"},Ut.PARABOLICARC={type:3,value:"PARABOLICARC"},e.IfcAlignmentVerticalSegmentTypeEnum=Ut;var Gt=P((function e(){b(this,e)}));Gt.IN_PLANE_LOADING_2D={type:3,value:"IN_PLANE_LOADING_2D"},Gt.LOADING_3D={type:3,value:"LOADING_3D"},Gt.OUT_PLANE_LOADING_2D={type:3,value:"OUT_PLANE_LOADING_2D"},Gt.USERDEFINED={type:3,value:"USERDEFINED"},Gt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisModelTypeEnum=Gt;var kt=P((function e(){b(this,e)}));kt.FIRST_ORDER_THEORY={type:3,value:"FIRST_ORDER_THEORY"},kt.FULL_NONLINEAR_THEORY={type:3,value:"FULL_NONLINEAR_THEORY"},kt.SECOND_ORDER_THEORY={type:3,value:"SECOND_ORDER_THEORY"},kt.THIRD_ORDER_THEORY={type:3,value:"THIRD_ORDER_THEORY"},kt.USERDEFINED={type:3,value:"USERDEFINED"},kt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnalysisTheoryTypeEnum=kt;var jt=P((function e(){b(this,e)}));jt.ASBUILTAREA={type:3,value:"ASBUILTAREA"},jt.ASBUILTLINE={type:3,value:"ASBUILTLINE"},jt.ASBUILTPOINT={type:3,value:"ASBUILTPOINT"},jt.ASSUMEDAREA={type:3,value:"ASSUMEDAREA"},jt.ASSUMEDLINE={type:3,value:"ASSUMEDLINE"},jt.ASSUMEDPOINT={type:3,value:"ASSUMEDPOINT"},jt.NON_PHYSICAL_SIGNAL={type:3,value:"NON_PHYSICAL_SIGNAL"},jt.SUPERELEVATIONEVENT={type:3,value:"SUPERELEVATIONEVENT"},jt.WIDTHEVENT={type:3,value:"WIDTHEVENT"},jt.USERDEFINED={type:3,value:"USERDEFINED"},jt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAnnotationTypeEnum=jt;var Vt=P((function e(){b(this,e)}));Vt.ADD={type:3,value:"ADD"},Vt.DIVIDE={type:3,value:"DIVIDE"},Vt.MULTIPLY={type:3,value:"MULTIPLY"},Vt.SUBTRACT={type:3,value:"SUBTRACT"},e.IfcArithmeticOperatorEnum=Vt;var Qt=P((function e(){b(this,e)}));Qt.FACTORY={type:3,value:"FACTORY"},Qt.SITE={type:3,value:"SITE"},Qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAssemblyPlaceEnum=Qt;var Wt=P((function e(){b(this,e)}));Wt.AMPLIFIER={type:3,value:"AMPLIFIER"},Wt.CAMERA={type:3,value:"CAMERA"},Wt.COMMUNICATIONTERMINAL={type:3,value:"COMMUNICATIONTERMINAL"},Wt.DISPLAY={type:3,value:"DISPLAY"},Wt.MICROPHONE={type:3,value:"MICROPHONE"},Wt.PLAYER={type:3,value:"PLAYER"},Wt.PROJECTOR={type:3,value:"PROJECTOR"},Wt.RECEIVER={type:3,value:"RECEIVER"},Wt.RECORDINGEQUIPMENT={type:3,value:"RECORDINGEQUIPMENT"},Wt.SPEAKER={type:3,value:"SPEAKER"},Wt.SWITCHER={type:3,value:"SWITCHER"},Wt.TELEPHONE={type:3,value:"TELEPHONE"},Wt.TUNER={type:3,value:"TUNER"},Wt.USERDEFINED={type:3,value:"USERDEFINED"},Wt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcAudioVisualApplianceTypeEnum=Wt;var zt=P((function e(){b(this,e)}));zt.CIRCULAR_ARC={type:3,value:"CIRCULAR_ARC"},zt.ELLIPTIC_ARC={type:3,value:"ELLIPTIC_ARC"},zt.HYPERBOLIC_ARC={type:3,value:"HYPERBOLIC_ARC"},zt.PARABOLIC_ARC={type:3,value:"PARABOLIC_ARC"},zt.POLYLINE_FORM={type:3,value:"POLYLINE_FORM"},zt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineCurveForm=zt;var Kt=P((function e(){b(this,e)}));Kt.CONICAL_SURF={type:3,value:"CONICAL_SURF"},Kt.CYLINDRICAL_SURF={type:3,value:"CYLINDRICAL_SURF"},Kt.GENERALISED_CONE={type:3,value:"GENERALISED_CONE"},Kt.PLANE_SURF={type:3,value:"PLANE_SURF"},Kt.QUADRIC_SURF={type:3,value:"QUADRIC_SURF"},Kt.RULED_SURF={type:3,value:"RULED_SURF"},Kt.SPHERICAL_SURF={type:3,value:"SPHERICAL_SURF"},Kt.SURF_OF_LINEAR_EXTRUSION={type:3,value:"SURF_OF_LINEAR_EXTRUSION"},Kt.SURF_OF_REVOLUTION={type:3,value:"SURF_OF_REVOLUTION"},Kt.TOROIDAL_SURF={type:3,value:"TOROIDAL_SURF"},Kt.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcBSplineSurfaceForm=Kt;var Yt=P((function e(){b(this,e)}));Yt.BEAM={type:3,value:"BEAM"},Yt.CORNICE={type:3,value:"CORNICE"},Yt.DIAPHRAGM={type:3,value:"DIAPHRAGM"},Yt.EDGEBEAM={type:3,value:"EDGEBEAM"},Yt.GIRDER_SEGMENT={type:3,value:"GIRDER_SEGMENT"},Yt.HATSTONE={type:3,value:"HATSTONE"},Yt.HOLLOWCORE={type:3,value:"HOLLOWCORE"},Yt.JOIST={type:3,value:"JOIST"},Yt.LINTEL={type:3,value:"LINTEL"},Yt.PIERCAP={type:3,value:"PIERCAP"},Yt.SPANDREL={type:3,value:"SPANDREL"},Yt.T_BEAM={type:3,value:"T_BEAM"},Yt.USERDEFINED={type:3,value:"USERDEFINED"},Yt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBeamTypeEnum=Yt;var Xt=P((function e(){b(this,e)}));Xt.FIXED_MOVEMENT={type:3,value:"FIXED_MOVEMENT"},Xt.FREE_MOVEMENT={type:3,value:"FREE_MOVEMENT"},Xt.GUIDED_LONGITUDINAL={type:3,value:"GUIDED_LONGITUDINAL"},Xt.GUIDED_TRANSVERSAL={type:3,value:"GUIDED_TRANSVERSAL"},Xt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeDisplacementEnum=Xt;var qt=P((function e(){b(this,e)}));qt.CYLINDRICAL={type:3,value:"CYLINDRICAL"},qt.DISK={type:3,value:"DISK"},qt.ELASTOMERIC={type:3,value:"ELASTOMERIC"},qt.GUIDE={type:3,value:"GUIDE"},qt.POT={type:3,value:"POT"},qt.ROCKER={type:3,value:"ROCKER"},qt.ROLLER={type:3,value:"ROLLER"},qt.SPHERICAL={type:3,value:"SPHERICAL"},qt.USERDEFINED={type:3,value:"USERDEFINED"},qt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBearingTypeEnum=qt;var Jt=P((function e(){b(this,e)}));Jt.EQUALTO={type:3,value:"EQUALTO"},Jt.GREATERTHAN={type:3,value:"GREATERTHAN"},Jt.GREATERTHANOREQUALTO={type:3,value:"GREATERTHANOREQUALTO"},Jt.INCLUDEDIN={type:3,value:"INCLUDEDIN"},Jt.INCLUDES={type:3,value:"INCLUDES"},Jt.LESSTHAN={type:3,value:"LESSTHAN"},Jt.LESSTHANOREQUALTO={type:3,value:"LESSTHANOREQUALTO"},Jt.NOTEQUALTO={type:3,value:"NOTEQUALTO"},Jt.NOTINCLUDEDIN={type:3,value:"NOTINCLUDEDIN"},Jt.NOTINCLUDES={type:3,value:"NOTINCLUDES"},e.IfcBenchmarkEnum=Jt;var Zt=P((function e(){b(this,e)}));Zt.STEAM={type:3,value:"STEAM"},Zt.WATER={type:3,value:"WATER"},Zt.USERDEFINED={type:3,value:"USERDEFINED"},Zt.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBoilerTypeEnum=Zt;var $t=P((function e(){b(this,e)}));$t.DIFFERENCE={type:3,value:"DIFFERENCE"},$t.INTERSECTION={type:3,value:"INTERSECTION"},$t.UNION={type:3,value:"UNION"},e.IfcBooleanOperator=$t;var en=P((function e(){b(this,e)}));en.ABUTMENT={type:3,value:"ABUTMENT"},en.DECK={type:3,value:"DECK"},en.DECK_SEGMENT={type:3,value:"DECK_SEGMENT"},en.FOUNDATION={type:3,value:"FOUNDATION"},en.PIER={type:3,value:"PIER"},en.PIER_SEGMENT={type:3,value:"PIER_SEGMENT"},en.PYLON={type:3,value:"PYLON"},en.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},en.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},en.SURFACESTRUCTURE={type:3,value:"SURFACESTRUCTURE"},en.USERDEFINED={type:3,value:"USERDEFINED"},en.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgePartTypeEnum=en;var tn=P((function e(){b(this,e)}));tn.ARCHED={type:3,value:"ARCHED"},tn.CABLE_STAYED={type:3,value:"CABLE_STAYED"},tn.CANTILEVER={type:3,value:"CANTILEVER"},tn.CULVERT={type:3,value:"CULVERT"},tn.FRAMEWORK={type:3,value:"FRAMEWORK"},tn.GIRDER={type:3,value:"GIRDER"},tn.SUSPENSION={type:3,value:"SUSPENSION"},tn.TRUSS={type:3,value:"TRUSS"},tn.USERDEFINED={type:3,value:"USERDEFINED"},tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBridgeTypeEnum=tn;var nn=P((function e(){b(this,e)}));nn.APRON={type:3,value:"APRON"},nn.ARMOURUNIT={type:3,value:"ARMOURUNIT"},nn.INSULATION={type:3,value:"INSULATION"},nn.PRECASTPANEL={type:3,value:"PRECASTPANEL"},nn.SAFETYCAGE={type:3,value:"SAFETYCAGE"},nn.USERDEFINED={type:3,value:"USERDEFINED"},nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementPartTypeEnum=nn;var rn=P((function e(){b(this,e)}));rn.COMPLEX={type:3,value:"COMPLEX"},rn.ELEMENT={type:3,value:"ELEMENT"},rn.PARTIAL={type:3,value:"PARTIAL"},rn.USERDEFINED={type:3,value:"USERDEFINED"},rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingElementProxyTypeEnum=rn;var an=P((function e(){b(this,e)}));an.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},an.FENESTRATION={type:3,value:"FENESTRATION"},an.FOUNDATION={type:3,value:"FOUNDATION"},an.LOADBEARING={type:3,value:"LOADBEARING"},an.OUTERSHELL={type:3,value:"OUTERSHELL"},an.PRESTRESSING={type:3,value:"PRESTRESSING"},an.REINFORCING={type:3,value:"REINFORCING"},an.SHADING={type:3,value:"SHADING"},an.TRANSPORT={type:3,value:"TRANSPORT"},an.USERDEFINED={type:3,value:"USERDEFINED"},an.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuildingSystemTypeEnum=an;var sn=P((function e(){b(this,e)}));sn.EROSIONPREVENTION={type:3,value:"EROSIONPREVENTION"},sn.FENESTRATION={type:3,value:"FENESTRATION"},sn.FOUNDATION={type:3,value:"FOUNDATION"},sn.LOADBEARING={type:3,value:"LOADBEARING"},sn.MOORING={type:3,value:"MOORING"},sn.OUTERSHELL={type:3,value:"OUTERSHELL"},sn.PRESTRESSING={type:3,value:"PRESTRESSING"},sn.RAILWAYLINE={type:3,value:"RAILWAYLINE"},sn.RAILWAYTRACK={type:3,value:"RAILWAYTRACK"},sn.REINFORCING={type:3,value:"REINFORCING"},sn.SHADING={type:3,value:"SHADING"},sn.TRACKCIRCUIT={type:3,value:"TRACKCIRCUIT"},sn.TRANSPORT={type:3,value:"TRANSPORT"},sn.USERDEFINED={type:3,value:"USERDEFINED"},sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBuiltSystemTypeEnum=sn;var on=P((function e(){b(this,e)}));on.USERDEFINED={type:3,value:"USERDEFINED"},on.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcBurnerTypeEnum=on;var ln=P((function e(){b(this,e)}));ln.BEND={type:3,value:"BEND"},ln.CONNECTOR={type:3,value:"CONNECTOR"},ln.CROSS={type:3,value:"CROSS"},ln.JUNCTION={type:3,value:"JUNCTION"},ln.TEE={type:3,value:"TEE"},ln.TRANSITION={type:3,value:"TRANSITION"},ln.USERDEFINED={type:3,value:"USERDEFINED"},ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierFittingTypeEnum=ln;var un=P((function e(){b(this,e)}));un.CABLEBRACKET={type:3,value:"CABLEBRACKET"},un.CABLELADDERSEGMENT={type:3,value:"CABLELADDERSEGMENT"},un.CABLETRAYSEGMENT={type:3,value:"CABLETRAYSEGMENT"},un.CABLETRUNKINGSEGMENT={type:3,value:"CABLETRUNKINGSEGMENT"},un.CATENARYWIRE={type:3,value:"CATENARYWIRE"},un.CONDUITSEGMENT={type:3,value:"CONDUITSEGMENT"},un.DROPPER={type:3,value:"DROPPER"},un.USERDEFINED={type:3,value:"USERDEFINED"},un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableCarrierSegmentTypeEnum=un;var cn=P((function e(){b(this,e)}));cn.CONNECTOR={type:3,value:"CONNECTOR"},cn.ENTRY={type:3,value:"ENTRY"},cn.EXIT={type:3,value:"EXIT"},cn.FANOUT={type:3,value:"FANOUT"},cn.JUNCTION={type:3,value:"JUNCTION"},cn.TRANSITION={type:3,value:"TRANSITION"},cn.USERDEFINED={type:3,value:"USERDEFINED"},cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableFittingTypeEnum=cn;var fn=P((function e(){b(this,e)}));fn.BUSBARSEGMENT={type:3,value:"BUSBARSEGMENT"},fn.CABLESEGMENT={type:3,value:"CABLESEGMENT"},fn.CONDUCTORSEGMENT={type:3,value:"CONDUCTORSEGMENT"},fn.CONTACTWIRESEGMENT={type:3,value:"CONTACTWIRESEGMENT"},fn.CORESEGMENT={type:3,value:"CORESEGMENT"},fn.FIBERSEGMENT={type:3,value:"FIBERSEGMENT"},fn.FIBERTUBE={type:3,value:"FIBERTUBE"},fn.OPTICALCABLESEGMENT={type:3,value:"OPTICALCABLESEGMENT"},fn.STITCHWIRE={type:3,value:"STITCHWIRE"},fn.WIREPAIRSEGMENT={type:3,value:"WIREPAIRSEGMENT"},fn.USERDEFINED={type:3,value:"USERDEFINED"},fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCableSegmentTypeEnum=fn;var pn=P((function e(){b(this,e)}));pn.CAISSON={type:3,value:"CAISSON"},pn.WELL={type:3,value:"WELL"},pn.USERDEFINED={type:3,value:"USERDEFINED"},pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCaissonFoundationTypeEnum=pn;var An=P((function e(){b(this,e)}));An.ADDED={type:3,value:"ADDED"},An.DELETED={type:3,value:"DELETED"},An.MODIFIED={type:3,value:"MODIFIED"},An.NOCHANGE={type:3,value:"NOCHANGE"},An.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChangeActionEnum=An;var dn=P((function e(){b(this,e)}));dn.AIRCOOLED={type:3,value:"AIRCOOLED"},dn.HEATRECOVERY={type:3,value:"HEATRECOVERY"},dn.WATERCOOLED={type:3,value:"WATERCOOLED"},dn.USERDEFINED={type:3,value:"USERDEFINED"},dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChillerTypeEnum=dn;var vn=P((function e(){b(this,e)}));vn.USERDEFINED={type:3,value:"USERDEFINED"},vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcChimneyTypeEnum=vn;var hn=P((function e(){b(this,e)}));hn.DXCOOLINGCOIL={type:3,value:"DXCOOLINGCOIL"},hn.ELECTRICHEATINGCOIL={type:3,value:"ELECTRICHEATINGCOIL"},hn.GASHEATINGCOIL={type:3,value:"GASHEATINGCOIL"},hn.HYDRONICCOIL={type:3,value:"HYDRONICCOIL"},hn.STEAMHEATINGCOIL={type:3,value:"STEAMHEATINGCOIL"},hn.WATERCOOLINGCOIL={type:3,value:"WATERCOOLINGCOIL"},hn.WATERHEATINGCOIL={type:3,value:"WATERHEATINGCOIL"},hn.USERDEFINED={type:3,value:"USERDEFINED"},hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoilTypeEnum=hn;var In=P((function e(){b(this,e)}));In.COLUMN={type:3,value:"COLUMN"},In.PIERSTEM={type:3,value:"PIERSTEM"},In.PIERSTEM_SEGMENT={type:3,value:"PIERSTEM_SEGMENT"},In.PILASTER={type:3,value:"PILASTER"},In.STANDCOLUMN={type:3,value:"STANDCOLUMN"},In.USERDEFINED={type:3,value:"USERDEFINED"},In.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcColumnTypeEnum=In;var yn=P((function e(){b(this,e)}));yn.ANTENNA={type:3,value:"ANTENNA"},yn.AUTOMATON={type:3,value:"AUTOMATON"},yn.COMPUTER={type:3,value:"COMPUTER"},yn.FAX={type:3,value:"FAX"},yn.GATEWAY={type:3,value:"GATEWAY"},yn.INTELLIGENTPERIPHERAL={type:3,value:"INTELLIGENTPERIPHERAL"},yn.IPNETWORKEQUIPMENT={type:3,value:"IPNETWORKEQUIPMENT"},yn.LINESIDEELECTRONICUNIT={type:3,value:"LINESIDEELECTRONICUNIT"},yn.MODEM={type:3,value:"MODEM"},yn.NETWORKAPPLIANCE={type:3,value:"NETWORKAPPLIANCE"},yn.NETWORKBRIDGE={type:3,value:"NETWORKBRIDGE"},yn.NETWORKHUB={type:3,value:"NETWORKHUB"},yn.OPTICALLINETERMINAL={type:3,value:"OPTICALLINETERMINAL"},yn.OPTICALNETWORKUNIT={type:3,value:"OPTICALNETWORKUNIT"},yn.PRINTER={type:3,value:"PRINTER"},yn.RADIOBLOCKCENTER={type:3,value:"RADIOBLOCKCENTER"},yn.REPEATER={type:3,value:"REPEATER"},yn.ROUTER={type:3,value:"ROUTER"},yn.SCANNER={type:3,value:"SCANNER"},yn.TELECOMMAND={type:3,value:"TELECOMMAND"},yn.TELEPHONYEXCHANGE={type:3,value:"TELEPHONYEXCHANGE"},yn.TRANSITIONCOMPONENT={type:3,value:"TRANSITIONCOMPONENT"},yn.TRANSPONDER={type:3,value:"TRANSPONDER"},yn.TRANSPORTEQUIPMENT={type:3,value:"TRANSPORTEQUIPMENT"},yn.USERDEFINED={type:3,value:"USERDEFINED"},yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCommunicationsApplianceTypeEnum=yn;var mn=P((function e(){b(this,e)}));mn.P_COMPLEX={type:3,value:"P_COMPLEX"},mn.Q_COMPLEX={type:3,value:"Q_COMPLEX"},e.IfcComplexPropertyTemplateTypeEnum=mn;var wn=P((function e(){b(this,e)}));wn.BOOSTER={type:3,value:"BOOSTER"},wn.DYNAMIC={type:3,value:"DYNAMIC"},wn.HERMETIC={type:3,value:"HERMETIC"},wn.OPENTYPE={type:3,value:"OPENTYPE"},wn.RECIPROCATING={type:3,value:"RECIPROCATING"},wn.ROLLINGPISTON={type:3,value:"ROLLINGPISTON"},wn.ROTARY={type:3,value:"ROTARY"},wn.ROTARYVANE={type:3,value:"ROTARYVANE"},wn.SCROLL={type:3,value:"SCROLL"},wn.SEMIHERMETIC={type:3,value:"SEMIHERMETIC"},wn.SINGLESCREW={type:3,value:"SINGLESCREW"},wn.SINGLESTAGE={type:3,value:"SINGLESTAGE"},wn.TROCHOIDAL={type:3,value:"TROCHOIDAL"},wn.TWINSCREW={type:3,value:"TWINSCREW"},wn.WELDEDSHELLHERMETIC={type:3,value:"WELDEDSHELLHERMETIC"},wn.USERDEFINED={type:3,value:"USERDEFINED"},wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCompressorTypeEnum=wn;var gn=P((function e(){b(this,e)}));gn.AIRCOOLED={type:3,value:"AIRCOOLED"},gn.EVAPORATIVECOOLED={type:3,value:"EVAPORATIVECOOLED"},gn.WATERCOOLED={type:3,value:"WATERCOOLED"},gn.WATERCOOLEDBRAZEDPLATE={type:3,value:"WATERCOOLEDBRAZEDPLATE"},gn.WATERCOOLEDSHELLCOIL={type:3,value:"WATERCOOLEDSHELLCOIL"},gn.WATERCOOLEDSHELLTUBE={type:3,value:"WATERCOOLEDSHELLTUBE"},gn.WATERCOOLEDTUBEINTUBE={type:3,value:"WATERCOOLEDTUBEINTUBE"},gn.USERDEFINED={type:3,value:"USERDEFINED"},gn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCondenserTypeEnum=gn;var En=P((function e(){b(this,e)}));En.ATEND={type:3,value:"ATEND"},En.ATPATH={type:3,value:"ATPATH"},En.ATSTART={type:3,value:"ATSTART"},En.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConnectionTypeEnum=En;var Tn=P((function e(){b(this,e)}));Tn.ADVISORY={type:3,value:"ADVISORY"},Tn.HARD={type:3,value:"HARD"},Tn.SOFT={type:3,value:"SOFT"},Tn.USERDEFINED={type:3,value:"USERDEFINED"},Tn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstraintEnum=Tn;var bn=P((function e(){b(this,e)}));bn.DEMOLISHING={type:3,value:"DEMOLISHING"},bn.EARTHMOVING={type:3,value:"EARTHMOVING"},bn.ERECTING={type:3,value:"ERECTING"},bn.HEATING={type:3,value:"HEATING"},bn.LIGHTING={type:3,value:"LIGHTING"},bn.PAVING={type:3,value:"PAVING"},bn.PUMPING={type:3,value:"PUMPING"},bn.TRANSPORTING={type:3,value:"TRANSPORTING"},bn.USERDEFINED={type:3,value:"USERDEFINED"},bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionEquipmentResourceTypeEnum=bn;var Dn=P((function e(){b(this,e)}));Dn.AGGREGATES={type:3,value:"AGGREGATES"},Dn.CONCRETE={type:3,value:"CONCRETE"},Dn.DRYWALL={type:3,value:"DRYWALL"},Dn.FUEL={type:3,value:"FUEL"},Dn.GYPSUM={type:3,value:"GYPSUM"},Dn.MASONRY={type:3,value:"MASONRY"},Dn.METAL={type:3,value:"METAL"},Dn.PLASTIC={type:3,value:"PLASTIC"},Dn.WOOD={type:3,value:"WOOD"},Dn.USERDEFINED={type:3,value:"USERDEFINED"},Dn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionMaterialResourceTypeEnum=Dn;var Pn=P((function e(){b(this,e)}));Pn.ASSEMBLY={type:3,value:"ASSEMBLY"},Pn.FORMWORK={type:3,value:"FORMWORK"},Pn.USERDEFINED={type:3,value:"USERDEFINED"},Pn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConstructionProductResourceTypeEnum=Pn;var Rn=P((function e(){b(this,e)}));Rn.FLOATING={type:3,value:"FLOATING"},Rn.MULTIPOSITION={type:3,value:"MULTIPOSITION"},Rn.PROGRAMMABLE={type:3,value:"PROGRAMMABLE"},Rn.PROPORTIONAL={type:3,value:"PROPORTIONAL"},Rn.TWOPOSITION={type:3,value:"TWOPOSITION"},Rn.USERDEFINED={type:3,value:"USERDEFINED"},Rn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcControllerTypeEnum=Rn;var Cn=P((function e(){b(this,e)}));Cn.BELTCONVEYOR={type:3,value:"BELTCONVEYOR"},Cn.BUCKETCONVEYOR={type:3,value:"BUCKETCONVEYOR"},Cn.CHUTECONVEYOR={type:3,value:"CHUTECONVEYOR"},Cn.SCREWCONVEYOR={type:3,value:"SCREWCONVEYOR"},Cn.USERDEFINED={type:3,value:"USERDEFINED"},Cn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcConveyorSegmentTypeEnum=Cn;var _n=P((function e(){b(this,e)}));_n.ACTIVE={type:3,value:"ACTIVE"},_n.PASSIVE={type:3,value:"PASSIVE"},_n.USERDEFINED={type:3,value:"USERDEFINED"},_n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCooledBeamTypeEnum=_n;var Bn=P((function e(){b(this,e)}));Bn.MECHANICALFORCEDDRAFT={type:3,value:"MECHANICALFORCEDDRAFT"},Bn.MECHANICALINDUCEDDRAFT={type:3,value:"MECHANICALINDUCEDDRAFT"},Bn.NATURALDRAFT={type:3,value:"NATURALDRAFT"},Bn.USERDEFINED={type:3,value:"USERDEFINED"},Bn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoolingTowerTypeEnum=Bn;var On=P((function e(){b(this,e)}));On.USERDEFINED={type:3,value:"USERDEFINED"},On.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostItemTypeEnum=On;var Sn=P((function e(){b(this,e)}));Sn.BUDGET={type:3,value:"BUDGET"},Sn.COSTPLAN={type:3,value:"COSTPLAN"},Sn.ESTIMATE={type:3,value:"ESTIMATE"},Sn.PRICEDBILLOFQUANTITIES={type:3,value:"PRICEDBILLOFQUANTITIES"},Sn.SCHEDULEOFRATES={type:3,value:"SCHEDULEOFRATES"},Sn.TENDER={type:3,value:"TENDER"},Sn.UNPRICEDBILLOFQUANTITIES={type:3,value:"UNPRICEDBILLOFQUANTITIES"},Sn.USERDEFINED={type:3,value:"USERDEFINED"},Sn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCostScheduleTypeEnum=Sn;var Nn=P((function e(){b(this,e)}));Nn.ARMOUR={type:3,value:"ARMOUR"},Nn.BALLASTBED={type:3,value:"BALLASTBED"},Nn.CORE={type:3,value:"CORE"},Nn.FILTER={type:3,value:"FILTER"},Nn.PAVEMENT={type:3,value:"PAVEMENT"},Nn.PROTECTION={type:3,value:"PROTECTION"},Nn.USERDEFINED={type:3,value:"USERDEFINED"},Nn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCourseTypeEnum=Nn;var Ln=P((function e(){b(this,e)}));Ln.CEILING={type:3,value:"CEILING"},Ln.CLADDING={type:3,value:"CLADDING"},Ln.COPING={type:3,value:"COPING"},Ln.FLOORING={type:3,value:"FLOORING"},Ln.INSULATION={type:3,value:"INSULATION"},Ln.MEMBRANE={type:3,value:"MEMBRANE"},Ln.MOLDING={type:3,value:"MOLDING"},Ln.ROOFING={type:3,value:"ROOFING"},Ln.SKIRTINGBOARD={type:3,value:"SKIRTINGBOARD"},Ln.SLEEVING={type:3,value:"SLEEVING"},Ln.TOPPING={type:3,value:"TOPPING"},Ln.WRAPPING={type:3,value:"WRAPPING"},Ln.USERDEFINED={type:3,value:"USERDEFINED"},Ln.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCoveringTypeEnum=Ln;var Mn=P((function e(){b(this,e)}));Mn.OFFICE={type:3,value:"OFFICE"},Mn.SITE={type:3,value:"SITE"},Mn.USERDEFINED={type:3,value:"USERDEFINED"},Mn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCrewResourceTypeEnum=Mn;var xn=P((function e(){b(this,e)}));xn.USERDEFINED={type:3,value:"USERDEFINED"},xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurtainWallTypeEnum=xn;var Fn=P((function e(){b(this,e)}));Fn.LINEAR={type:3,value:"LINEAR"},Fn.LOG_LINEAR={type:3,value:"LOG_LINEAR"},Fn.LOG_LOG={type:3,value:"LOG_LOG"},Fn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcCurveInterpolationEnum=Fn;var Hn=P((function e(){b(this,e)}));Hn.BACKDRAFTDAMPER={type:3,value:"BACKDRAFTDAMPER"},Hn.BALANCINGDAMPER={type:3,value:"BALANCINGDAMPER"},Hn.BLASTDAMPER={type:3,value:"BLASTDAMPER"},Hn.CONTROLDAMPER={type:3,value:"CONTROLDAMPER"},Hn.FIREDAMPER={type:3,value:"FIREDAMPER"},Hn.FIRESMOKEDAMPER={type:3,value:"FIRESMOKEDAMPER"},Hn.FUMEHOODEXHAUST={type:3,value:"FUMEHOODEXHAUST"},Hn.GRAVITYDAMPER={type:3,value:"GRAVITYDAMPER"},Hn.GRAVITYRELIEFDAMPER={type:3,value:"GRAVITYRELIEFDAMPER"},Hn.RELIEFDAMPER={type:3,value:"RELIEFDAMPER"},Hn.SMOKEDAMPER={type:3,value:"SMOKEDAMPER"},Hn.USERDEFINED={type:3,value:"USERDEFINED"},Hn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDamperTypeEnum=Hn;var Un=P((function e(){b(this,e)}));Un.MEASURED={type:3,value:"MEASURED"},Un.PREDICTED={type:3,value:"PREDICTED"},Un.SIMULATED={type:3,value:"SIMULATED"},Un.USERDEFINED={type:3,value:"USERDEFINED"},Un.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDataOriginEnum=Un;var Gn=P((function e(){b(this,e)}));Gn.ACCELERATIONUNIT={type:3,value:"ACCELERATIONUNIT"},Gn.ANGULARVELOCITYUNIT={type:3,value:"ANGULARVELOCITYUNIT"},Gn.AREADENSITYUNIT={type:3,value:"AREADENSITYUNIT"},Gn.COMPOUNDPLANEANGLEUNIT={type:3,value:"COMPOUNDPLANEANGLEUNIT"},Gn.CURVATUREUNIT={type:3,value:"CURVATUREUNIT"},Gn.DYNAMICVISCOSITYUNIT={type:3,value:"DYNAMICVISCOSITYUNIT"},Gn.HEATFLUXDENSITYUNIT={type:3,value:"HEATFLUXDENSITYUNIT"},Gn.HEATINGVALUEUNIT={type:3,value:"HEATINGVALUEUNIT"},Gn.INTEGERCOUNTRATEUNIT={type:3,value:"INTEGERCOUNTRATEUNIT"},Gn.IONCONCENTRATIONUNIT={type:3,value:"IONCONCENTRATIONUNIT"},Gn.ISOTHERMALMOISTURECAPACITYUNIT={type:3,value:"ISOTHERMALMOISTURECAPACITYUNIT"},Gn.KINEMATICVISCOSITYUNIT={type:3,value:"KINEMATICVISCOSITYUNIT"},Gn.LINEARFORCEUNIT={type:3,value:"LINEARFORCEUNIT"},Gn.LINEARMOMENTUNIT={type:3,value:"LINEARMOMENTUNIT"},Gn.LINEARSTIFFNESSUNIT={type:3,value:"LINEARSTIFFNESSUNIT"},Gn.LINEARVELOCITYUNIT={type:3,value:"LINEARVELOCITYUNIT"},Gn.LUMINOUSINTENSITYDISTRIBUTIONUNIT={type:3,value:"LUMINOUSINTENSITYDISTRIBUTIONUNIT"},Gn.MASSDENSITYUNIT={type:3,value:"MASSDENSITYUNIT"},Gn.MASSFLOWRATEUNIT={type:3,value:"MASSFLOWRATEUNIT"},Gn.MASSPERLENGTHUNIT={type:3,value:"MASSPERLENGTHUNIT"},Gn.MODULUSOFELASTICITYUNIT={type:3,value:"MODULUSOFELASTICITYUNIT"},Gn.MODULUSOFLINEARSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFLINEARSUBGRADEREACTIONUNIT"},Gn.MODULUSOFROTATIONALSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"},Gn.MODULUSOFSUBGRADEREACTIONUNIT={type:3,value:"MODULUSOFSUBGRADEREACTIONUNIT"},Gn.MOISTUREDIFFUSIVITYUNIT={type:3,value:"MOISTUREDIFFUSIVITYUNIT"},Gn.MOLECULARWEIGHTUNIT={type:3,value:"MOLECULARWEIGHTUNIT"},Gn.MOMENTOFINERTIAUNIT={type:3,value:"MOMENTOFINERTIAUNIT"},Gn.PHUNIT={type:3,value:"PHUNIT"},Gn.PLANARFORCEUNIT={type:3,value:"PLANARFORCEUNIT"},Gn.ROTATIONALFREQUENCYUNIT={type:3,value:"ROTATIONALFREQUENCYUNIT"},Gn.ROTATIONALMASSUNIT={type:3,value:"ROTATIONALMASSUNIT"},Gn.ROTATIONALSTIFFNESSUNIT={type:3,value:"ROTATIONALSTIFFNESSUNIT"},Gn.SECTIONAREAINTEGRALUNIT={type:3,value:"SECTIONAREAINTEGRALUNIT"},Gn.SECTIONMODULUSUNIT={type:3,value:"SECTIONMODULUSUNIT"},Gn.SHEARMODULUSUNIT={type:3,value:"SHEARMODULUSUNIT"},Gn.SOUNDPOWERLEVELUNIT={type:3,value:"SOUNDPOWERLEVELUNIT"},Gn.SOUNDPOWERUNIT={type:3,value:"SOUNDPOWERUNIT"},Gn.SOUNDPRESSURELEVELUNIT={type:3,value:"SOUNDPRESSURELEVELUNIT"},Gn.SOUNDPRESSUREUNIT={type:3,value:"SOUNDPRESSUREUNIT"},Gn.SPECIFICHEATCAPACITYUNIT={type:3,value:"SPECIFICHEATCAPACITYUNIT"},Gn.TEMPERATUREGRADIENTUNIT={type:3,value:"TEMPERATUREGRADIENTUNIT"},Gn.TEMPERATURERATEOFCHANGEUNIT={type:3,value:"TEMPERATURERATEOFCHANGEUNIT"},Gn.THERMALADMITTANCEUNIT={type:3,value:"THERMALADMITTANCEUNIT"},Gn.THERMALCONDUCTANCEUNIT={type:3,value:"THERMALCONDUCTANCEUNIT"},Gn.THERMALEXPANSIONCOEFFICIENTUNIT={type:3,value:"THERMALEXPANSIONCOEFFICIENTUNIT"},Gn.THERMALRESISTANCEUNIT={type:3,value:"THERMALRESISTANCEUNIT"},Gn.THERMALTRANSMITTANCEUNIT={type:3,value:"THERMALTRANSMITTANCEUNIT"},Gn.TORQUEUNIT={type:3,value:"TORQUEUNIT"},Gn.VAPORPERMEABILITYUNIT={type:3,value:"VAPORPERMEABILITYUNIT"},Gn.VOLUMETRICFLOWRATEUNIT={type:3,value:"VOLUMETRICFLOWRATEUNIT"},Gn.WARPINGCONSTANTUNIT={type:3,value:"WARPINGCONSTANTUNIT"},Gn.WARPINGMOMENTUNIT={type:3,value:"WARPINGMOMENTUNIT"},Gn.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcDerivedUnitEnum=Gn;var kn=P((function e(){b(this,e)}));kn.NEGATIVE={type:3,value:"NEGATIVE"},kn.POSITIVE={type:3,value:"POSITIVE"},e.IfcDirectionSenseEnum=kn;var jn=P((function e(){b(this,e)}));jn.ANCHORPLATE={type:3,value:"ANCHORPLATE"},jn.BIRDPROTECTION={type:3,value:"BIRDPROTECTION"},jn.BRACKET={type:3,value:"BRACKET"},jn.CABLEARRANGER={type:3,value:"CABLEARRANGER"},jn.ELASTIC_CUSHION={type:3,value:"ELASTIC_CUSHION"},jn.EXPANSION_JOINT_DEVICE={type:3,value:"EXPANSION_JOINT_DEVICE"},jn.FILLER={type:3,value:"FILLER"},jn.FLASHING={type:3,value:"FLASHING"},jn.INSULATOR={type:3,value:"INSULATOR"},jn.LOCK={type:3,value:"LOCK"},jn.PANEL_STRENGTHENING={type:3,value:"PANEL_STRENGTHENING"},jn.POINTMACHINEMOUNTINGDEVICE={type:3,value:"POINTMACHINEMOUNTINGDEVICE"},jn.POINT_MACHINE_LOCKING_DEVICE={type:3,value:"POINT_MACHINE_LOCKING_DEVICE"},jn.RAILBRACE={type:3,value:"RAILBRACE"},jn.RAILPAD={type:3,value:"RAILPAD"},jn.RAIL_LUBRICATION={type:3,value:"RAIL_LUBRICATION"},jn.RAIL_MECHANICAL_EQUIPMENT={type:3,value:"RAIL_MECHANICAL_EQUIPMENT"},jn.SHOE={type:3,value:"SHOE"},jn.SLIDINGCHAIR={type:3,value:"SLIDINGCHAIR"},jn.SOUNDABSORPTION={type:3,value:"SOUNDABSORPTION"},jn.TENSIONINGEQUIPMENT={type:3,value:"TENSIONINGEQUIPMENT"},jn.USERDEFINED={type:3,value:"USERDEFINED"},jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDiscreteAccessoryTypeEnum=jn;var Vn=P((function e(){b(this,e)}));Vn.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},Vn.DISPATCHINGBOARD={type:3,value:"DISPATCHINGBOARD"},Vn.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},Vn.DISTRIBUTIONFRAME={type:3,value:"DISTRIBUTIONFRAME"},Vn.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},Vn.SWITCHBOARD={type:3,value:"SWITCHBOARD"},Vn.USERDEFINED={type:3,value:"USERDEFINED"},Vn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionBoardTypeEnum=Vn;var Qn=P((function e(){b(this,e)}));Qn.FORMEDDUCT={type:3,value:"FORMEDDUCT"},Qn.INSPECTIONCHAMBER={type:3,value:"INSPECTIONCHAMBER"},Qn.INSPECTIONPIT={type:3,value:"INSPECTIONPIT"},Qn.MANHOLE={type:3,value:"MANHOLE"},Qn.METERCHAMBER={type:3,value:"METERCHAMBER"},Qn.SUMP={type:3,value:"SUMP"},Qn.TRENCH={type:3,value:"TRENCH"},Qn.VALVECHAMBER={type:3,value:"VALVECHAMBER"},Qn.USERDEFINED={type:3,value:"USERDEFINED"},Qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionChamberElementTypeEnum=Qn;var Wn=P((function e(){b(this,e)}));Wn.CABLE={type:3,value:"CABLE"},Wn.CABLECARRIER={type:3,value:"CABLECARRIER"},Wn.DUCT={type:3,value:"DUCT"},Wn.PIPE={type:3,value:"PIPE"},Wn.WIRELESS={type:3,value:"WIRELESS"},Wn.USERDEFINED={type:3,value:"USERDEFINED"},Wn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionPortTypeEnum=Wn;var zn=P((function e(){b(this,e)}));zn.AIRCONDITIONING={type:3,value:"AIRCONDITIONING"},zn.AUDIOVISUAL={type:3,value:"AUDIOVISUAL"},zn.CATENARY_SYSTEM={type:3,value:"CATENARY_SYSTEM"},zn.CHEMICAL={type:3,value:"CHEMICAL"},zn.CHILLEDWATER={type:3,value:"CHILLEDWATER"},zn.COMMUNICATION={type:3,value:"COMMUNICATION"},zn.COMPRESSEDAIR={type:3,value:"COMPRESSEDAIR"},zn.CONDENSERWATER={type:3,value:"CONDENSERWATER"},zn.CONTROL={type:3,value:"CONTROL"},zn.CONVEYING={type:3,value:"CONVEYING"},zn.DATA={type:3,value:"DATA"},zn.DISPOSAL={type:3,value:"DISPOSAL"},zn.DOMESTICCOLDWATER={type:3,value:"DOMESTICCOLDWATER"},zn.DOMESTICHOTWATER={type:3,value:"DOMESTICHOTWATER"},zn.DRAINAGE={type:3,value:"DRAINAGE"},zn.EARTHING={type:3,value:"EARTHING"},zn.ELECTRICAL={type:3,value:"ELECTRICAL"},zn.ELECTROACOUSTIC={type:3,value:"ELECTROACOUSTIC"},zn.EXHAUST={type:3,value:"EXHAUST"},zn.FIREPROTECTION={type:3,value:"FIREPROTECTION"},zn.FIXEDTRANSMISSIONNETWORK={type:3,value:"FIXEDTRANSMISSIONNETWORK"},zn.FUEL={type:3,value:"FUEL"},zn.GAS={type:3,value:"GAS"},zn.HAZARDOUS={type:3,value:"HAZARDOUS"},zn.HEATING={type:3,value:"HEATING"},zn.LIGHTING={type:3,value:"LIGHTING"},zn.LIGHTNINGPROTECTION={type:3,value:"LIGHTNINGPROTECTION"},zn.MOBILENETWORK={type:3,value:"MOBILENETWORK"},zn.MONITORINGSYSTEM={type:3,value:"MONITORINGSYSTEM"},zn.MUNICIPALSOLIDWASTE={type:3,value:"MUNICIPALSOLIDWASTE"},zn.OIL={type:3,value:"OIL"},zn.OPERATIONAL={type:3,value:"OPERATIONAL"},zn.OPERATIONALTELEPHONYSYSTEM={type:3,value:"OPERATIONALTELEPHONYSYSTEM"},zn.OVERHEAD_CONTACTLINE_SYSTEM={type:3,value:"OVERHEAD_CONTACTLINE_SYSTEM"},zn.POWERGENERATION={type:3,value:"POWERGENERATION"},zn.RAINWATER={type:3,value:"RAINWATER"},zn.REFRIGERATION={type:3,value:"REFRIGERATION"},zn.RETURN_CIRCUIT={type:3,value:"RETURN_CIRCUIT"},zn.SECURITY={type:3,value:"SECURITY"},zn.SEWAGE={type:3,value:"SEWAGE"},zn.SIGNAL={type:3,value:"SIGNAL"},zn.STORMWATER={type:3,value:"STORMWATER"},zn.TELEPHONE={type:3,value:"TELEPHONE"},zn.TV={type:3,value:"TV"},zn.VACUUM={type:3,value:"VACUUM"},zn.VENT={type:3,value:"VENT"},zn.VENTILATION={type:3,value:"VENTILATION"},zn.WASTEWATER={type:3,value:"WASTEWATER"},zn.WATERSUPPLY={type:3,value:"WATERSUPPLY"},zn.USERDEFINED={type:3,value:"USERDEFINED"},zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDistributionSystemEnum=zn;var Kn=P((function e(){b(this,e)}));Kn.CONFIDENTIAL={type:3,value:"CONFIDENTIAL"},Kn.PERSONAL={type:3,value:"PERSONAL"},Kn.PUBLIC={type:3,value:"PUBLIC"},Kn.RESTRICTED={type:3,value:"RESTRICTED"},Kn.USERDEFINED={type:3,value:"USERDEFINED"},Kn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentConfidentialityEnum=Kn;var Yn=P((function e(){b(this,e)}));Yn.DRAFT={type:3,value:"DRAFT"},Yn.FINAL={type:3,value:"FINAL"},Yn.FINALDRAFT={type:3,value:"FINALDRAFT"},Yn.REVISION={type:3,value:"REVISION"},Yn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDocumentStatusEnum=Yn;var Xn=P((function e(){b(this,e)}));Xn.DOUBLE_ACTING={type:3,value:"DOUBLE_ACTING"},Xn.FIXEDPANEL={type:3,value:"FIXEDPANEL"},Xn.FOLDING={type:3,value:"FOLDING"},Xn.REVOLVING={type:3,value:"REVOLVING"},Xn.ROLLINGUP={type:3,value:"ROLLINGUP"},Xn.SLIDING={type:3,value:"SLIDING"},Xn.SWINGING={type:3,value:"SWINGING"},Xn.USERDEFINED={type:3,value:"USERDEFINED"},Xn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelOperationEnum=Xn;var qn=P((function e(){b(this,e)}));qn.LEFT={type:3,value:"LEFT"},qn.MIDDLE={type:3,value:"MIDDLE"},qn.RIGHT={type:3,value:"RIGHT"},qn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorPanelPositionEnum=qn;var Jn=P((function e(){b(this,e)}));Jn.ALUMINIUM={type:3,value:"ALUMINIUM"},Jn.ALUMINIUM_PLASTIC={type:3,value:"ALUMINIUM_PLASTIC"},Jn.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},Jn.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},Jn.PLASTIC={type:3,value:"PLASTIC"},Jn.STEEL={type:3,value:"STEEL"},Jn.WOOD={type:3,value:"WOOD"},Jn.USERDEFINED={type:3,value:"USERDEFINED"},Jn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleConstructionEnum=Jn;var Zn=P((function e(){b(this,e)}));Zn.DOUBLE_DOOR_DOUBLE_SWING={type:3,value:"DOUBLE_DOOR_DOUBLE_SWING"},Zn.DOUBLE_DOOR_FOLDING={type:3,value:"DOUBLE_DOOR_FOLDING"},Zn.DOUBLE_DOOR_SINGLE_SWING={type:3,value:"DOUBLE_DOOR_SINGLE_SWING"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"},Zn.DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"},Zn.DOUBLE_DOOR_SLIDING={type:3,value:"DOUBLE_DOOR_SLIDING"},Zn.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},Zn.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},Zn.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},Zn.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},Zn.REVOLVING={type:3,value:"REVOLVING"},Zn.ROLLINGUP={type:3,value:"ROLLINGUP"},Zn.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},Zn.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},Zn.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},Zn.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},Zn.USERDEFINED={type:3,value:"USERDEFINED"},Zn.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorStyleOperationEnum=Zn;var $n=P((function e(){b(this,e)}));$n.BOOM_BARRIER={type:3,value:"BOOM_BARRIER"},$n.DOOR={type:3,value:"DOOR"},$n.GATE={type:3,value:"GATE"},$n.TRAPDOOR={type:3,value:"TRAPDOOR"},$n.TURNSTILE={type:3,value:"TURNSTILE"},$n.USERDEFINED={type:3,value:"USERDEFINED"},$n.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeEnum=$n;var er=P((function e(){b(this,e)}));er.DOUBLE_PANEL_DOUBLE_SWING={type:3,value:"DOUBLE_PANEL_DOUBLE_SWING"},er.DOUBLE_PANEL_FOLDING={type:3,value:"DOUBLE_PANEL_FOLDING"},er.DOUBLE_PANEL_LIFTING_VERTICAL={type:3,value:"DOUBLE_PANEL_LIFTING_VERTICAL"},er.DOUBLE_PANEL_SINGLE_SWING={type:3,value:"DOUBLE_PANEL_SINGLE_SWING"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT"},er.DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT={type:3,value:"DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT"},er.DOUBLE_PANEL_SLIDING={type:3,value:"DOUBLE_PANEL_SLIDING"},er.DOUBLE_SWING_LEFT={type:3,value:"DOUBLE_SWING_LEFT"},er.DOUBLE_SWING_RIGHT={type:3,value:"DOUBLE_SWING_RIGHT"},er.FOLDING_TO_LEFT={type:3,value:"FOLDING_TO_LEFT"},er.FOLDING_TO_RIGHT={type:3,value:"FOLDING_TO_RIGHT"},er.LIFTING_HORIZONTAL={type:3,value:"LIFTING_HORIZONTAL"},er.LIFTING_VERTICAL_LEFT={type:3,value:"LIFTING_VERTICAL_LEFT"},er.LIFTING_VERTICAL_RIGHT={type:3,value:"LIFTING_VERTICAL_RIGHT"},er.REVOLVING_HORIZONTAL={type:3,value:"REVOLVING_HORIZONTAL"},er.REVOLVING_VERTICAL={type:3,value:"REVOLVING_VERTICAL"},er.ROLLINGUP={type:3,value:"ROLLINGUP"},er.SINGLE_SWING_LEFT={type:3,value:"SINGLE_SWING_LEFT"},er.SINGLE_SWING_RIGHT={type:3,value:"SINGLE_SWING_RIGHT"},er.SLIDING_TO_LEFT={type:3,value:"SLIDING_TO_LEFT"},er.SLIDING_TO_RIGHT={type:3,value:"SLIDING_TO_RIGHT"},er.SWING_FIXED_LEFT={type:3,value:"SWING_FIXED_LEFT"},er.SWING_FIXED_RIGHT={type:3,value:"SWING_FIXED_RIGHT"},er.USERDEFINED={type:3,value:"USERDEFINED"},er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDoorTypeOperationEnum=er;var tr=P((function e(){b(this,e)}));tr.BEND={type:3,value:"BEND"},tr.CONNECTOR={type:3,value:"CONNECTOR"},tr.ENTRY={type:3,value:"ENTRY"},tr.EXIT={type:3,value:"EXIT"},tr.JUNCTION={type:3,value:"JUNCTION"},tr.OBSTRUCTION={type:3,value:"OBSTRUCTION"},tr.TRANSITION={type:3,value:"TRANSITION"},tr.USERDEFINED={type:3,value:"USERDEFINED"},tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctFittingTypeEnum=tr;var nr=P((function e(){b(this,e)}));nr.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},nr.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},nr.USERDEFINED={type:3,value:"USERDEFINED"},nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSegmentTypeEnum=nr;var rr=P((function e(){b(this,e)}));rr.FLATOVAL={type:3,value:"FLATOVAL"},rr.RECTANGULAR={type:3,value:"RECTANGULAR"},rr.ROUND={type:3,value:"ROUND"},rr.USERDEFINED={type:3,value:"USERDEFINED"},rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcDuctSilencerTypeEnum=rr;var ir=P((function e(){b(this,e)}));ir.BASE_EXCAVATION={type:3,value:"BASE_EXCAVATION"},ir.CUT={type:3,value:"CUT"},ir.DREDGING={type:3,value:"DREDGING"},ir.EXCAVATION={type:3,value:"EXCAVATION"},ir.OVEREXCAVATION={type:3,value:"OVEREXCAVATION"},ir.PAVEMENTMILLING={type:3,value:"PAVEMENTMILLING"},ir.STEPEXCAVATION={type:3,value:"STEPEXCAVATION"},ir.TOPSOILREMOVAL={type:3,value:"TOPSOILREMOVAL"},ir.TRENCH={type:3,value:"TRENCH"},ir.USERDEFINED={type:3,value:"USERDEFINED"},ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksCutTypeEnum=ir;var ar=P((function e(){b(this,e)}));ar.BACKFILL={type:3,value:"BACKFILL"},ar.COUNTERWEIGHT={type:3,value:"COUNTERWEIGHT"},ar.EMBANKMENT={type:3,value:"EMBANKMENT"},ar.SLOPEFILL={type:3,value:"SLOPEFILL"},ar.SUBGRADE={type:3,value:"SUBGRADE"},ar.SUBGRADEBED={type:3,value:"SUBGRADEBED"},ar.TRANSITIONSECTION={type:3,value:"TRANSITIONSECTION"},ar.USERDEFINED={type:3,value:"USERDEFINED"},ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEarthworksFillTypeEnum=ar;var sr=P((function e(){b(this,e)}));sr.DISHWASHER={type:3,value:"DISHWASHER"},sr.ELECTRICCOOKER={type:3,value:"ELECTRICCOOKER"},sr.FREESTANDINGELECTRICHEATER={type:3,value:"FREESTANDINGELECTRICHEATER"},sr.FREESTANDINGFAN={type:3,value:"FREESTANDINGFAN"},sr.FREESTANDINGWATERCOOLER={type:3,value:"FREESTANDINGWATERCOOLER"},sr.FREESTANDINGWATERHEATER={type:3,value:"FREESTANDINGWATERHEATER"},sr.FREEZER={type:3,value:"FREEZER"},sr.FRIDGE_FREEZER={type:3,value:"FRIDGE_FREEZER"},sr.HANDDRYER={type:3,value:"HANDDRYER"},sr.KITCHENMACHINE={type:3,value:"KITCHENMACHINE"},sr.MICROWAVE={type:3,value:"MICROWAVE"},sr.PHOTOCOPIER={type:3,value:"PHOTOCOPIER"},sr.REFRIGERATOR={type:3,value:"REFRIGERATOR"},sr.TUMBLEDRYER={type:3,value:"TUMBLEDRYER"},sr.VENDINGMACHINE={type:3,value:"VENDINGMACHINE"},sr.WASHINGMACHINE={type:3,value:"WASHINGMACHINE"},sr.USERDEFINED={type:3,value:"USERDEFINED"},sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricApplianceTypeEnum=sr;var or=P((function e(){b(this,e)}));or.CONSUMERUNIT={type:3,value:"CONSUMERUNIT"},or.DISTRIBUTIONBOARD={type:3,value:"DISTRIBUTIONBOARD"},or.MOTORCONTROLCENTRE={type:3,value:"MOTORCONTROLCENTRE"},or.SWITCHBOARD={type:3,value:"SWITCHBOARD"},or.USERDEFINED={type:3,value:"USERDEFINED"},or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricDistributionBoardTypeEnum=or;var lr=P((function e(){b(this,e)}));lr.BATTERY={type:3,value:"BATTERY"},lr.CAPACITOR={type:3,value:"CAPACITOR"},lr.CAPACITORBANK={type:3,value:"CAPACITORBANK"},lr.COMPENSATOR={type:3,value:"COMPENSATOR"},lr.HARMONICFILTER={type:3,value:"HARMONICFILTER"},lr.INDUCTOR={type:3,value:"INDUCTOR"},lr.INDUCTORBANK={type:3,value:"INDUCTORBANK"},lr.RECHARGER={type:3,value:"RECHARGER"},lr.UPS={type:3,value:"UPS"},lr.USERDEFINED={type:3,value:"USERDEFINED"},lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowStorageDeviceTypeEnum=lr;var ur=P((function e(){b(this,e)}));ur.ELECTRONICFILTER={type:3,value:"ELECTRONICFILTER"},ur.USERDEFINED={type:3,value:"USERDEFINED"},ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricFlowTreatmentDeviceTypeEnum=ur;var cr=P((function e(){b(this,e)}));cr.CHP={type:3,value:"CHP"},cr.ENGINEGENERATOR={type:3,value:"ENGINEGENERATOR"},cr.STANDALONE={type:3,value:"STANDALONE"},cr.USERDEFINED={type:3,value:"USERDEFINED"},cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricGeneratorTypeEnum=cr;var fr=P((function e(){b(this,e)}));fr.DC={type:3,value:"DC"},fr.INDUCTION={type:3,value:"INDUCTION"},fr.POLYPHASE={type:3,value:"POLYPHASE"},fr.RELUCTANCESYNCHRONOUS={type:3,value:"RELUCTANCESYNCHRONOUS"},fr.SYNCHRONOUS={type:3,value:"SYNCHRONOUS"},fr.USERDEFINED={type:3,value:"USERDEFINED"},fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricMotorTypeEnum=fr;var pr=P((function e(){b(this,e)}));pr.RELAY={type:3,value:"RELAY"},pr.TIMECLOCK={type:3,value:"TIMECLOCK"},pr.TIMEDELAY={type:3,value:"TIMEDELAY"},pr.USERDEFINED={type:3,value:"USERDEFINED"},pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElectricTimeControlTypeEnum=pr;var Ar=P((function e(){b(this,e)}));Ar.ABUTMENT={type:3,value:"ABUTMENT"},Ar.ACCESSORY_ASSEMBLY={type:3,value:"ACCESSORY_ASSEMBLY"},Ar.ARCH={type:3,value:"ARCH"},Ar.BEAM_GRID={type:3,value:"BEAM_GRID"},Ar.BRACED_FRAME={type:3,value:"BRACED_FRAME"},Ar.CROSS_BRACING={type:3,value:"CROSS_BRACING"},Ar.DECK={type:3,value:"DECK"},Ar.DILATATIONPANEL={type:3,value:"DILATATIONPANEL"},Ar.ENTRANCEWORKS={type:3,value:"ENTRANCEWORKS"},Ar.GIRDER={type:3,value:"GIRDER"},Ar.GRID={type:3,value:"GRID"},Ar.MAST={type:3,value:"MAST"},Ar.PIER={type:3,value:"PIER"},Ar.PYLON={type:3,value:"PYLON"},Ar.RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY={type:3,value:"RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY"},Ar.REINFORCEMENT_UNIT={type:3,value:"REINFORCEMENT_UNIT"},Ar.RIGID_FRAME={type:3,value:"RIGID_FRAME"},Ar.SHELTER={type:3,value:"SHELTER"},Ar.SIGNALASSEMBLY={type:3,value:"SIGNALASSEMBLY"},Ar.SLAB_FIELD={type:3,value:"SLAB_FIELD"},Ar.SUMPBUSTER={type:3,value:"SUMPBUSTER"},Ar.SUPPORTINGASSEMBLY={type:3,value:"SUPPORTINGASSEMBLY"},Ar.SUSPENSIONASSEMBLY={type:3,value:"SUSPENSIONASSEMBLY"},Ar.TRACKPANEL={type:3,value:"TRACKPANEL"},Ar.TRACTION_SWITCHING_ASSEMBLY={type:3,value:"TRACTION_SWITCHING_ASSEMBLY"},Ar.TRAFFIC_CALMING_DEVICE={type:3,value:"TRAFFIC_CALMING_DEVICE"},Ar.TRUSS={type:3,value:"TRUSS"},Ar.TURNOUTPANEL={type:3,value:"TURNOUTPANEL"},Ar.USERDEFINED={type:3,value:"USERDEFINED"},Ar.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcElementAssemblyTypeEnum=Ar;var dr=P((function e(){b(this,e)}));dr.COMPLEX={type:3,value:"COMPLEX"},dr.ELEMENT={type:3,value:"ELEMENT"},dr.PARTIAL={type:3,value:"PARTIAL"},e.IfcElementCompositionEnum=dr;var vr=P((function e(){b(this,e)}));vr.EXTERNALCOMBUSTION={type:3,value:"EXTERNALCOMBUSTION"},vr.INTERNALCOMBUSTION={type:3,value:"INTERNALCOMBUSTION"},vr.USERDEFINED={type:3,value:"USERDEFINED"},vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEngineTypeEnum=vr;var hr=P((function e(){b(this,e)}));hr.DIRECTEVAPORATIVEAIRWASHER={type:3,value:"DIRECTEVAPORATIVEAIRWASHER"},hr.DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER={type:3,value:"DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER"},hr.DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER={type:3,value:"DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER"},hr.DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER={type:3,value:"DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER"},hr.INDIRECTDIRECTCOMBINATION={type:3,value:"INDIRECTDIRECTCOMBINATION"},hr.INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER={type:3,value:"INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER"},hr.INDIRECTEVAPORATIVEPACKAGEAIRCOOLER={type:3,value:"INDIRECTEVAPORATIVEPACKAGEAIRCOOLER"},hr.INDIRECTEVAPORATIVEWETCOIL={type:3,value:"INDIRECTEVAPORATIVEWETCOIL"},hr.USERDEFINED={type:3,value:"USERDEFINED"},hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporativeCoolerTypeEnum=hr;var Ir=P((function e(){b(this,e)}));Ir.DIRECTEXPANSION={type:3,value:"DIRECTEXPANSION"},Ir.DIRECTEXPANSIONBRAZEDPLATE={type:3,value:"DIRECTEXPANSIONBRAZEDPLATE"},Ir.DIRECTEXPANSIONSHELLANDTUBE={type:3,value:"DIRECTEXPANSIONSHELLANDTUBE"},Ir.DIRECTEXPANSIONTUBEINTUBE={type:3,value:"DIRECTEXPANSIONTUBEINTUBE"},Ir.FLOODEDSHELLANDTUBE={type:3,value:"FLOODEDSHELLANDTUBE"},Ir.SHELLANDCOIL={type:3,value:"SHELLANDCOIL"},Ir.USERDEFINED={type:3,value:"USERDEFINED"},Ir.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEvaporatorTypeEnum=Ir;var yr=P((function e(){b(this,e)}));yr.EVENTCOMPLEX={type:3,value:"EVENTCOMPLEX"},yr.EVENTMESSAGE={type:3,value:"EVENTMESSAGE"},yr.EVENTRULE={type:3,value:"EVENTRULE"},yr.EVENTTIME={type:3,value:"EVENTTIME"},yr.USERDEFINED={type:3,value:"USERDEFINED"},yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTriggerTypeEnum=yr;var mr=P((function e(){b(this,e)}));mr.ENDEVENT={type:3,value:"ENDEVENT"},mr.INTERMEDIATEEVENT={type:3,value:"INTERMEDIATEEVENT"},mr.STARTEVENT={type:3,value:"STARTEVENT"},mr.USERDEFINED={type:3,value:"USERDEFINED"},mr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcEventTypeEnum=mr;var wr=P((function e(){b(this,e)}));wr.EXTERNAL={type:3,value:"EXTERNAL"},wr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},wr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},wr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},wr.USERDEFINED={type:3,value:"USERDEFINED"},wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcExternalSpatialElementTypeEnum=wr;var gr=P((function e(){b(this,e)}));gr.ABOVEGROUND={type:3,value:"ABOVEGROUND"},gr.BELOWGROUND={type:3,value:"BELOWGROUND"},gr.JUNCTION={type:3,value:"JUNCTION"},gr.LEVELCROSSING={type:3,value:"LEVELCROSSING"},gr.SEGMENT={type:3,value:"SEGMENT"},gr.SUBSTRUCTURE={type:3,value:"SUBSTRUCTURE"},gr.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},gr.TERMINAL={type:3,value:"TERMINAL"},gr.USERDEFINED={type:3,value:"USERDEFINED"},gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityPartCommonTypeEnum=gr;var Er=P((function e(){b(this,e)}));Er.LATERAL={type:3,value:"LATERAL"},Er.LONGITUDINAL={type:3,value:"LONGITUDINAL"},Er.REGION={type:3,value:"REGION"},Er.VERTICAL={type:3,value:"VERTICAL"},Er.USERDEFINED={type:3,value:"USERDEFINED"},Er.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFacilityUsageEnum=Er;var Tr=P((function e(){b(this,e)}));Tr.CENTRIFUGALAIRFOIL={type:3,value:"CENTRIFUGALAIRFOIL"},Tr.CENTRIFUGALBACKWARDINCLINEDCURVED={type:3,value:"CENTRIFUGALBACKWARDINCLINEDCURVED"},Tr.CENTRIFUGALFORWARDCURVED={type:3,value:"CENTRIFUGALFORWARDCURVED"},Tr.CENTRIFUGALRADIAL={type:3,value:"CENTRIFUGALRADIAL"},Tr.PROPELLORAXIAL={type:3,value:"PROPELLORAXIAL"},Tr.TUBEAXIAL={type:3,value:"TUBEAXIAL"},Tr.VANEAXIAL={type:3,value:"VANEAXIAL"},Tr.USERDEFINED={type:3,value:"USERDEFINED"},Tr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFanTypeEnum=Tr;var br=P((function e(){b(this,e)}));br.GLUE={type:3,value:"GLUE"},br.MORTAR={type:3,value:"MORTAR"},br.WELD={type:3,value:"WELD"},br.USERDEFINED={type:3,value:"USERDEFINED"},br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFastenerTypeEnum=br;var Dr=P((function e(){b(this,e)}));Dr.AIRPARTICLEFILTER={type:3,value:"AIRPARTICLEFILTER"},Dr.COMPRESSEDAIRFILTER={type:3,value:"COMPRESSEDAIRFILTER"},Dr.ODORFILTER={type:3,value:"ODORFILTER"},Dr.OILFILTER={type:3,value:"OILFILTER"},Dr.STRAINER={type:3,value:"STRAINER"},Dr.WATERFILTER={type:3,value:"WATERFILTER"},Dr.USERDEFINED={type:3,value:"USERDEFINED"},Dr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFilterTypeEnum=Dr;var Pr=P((function e(){b(this,e)}));Pr.BREECHINGINLET={type:3,value:"BREECHINGINLET"},Pr.FIREHYDRANT={type:3,value:"FIREHYDRANT"},Pr.FIREMONITOR={type:3,value:"FIREMONITOR"},Pr.HOSEREEL={type:3,value:"HOSEREEL"},Pr.SPRINKLER={type:3,value:"SPRINKLER"},Pr.SPRINKLERDEFLECTOR={type:3,value:"SPRINKLERDEFLECTOR"},Pr.USERDEFINED={type:3,value:"USERDEFINED"},Pr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFireSuppressionTerminalTypeEnum=Pr;var Rr=P((function e(){b(this,e)}));Rr.SINK={type:3,value:"SINK"},Rr.SOURCE={type:3,value:"SOURCE"},Rr.SOURCEANDSINK={type:3,value:"SOURCEANDSINK"},Rr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowDirectionEnum=Rr;var Cr=P((function e(){b(this,e)}));Cr.AMMETER={type:3,value:"AMMETER"},Cr.COMBINED={type:3,value:"COMBINED"},Cr.FREQUENCYMETER={type:3,value:"FREQUENCYMETER"},Cr.PHASEANGLEMETER={type:3,value:"PHASEANGLEMETER"},Cr.POWERFACTORMETER={type:3,value:"POWERFACTORMETER"},Cr.PRESSUREGAUGE={type:3,value:"PRESSUREGAUGE"},Cr.THERMOMETER={type:3,value:"THERMOMETER"},Cr.VOLTMETER={type:3,value:"VOLTMETER"},Cr.VOLTMETER_PEAK={type:3,value:"VOLTMETER_PEAK"},Cr.VOLTMETER_RMS={type:3,value:"VOLTMETER_RMS"},Cr.USERDEFINED={type:3,value:"USERDEFINED"},Cr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowInstrumentTypeEnum=Cr;var _r=P((function e(){b(this,e)}));_r.ENERGYMETER={type:3,value:"ENERGYMETER"},_r.GASMETER={type:3,value:"GASMETER"},_r.OILMETER={type:3,value:"OILMETER"},_r.WATERMETER={type:3,value:"WATERMETER"},_r.USERDEFINED={type:3,value:"USERDEFINED"},_r.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFlowMeterTypeEnum=_r;var Br=P((function e(){b(this,e)}));Br.CAISSON_FOUNDATION={type:3,value:"CAISSON_FOUNDATION"},Br.FOOTING_BEAM={type:3,value:"FOOTING_BEAM"},Br.PAD_FOOTING={type:3,value:"PAD_FOOTING"},Br.PILE_CAP={type:3,value:"PILE_CAP"},Br.STRIP_FOOTING={type:3,value:"STRIP_FOOTING"},Br.USERDEFINED={type:3,value:"USERDEFINED"},Br.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFootingTypeEnum=Br;var Or=P((function e(){b(this,e)}));Or.BED={type:3,value:"BED"},Or.CHAIR={type:3,value:"CHAIR"},Or.DESK={type:3,value:"DESK"},Or.FILECABINET={type:3,value:"FILECABINET"},Or.SHELF={type:3,value:"SHELF"},Or.SOFA={type:3,value:"SOFA"},Or.TABLE={type:3,value:"TABLE"},Or.TECHNICALCABINET={type:3,value:"TECHNICALCABINET"},Or.USERDEFINED={type:3,value:"USERDEFINED"},Or.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcFurnitureTypeEnum=Or;var Sr=P((function e(){b(this,e)}));Sr.SOIL_BORING_POINT={type:3,value:"SOIL_BORING_POINT"},Sr.TERRAIN={type:3,value:"TERRAIN"},Sr.VEGETATION={type:3,value:"VEGETATION"},Sr.USERDEFINED={type:3,value:"USERDEFINED"},Sr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeographicElementTypeEnum=Sr;var Nr=P((function e(){b(this,e)}));Nr.ELEVATION_VIEW={type:3,value:"ELEVATION_VIEW"},Nr.GRAPH_VIEW={type:3,value:"GRAPH_VIEW"},Nr.MODEL_VIEW={type:3,value:"MODEL_VIEW"},Nr.PLAN_VIEW={type:3,value:"PLAN_VIEW"},Nr.REFLECTED_PLAN_VIEW={type:3,value:"REFLECTED_PLAN_VIEW"},Nr.SECTION_VIEW={type:3,value:"SECTION_VIEW"},Nr.SKETCH_VIEW={type:3,value:"SKETCH_VIEW"},Nr.USERDEFINED={type:3,value:"USERDEFINED"},Nr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeometricProjectionEnum=Nr;var Lr=P((function e(){b(this,e)}));Lr.SOLID={type:3,value:"SOLID"},Lr.VOID={type:3,value:"VOID"},Lr.WATER={type:3,value:"WATER"},Lr.USERDEFINED={type:3,value:"USERDEFINED"},Lr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGeotechnicalStratumTypeEnum=Lr;var Mr=P((function e(){b(this,e)}));Mr.GLOBAL_COORDS={type:3,value:"GLOBAL_COORDS"},Mr.LOCAL_COORDS={type:3,value:"LOCAL_COORDS"},e.IfcGlobalOrLocalEnum=Mr;var xr=P((function e(){b(this,e)}));xr.IRREGULAR={type:3,value:"IRREGULAR"},xr.RADIAL={type:3,value:"RADIAL"},xr.RECTANGULAR={type:3,value:"RECTANGULAR"},xr.TRIANGULAR={type:3,value:"TRIANGULAR"},xr.USERDEFINED={type:3,value:"USERDEFINED"},xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcGridTypeEnum=xr;var Fr=P((function e(){b(this,e)}));Fr.PLATE={type:3,value:"PLATE"},Fr.SHELLANDTUBE={type:3,value:"SHELLANDTUBE"},Fr.TURNOUTHEATING={type:3,value:"TURNOUTHEATING"},Fr.USERDEFINED={type:3,value:"USERDEFINED"},Fr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHeatExchangerTypeEnum=Fr;var Hr=P((function e(){b(this,e)}));Hr.ADIABATICAIRWASHER={type:3,value:"ADIABATICAIRWASHER"},Hr.ADIABATICATOMIZING={type:3,value:"ADIABATICATOMIZING"},Hr.ADIABATICCOMPRESSEDAIRNOZZLE={type:3,value:"ADIABATICCOMPRESSEDAIRNOZZLE"},Hr.ADIABATICPAN={type:3,value:"ADIABATICPAN"},Hr.ADIABATICRIGIDMEDIA={type:3,value:"ADIABATICRIGIDMEDIA"},Hr.ADIABATICULTRASONIC={type:3,value:"ADIABATICULTRASONIC"},Hr.ADIABATICWETTEDELEMENT={type:3,value:"ADIABATICWETTEDELEMENT"},Hr.ASSISTEDBUTANE={type:3,value:"ASSISTEDBUTANE"},Hr.ASSISTEDELECTRIC={type:3,value:"ASSISTEDELECTRIC"},Hr.ASSISTEDNATURALGAS={type:3,value:"ASSISTEDNATURALGAS"},Hr.ASSISTEDPROPANE={type:3,value:"ASSISTEDPROPANE"},Hr.ASSISTEDSTEAM={type:3,value:"ASSISTEDSTEAM"},Hr.STEAMINJECTION={type:3,value:"STEAMINJECTION"},Hr.USERDEFINED={type:3,value:"USERDEFINED"},Hr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcHumidifierTypeEnum=Hr;var Ur=P((function e(){b(this,e)}));Ur.BUMPER={type:3,value:"BUMPER"},Ur.CRASHCUSHION={type:3,value:"CRASHCUSHION"},Ur.DAMPINGSYSTEM={type:3,value:"DAMPINGSYSTEM"},Ur.FENDER={type:3,value:"FENDER"},Ur.USERDEFINED={type:3,value:"USERDEFINED"},Ur.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcImpactProtectionDeviceTypeEnum=Ur;var Gr=P((function e(){b(this,e)}));Gr.CYCLONIC={type:3,value:"CYCLONIC"},Gr.GREASE={type:3,value:"GREASE"},Gr.OIL={type:3,value:"OIL"},Gr.PETROL={type:3,value:"PETROL"},Gr.USERDEFINED={type:3,value:"USERDEFINED"},Gr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInterceptorTypeEnum=Gr;var kr=P((function e(){b(this,e)}));kr.EXTERNAL={type:3,value:"EXTERNAL"},kr.EXTERNAL_EARTH={type:3,value:"EXTERNAL_EARTH"},kr.EXTERNAL_FIRE={type:3,value:"EXTERNAL_FIRE"},kr.EXTERNAL_WATER={type:3,value:"EXTERNAL_WATER"},kr.INTERNAL={type:3,value:"INTERNAL"},kr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInternalOrExternalEnum=kr;var jr=P((function e(){b(this,e)}));jr.ASSETINVENTORY={type:3,value:"ASSETINVENTORY"},jr.FURNITUREINVENTORY={type:3,value:"FURNITUREINVENTORY"},jr.SPACEINVENTORY={type:3,value:"SPACEINVENTORY"},jr.USERDEFINED={type:3,value:"USERDEFINED"},jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcInventoryTypeEnum=jr;var Vr=P((function e(){b(this,e)}));Vr.DATA={type:3,value:"DATA"},Vr.POWER={type:3,value:"POWER"},Vr.USERDEFINED={type:3,value:"USERDEFINED"},Vr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcJunctionBoxTypeEnum=Vr;var Qr=P((function e(){b(this,e)}));Qr.PIECEWISE_BEZIER_KNOTS={type:3,value:"PIECEWISE_BEZIER_KNOTS"},Qr.QUASI_UNIFORM_KNOTS={type:3,value:"QUASI_UNIFORM_KNOTS"},Qr.UNIFORM_KNOTS={type:3,value:"UNIFORM_KNOTS"},Qr.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcKnotType=Qr;var Wr=P((function e(){b(this,e)}));Wr.ADMINISTRATION={type:3,value:"ADMINISTRATION"},Wr.CARPENTRY={type:3,value:"CARPENTRY"},Wr.CLEANING={type:3,value:"CLEANING"},Wr.CONCRETE={type:3,value:"CONCRETE"},Wr.DRYWALL={type:3,value:"DRYWALL"},Wr.ELECTRIC={type:3,value:"ELECTRIC"},Wr.FINISHING={type:3,value:"FINISHING"},Wr.FLOORING={type:3,value:"FLOORING"},Wr.GENERAL={type:3,value:"GENERAL"},Wr.HVAC={type:3,value:"HVAC"},Wr.LANDSCAPING={type:3,value:"LANDSCAPING"},Wr.MASONRY={type:3,value:"MASONRY"},Wr.PAINTING={type:3,value:"PAINTING"},Wr.PAVING={type:3,value:"PAVING"},Wr.PLUMBING={type:3,value:"PLUMBING"},Wr.ROOFING={type:3,value:"ROOFING"},Wr.SITEGRADING={type:3,value:"SITEGRADING"},Wr.STEELWORK={type:3,value:"STEELWORK"},Wr.SURVEYING={type:3,value:"SURVEYING"},Wr.USERDEFINED={type:3,value:"USERDEFINED"},Wr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLaborResourceTypeEnum=Wr;var zr=P((function e(){b(this,e)}));zr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},zr.FLUORESCENT={type:3,value:"FLUORESCENT"},zr.HALOGEN={type:3,value:"HALOGEN"},zr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},zr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},zr.LED={type:3,value:"LED"},zr.METALHALIDE={type:3,value:"METALHALIDE"},zr.OLED={type:3,value:"OLED"},zr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},zr.USERDEFINED={type:3,value:"USERDEFINED"},zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLampTypeEnum=zr;var Kr=P((function e(){b(this,e)}));Kr.AXIS1={type:3,value:"AXIS1"},Kr.AXIS2={type:3,value:"AXIS2"},Kr.AXIS3={type:3,value:"AXIS3"},e.IfcLayerSetDirectionEnum=Kr;var Yr=P((function e(){b(this,e)}));Yr.TYPE_A={type:3,value:"TYPE_A"},Yr.TYPE_B={type:3,value:"TYPE_B"},Yr.TYPE_C={type:3,value:"TYPE_C"},Yr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightDistributionCurveEnum=Yr;var Xr=P((function e(){b(this,e)}));Xr.COMPACTFLUORESCENT={type:3,value:"COMPACTFLUORESCENT"},Xr.FLUORESCENT={type:3,value:"FLUORESCENT"},Xr.HIGHPRESSUREMERCURY={type:3,value:"HIGHPRESSUREMERCURY"},Xr.HIGHPRESSURESODIUM={type:3,value:"HIGHPRESSURESODIUM"},Xr.LIGHTEMITTINGDIODE={type:3,value:"LIGHTEMITTINGDIODE"},Xr.LOWPRESSURESODIUM={type:3,value:"LOWPRESSURESODIUM"},Xr.LOWVOLTAGEHALOGEN={type:3,value:"LOWVOLTAGEHALOGEN"},Xr.MAINVOLTAGEHALOGEN={type:3,value:"MAINVOLTAGEHALOGEN"},Xr.METALHALIDE={type:3,value:"METALHALIDE"},Xr.TUNGSTENFILAMENT={type:3,value:"TUNGSTENFILAMENT"},Xr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightEmissionSourceEnum=Xr;var qr=P((function e(){b(this,e)}));qr.DIRECTIONSOURCE={type:3,value:"DIRECTIONSOURCE"},qr.POINTSOURCE={type:3,value:"POINTSOURCE"},qr.SECURITYLIGHTING={type:3,value:"SECURITYLIGHTING"},qr.USERDEFINED={type:3,value:"USERDEFINED"},qr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLightFixtureTypeEnum=qr;var Jr=P((function e(){b(this,e)}));Jr.HOSEREEL={type:3,value:"HOSEREEL"},Jr.LOADINGARM={type:3,value:"LOADINGARM"},Jr.USERDEFINED={type:3,value:"USERDEFINED"},Jr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLiquidTerminalTypeEnum=Jr;var Zr=P((function e(){b(this,e)}));Zr.LOAD_CASE={type:3,value:"LOAD_CASE"},Zr.LOAD_COMBINATION={type:3,value:"LOAD_COMBINATION"},Zr.LOAD_GROUP={type:3,value:"LOAD_GROUP"},Zr.USERDEFINED={type:3,value:"USERDEFINED"},Zr.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcLoadGroupTypeEnum=Zr;var $r=P((function e(){b(this,e)}));$r.LOGICALAND={type:3,value:"LOGICALAND"},$r.LOGICALNOTAND={type:3,value:"LOGICALNOTAND"},$r.LOGICALNOTOR={type:3,value:"LOGICALNOTOR"},$r.LOGICALOR={type:3,value:"LOGICALOR"},$r.LOGICALXOR={type:3,value:"LOGICALXOR"},e.IfcLogicalOperatorEnum=$r;var ei=P((function e(){b(this,e)}));ei.BARRIERBEACH={type:3,value:"BARRIERBEACH"},ei.BREAKWATER={type:3,value:"BREAKWATER"},ei.CANAL={type:3,value:"CANAL"},ei.DRYDOCK={type:3,value:"DRYDOCK"},ei.FLOATINGDOCK={type:3,value:"FLOATINGDOCK"},ei.HYDROLIFT={type:3,value:"HYDROLIFT"},ei.JETTY={type:3,value:"JETTY"},ei.LAUNCHRECOVERY={type:3,value:"LAUNCHRECOVERY"},ei.MARINEDEFENCE={type:3,value:"MARINEDEFENCE"},ei.NAVIGATIONALCHANNEL={type:3,value:"NAVIGATIONALCHANNEL"},ei.PORT={type:3,value:"PORT"},ei.QUAY={type:3,value:"QUAY"},ei.REVETMENT={type:3,value:"REVETMENT"},ei.SHIPLIFT={type:3,value:"SHIPLIFT"},ei.SHIPLOCK={type:3,value:"SHIPLOCK"},ei.SHIPYARD={type:3,value:"SHIPYARD"},ei.SLIPWAY={type:3,value:"SLIPWAY"},ei.WATERWAY={type:3,value:"WATERWAY"},ei.WATERWAYSHIPLIFT={type:3,value:"WATERWAYSHIPLIFT"},ei.USERDEFINED={type:3,value:"USERDEFINED"},ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarineFacilityTypeEnum=ei;var ti=P((function e(){b(this,e)}));ti.ABOVEWATERLINE={type:3,value:"ABOVEWATERLINE"},ti.ANCHORAGE={type:3,value:"ANCHORAGE"},ti.APPROACHCHANNEL={type:3,value:"APPROACHCHANNEL"},ti.BELOWWATERLINE={type:3,value:"BELOWWATERLINE"},ti.BERTHINGSTRUCTURE={type:3,value:"BERTHINGSTRUCTURE"},ti.CHAMBER={type:3,value:"CHAMBER"},ti.CILL_LEVEL={type:3,value:"CILL_LEVEL"},ti.COPELEVEL={type:3,value:"COPELEVEL"},ti.CORE={type:3,value:"CORE"},ti.CREST={type:3,value:"CREST"},ti.GATEHEAD={type:3,value:"GATEHEAD"},ti.GUDINGSTRUCTURE={type:3,value:"GUDINGSTRUCTURE"},ti.HIGHWATERLINE={type:3,value:"HIGHWATERLINE"},ti.LANDFIELD={type:3,value:"LANDFIELD"},ti.LEEWARDSIDE={type:3,value:"LEEWARDSIDE"},ti.LOWWATERLINE={type:3,value:"LOWWATERLINE"},ti.MANUFACTURING={type:3,value:"MANUFACTURING"},ti.NAVIGATIONALAREA={type:3,value:"NAVIGATIONALAREA"},ti.PROTECTION={type:3,value:"PROTECTION"},ti.SHIPTRANSFER={type:3,value:"SHIPTRANSFER"},ti.STORAGEAREA={type:3,value:"STORAGEAREA"},ti.VEHICLESERVICING={type:3,value:"VEHICLESERVICING"},ti.WATERFIELD={type:3,value:"WATERFIELD"},ti.WEATHERSIDE={type:3,value:"WEATHERSIDE"},ti.USERDEFINED={type:3,value:"USERDEFINED"},ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMarinePartTypeEnum=ti;var ni=P((function e(){b(this,e)}));ni.ANCHORBOLT={type:3,value:"ANCHORBOLT"},ni.BOLT={type:3,value:"BOLT"},ni.CHAIN={type:3,value:"CHAIN"},ni.COUPLER={type:3,value:"COUPLER"},ni.DOWEL={type:3,value:"DOWEL"},ni.NAIL={type:3,value:"NAIL"},ni.NAILPLATE={type:3,value:"NAILPLATE"},ni.RAILFASTENING={type:3,value:"RAILFASTENING"},ni.RAILJOINT={type:3,value:"RAILJOINT"},ni.RIVET={type:3,value:"RIVET"},ni.ROPE={type:3,value:"ROPE"},ni.SCREW={type:3,value:"SCREW"},ni.SHEARCONNECTOR={type:3,value:"SHEARCONNECTOR"},ni.STAPLE={type:3,value:"STAPLE"},ni.STUDSHEARCONNECTOR={type:3,value:"STUDSHEARCONNECTOR"},ni.USERDEFINED={type:3,value:"USERDEFINED"},ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMechanicalFastenerTypeEnum=ni;var ri=P((function e(){b(this,e)}));ri.AIRSTATION={type:3,value:"AIRSTATION"},ri.FEEDAIRUNIT={type:3,value:"FEEDAIRUNIT"},ri.OXYGENGENERATOR={type:3,value:"OXYGENGENERATOR"},ri.OXYGENPLANT={type:3,value:"OXYGENPLANT"},ri.VACUUMSTATION={type:3,value:"VACUUMSTATION"},ri.USERDEFINED={type:3,value:"USERDEFINED"},ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMedicalDeviceTypeEnum=ri;var ii=P((function e(){b(this,e)}));ii.ARCH_SEGMENT={type:3,value:"ARCH_SEGMENT"},ii.BRACE={type:3,value:"BRACE"},ii.CHORD={type:3,value:"CHORD"},ii.COLLAR={type:3,value:"COLLAR"},ii.MEMBER={type:3,value:"MEMBER"},ii.MULLION={type:3,value:"MULLION"},ii.PLATE={type:3,value:"PLATE"},ii.POST={type:3,value:"POST"},ii.PURLIN={type:3,value:"PURLIN"},ii.RAFTER={type:3,value:"RAFTER"},ii.STAY_CABLE={type:3,value:"STAY_CABLE"},ii.STIFFENING_RIB={type:3,value:"STIFFENING_RIB"},ii.STRINGER={type:3,value:"STRINGER"},ii.STRUCTURALCABLE={type:3,value:"STRUCTURALCABLE"},ii.STRUT={type:3,value:"STRUT"},ii.STUD={type:3,value:"STUD"},ii.SUSPENDER={type:3,value:"SUSPENDER"},ii.SUSPENSION_CABLE={type:3,value:"SUSPENSION_CABLE"},ii.TIEBAR={type:3,value:"TIEBAR"},ii.USERDEFINED={type:3,value:"USERDEFINED"},ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMemberTypeEnum=ii;var ai=P((function e(){b(this,e)}));ai.ACCESSPOINT={type:3,value:"ACCESSPOINT"},ai.BASEBANDUNIT={type:3,value:"BASEBANDUNIT"},ai.BASETRANSCEIVERSTATION={type:3,value:"BASETRANSCEIVERSTATION"},ai.E_UTRAN_NODE_B={type:3,value:"E_UTRAN_NODE_B"},ai.GATEWAY_GPRS_SUPPORT_NODE={type:3,value:"GATEWAY_GPRS_SUPPORT_NODE"},ai.MASTERUNIT={type:3,value:"MASTERUNIT"},ai.MOBILESWITCHINGCENTER={type:3,value:"MOBILESWITCHINGCENTER"},ai.MSCSERVER={type:3,value:"MSCSERVER"},ai.PACKETCONTROLUNIT={type:3,value:"PACKETCONTROLUNIT"},ai.REMOTERADIOUNIT={type:3,value:"REMOTERADIOUNIT"},ai.REMOTEUNIT={type:3,value:"REMOTEUNIT"},ai.SERVICE_GPRS_SUPPORT_NODE={type:3,value:"SERVICE_GPRS_SUPPORT_NODE"},ai.SUBSCRIBERSERVER={type:3,value:"SUBSCRIBERSERVER"},ai.USERDEFINED={type:3,value:"USERDEFINED"},ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMobileTelecommunicationsApplianceTypeEnum=ai;var si=P((function e(){b(this,e)}));si.BOLLARD={type:3,value:"BOLLARD"},si.LINETENSIONER={type:3,value:"LINETENSIONER"},si.MAGNETICDEVICE={type:3,value:"MAGNETICDEVICE"},si.MOORINGHOOKS={type:3,value:"MOORINGHOOKS"},si.VACUUMDEVICE={type:3,value:"VACUUMDEVICE"},si.USERDEFINED={type:3,value:"USERDEFINED"},si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMooringDeviceTypeEnum=si;var oi=P((function e(){b(this,e)}));oi.BELTDRIVE={type:3,value:"BELTDRIVE"},oi.COUPLING={type:3,value:"COUPLING"},oi.DIRECTDRIVE={type:3,value:"DIRECTDRIVE"},oi.USERDEFINED={type:3,value:"USERDEFINED"},oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcMotorConnectionTypeEnum=oi;var li=P((function e(){b(this,e)}));li.BEACON={type:3,value:"BEACON"},li.BUOY={type:3,value:"BUOY"},li.USERDEFINED={type:3,value:"USERDEFINED"},li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcNavigationElementTypeEnum=li;var ui=P((function e(){b(this,e)}));ui.ACTOR={type:3,value:"ACTOR"},ui.CONTROL={type:3,value:"CONTROL"},ui.GROUP={type:3,value:"GROUP"},ui.PROCESS={type:3,value:"PROCESS"},ui.PRODUCT={type:3,value:"PRODUCT"},ui.PROJECT={type:3,value:"PROJECT"},ui.RESOURCE={type:3,value:"RESOURCE"},ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectTypeEnum=ui;var ci=P((function e(){b(this,e)}));ci.CODECOMPLIANCE={type:3,value:"CODECOMPLIANCE"},ci.CODEWAIVER={type:3,value:"CODEWAIVER"},ci.DESIGNINTENT={type:3,value:"DESIGNINTENT"},ci.EXTERNAL={type:3,value:"EXTERNAL"},ci.HEALTHANDSAFETY={type:3,value:"HEALTHANDSAFETY"},ci.MERGECONFLICT={type:3,value:"MERGECONFLICT"},ci.MODELVIEW={type:3,value:"MODELVIEW"},ci.PARAMETER={type:3,value:"PARAMETER"},ci.REQUIREMENT={type:3,value:"REQUIREMENT"},ci.SPECIFICATION={type:3,value:"SPECIFICATION"},ci.TRIGGERCONDITION={type:3,value:"TRIGGERCONDITION"},ci.USERDEFINED={type:3,value:"USERDEFINED"},ci.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcObjectiveEnum=ci;var fi=P((function e(){b(this,e)}));fi.ASSIGNEE={type:3,value:"ASSIGNEE"},fi.ASSIGNOR={type:3,value:"ASSIGNOR"},fi.LESSEE={type:3,value:"LESSEE"},fi.LESSOR={type:3,value:"LESSOR"},fi.LETTINGAGENT={type:3,value:"LETTINGAGENT"},fi.OWNER={type:3,value:"OWNER"},fi.TENANT={type:3,value:"TENANT"},fi.USERDEFINED={type:3,value:"USERDEFINED"},fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOccupantTypeEnum=fi;var pi=P((function e(){b(this,e)}));pi.OPENING={type:3,value:"OPENING"},pi.RECESS={type:3,value:"RECESS"},pi.USERDEFINED={type:3,value:"USERDEFINED"},pi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOpeningElementTypeEnum=pi;var Ai=P((function e(){b(this,e)}));Ai.AUDIOVISUALOUTLET={type:3,value:"AUDIOVISUALOUTLET"},Ai.COMMUNICATIONSOUTLET={type:3,value:"COMMUNICATIONSOUTLET"},Ai.DATAOUTLET={type:3,value:"DATAOUTLET"},Ai.POWEROUTLET={type:3,value:"POWEROUTLET"},Ai.TELEPHONEOUTLET={type:3,value:"TELEPHONEOUTLET"},Ai.USERDEFINED={type:3,value:"USERDEFINED"},Ai.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcOutletTypeEnum=Ai;var di=P((function e(){b(this,e)}));di.FLEXIBLE={type:3,value:"FLEXIBLE"},di.RIGID={type:3,value:"RIGID"},di.USERDEFINED={type:3,value:"USERDEFINED"},di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPavementTypeEnum=di;var vi=P((function e(){b(this,e)}));vi.USERDEFINED={type:3,value:"USERDEFINED"},vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPerformanceHistoryTypeEnum=vi;var hi=P((function e(){b(this,e)}));hi.GRILL={type:3,value:"GRILL"},hi.LOUVER={type:3,value:"LOUVER"},hi.SCREEN={type:3,value:"SCREEN"},hi.USERDEFINED={type:3,value:"USERDEFINED"},hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermeableCoveringOperationEnum=hi;var Ii=P((function e(){b(this,e)}));Ii.ACCESS={type:3,value:"ACCESS"},Ii.BUILDING={type:3,value:"BUILDING"},Ii.WORK={type:3,value:"WORK"},Ii.USERDEFINED={type:3,value:"USERDEFINED"},Ii.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPermitTypeEnum=Ii;var yi=P((function e(){b(this,e)}));yi.PHYSICAL={type:3,value:"PHYSICAL"},yi.VIRTUAL={type:3,value:"VIRTUAL"},yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPhysicalOrVirtualEnum=yi;var mi=P((function e(){b(this,e)}));mi.CAST_IN_PLACE={type:3,value:"CAST_IN_PLACE"},mi.COMPOSITE={type:3,value:"COMPOSITE"},mi.PRECAST_CONCRETE={type:3,value:"PRECAST_CONCRETE"},mi.PREFAB_STEEL={type:3,value:"PREFAB_STEEL"},mi.USERDEFINED={type:3,value:"USERDEFINED"},mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileConstructionEnum=mi;var wi=P((function e(){b(this,e)}));wi.BORED={type:3,value:"BORED"},wi.COHESION={type:3,value:"COHESION"},wi.DRIVEN={type:3,value:"DRIVEN"},wi.FRICTION={type:3,value:"FRICTION"},wi.JETGROUTING={type:3,value:"JETGROUTING"},wi.SUPPORT={type:3,value:"SUPPORT"},wi.USERDEFINED={type:3,value:"USERDEFINED"},wi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPileTypeEnum=wi;var gi=P((function e(){b(this,e)}));gi.BEND={type:3,value:"BEND"},gi.CONNECTOR={type:3,value:"CONNECTOR"},gi.ENTRY={type:3,value:"ENTRY"},gi.EXIT={type:3,value:"EXIT"},gi.JUNCTION={type:3,value:"JUNCTION"},gi.OBSTRUCTION={type:3,value:"OBSTRUCTION"},gi.TRANSITION={type:3,value:"TRANSITION"},gi.USERDEFINED={type:3,value:"USERDEFINED"},gi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeFittingTypeEnum=gi;var Ei=P((function e(){b(this,e)}));Ei.CULVERT={type:3,value:"CULVERT"},Ei.FLEXIBLESEGMENT={type:3,value:"FLEXIBLESEGMENT"},Ei.GUTTER={type:3,value:"GUTTER"},Ei.RIGIDSEGMENT={type:3,value:"RIGIDSEGMENT"},Ei.SPOOL={type:3,value:"SPOOL"},Ei.USERDEFINED={type:3,value:"USERDEFINED"},Ei.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPipeSegmentTypeEnum=Ei;var Ti=P((function e(){b(this,e)}));Ti.BASE_PLATE={type:3,value:"BASE_PLATE"},Ti.COVER_PLATE={type:3,value:"COVER_PLATE"},Ti.CURTAIN_PANEL={type:3,value:"CURTAIN_PANEL"},Ti.FLANGE_PLATE={type:3,value:"FLANGE_PLATE"},Ti.GUSSET_PLATE={type:3,value:"GUSSET_PLATE"},Ti.SHEET={type:3,value:"SHEET"},Ti.SPLICE_PLATE={type:3,value:"SPLICE_PLATE"},Ti.STIFFENER_PLATE={type:3,value:"STIFFENER_PLATE"},Ti.WEB_PLATE={type:3,value:"WEB_PLATE"},Ti.USERDEFINED={type:3,value:"USERDEFINED"},Ti.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPlateTypeEnum=Ti;var bi=P((function e(){b(this,e)}));bi.CURVE3D={type:3,value:"CURVE3D"},bi.PCURVE_S1={type:3,value:"PCURVE_S1"},bi.PCURVE_S2={type:3,value:"PCURVE_S2"},e.IfcPreferredSurfaceCurveRepresentation=bi;var Di=P((function e(){b(this,e)}));Di.ADVICE_CAUTION={type:3,value:"ADVICE_CAUTION"},Di.ADVICE_NOTE={type:3,value:"ADVICE_NOTE"},Di.ADVICE_WARNING={type:3,value:"ADVICE_WARNING"},Di.CALIBRATION={type:3,value:"CALIBRATION"},Di.DIAGNOSTIC={type:3,value:"DIAGNOSTIC"},Di.SHUTDOWN={type:3,value:"SHUTDOWN"},Di.STARTUP={type:3,value:"STARTUP"},Di.USERDEFINED={type:3,value:"USERDEFINED"},Di.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProcedureTypeEnum=Di;var Pi=P((function e(){b(this,e)}));Pi.AREA={type:3,value:"AREA"},Pi.CURVE={type:3,value:"CURVE"},e.IfcProfileTypeEnum=Pi;var Ri=P((function e(){b(this,e)}));Ri.CHANGEORDER={type:3,value:"CHANGEORDER"},Ri.MAINTENANCEWORKORDER={type:3,value:"MAINTENANCEWORKORDER"},Ri.MOVEORDER={type:3,value:"MOVEORDER"},Ri.PURCHASEORDER={type:3,value:"PURCHASEORDER"},Ri.WORKORDER={type:3,value:"WORKORDER"},Ri.USERDEFINED={type:3,value:"USERDEFINED"},Ri.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectOrderTypeEnum=Ri;var Ci=P((function e(){b(this,e)}));Ci.PROJECTED_LENGTH={type:3,value:"PROJECTED_LENGTH"},Ci.TRUE_LENGTH={type:3,value:"TRUE_LENGTH"},e.IfcProjectedOrTrueLengthEnum=Ci;var _i=P((function e(){b(this,e)}));_i.BLISTER={type:3,value:"BLISTER"},_i.DEVIATOR={type:3,value:"DEVIATOR"},_i.USERDEFINED={type:3,value:"USERDEFINED"},_i.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProjectionElementTypeEnum=_i;var Bi=P((function e(){b(this,e)}));Bi.PSET_MATERIALDRIVEN={type:3,value:"PSET_MATERIALDRIVEN"},Bi.PSET_OCCURRENCEDRIVEN={type:3,value:"PSET_OCCURRENCEDRIVEN"},Bi.PSET_PERFORMANCEDRIVEN={type:3,value:"PSET_PERFORMANCEDRIVEN"},Bi.PSET_PROFILEDRIVEN={type:3,value:"PSET_PROFILEDRIVEN"},Bi.PSET_TYPEDRIVENONLY={type:3,value:"PSET_TYPEDRIVENONLY"},Bi.PSET_TYPEDRIVENOVERRIDE={type:3,value:"PSET_TYPEDRIVENOVERRIDE"},Bi.QTO_OCCURRENCEDRIVEN={type:3,value:"QTO_OCCURRENCEDRIVEN"},Bi.QTO_TYPEDRIVENONLY={type:3,value:"QTO_TYPEDRIVENONLY"},Bi.QTO_TYPEDRIVENOVERRIDE={type:3,value:"QTO_TYPEDRIVENOVERRIDE"},Bi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPropertySetTemplateTypeEnum=Bi;var Oi=P((function e(){b(this,e)}));Oi.ELECTROMAGNETIC={type:3,value:"ELECTROMAGNETIC"},Oi.ELECTRONIC={type:3,value:"ELECTRONIC"},Oi.RESIDUALCURRENT={type:3,value:"RESIDUALCURRENT"},Oi.THERMAL={type:3,value:"THERMAL"},Oi.USERDEFINED={type:3,value:"USERDEFINED"},Oi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTrippingUnitTypeEnum=Oi;var Si=P((function e(){b(this,e)}));Si.ANTI_ARCING_DEVICE={type:3,value:"ANTI_ARCING_DEVICE"},Si.CIRCUITBREAKER={type:3,value:"CIRCUITBREAKER"},Si.EARTHINGSWITCH={type:3,value:"EARTHINGSWITCH"},Si.EARTHLEAKAGECIRCUITBREAKER={type:3,value:"EARTHLEAKAGECIRCUITBREAKER"},Si.FUSEDISCONNECTOR={type:3,value:"FUSEDISCONNECTOR"},Si.RESIDUALCURRENTCIRCUITBREAKER={type:3,value:"RESIDUALCURRENTCIRCUITBREAKER"},Si.RESIDUALCURRENTSWITCH={type:3,value:"RESIDUALCURRENTSWITCH"},Si.SPARKGAP={type:3,value:"SPARKGAP"},Si.VARISTOR={type:3,value:"VARISTOR"},Si.VOLTAGELIMITER={type:3,value:"VOLTAGELIMITER"},Si.USERDEFINED={type:3,value:"USERDEFINED"},Si.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcProtectiveDeviceTypeEnum=Si;var Ni=P((function e(){b(this,e)}));Ni.CIRCULATOR={type:3,value:"CIRCULATOR"},Ni.ENDSUCTION={type:3,value:"ENDSUCTION"},Ni.SPLITCASE={type:3,value:"SPLITCASE"},Ni.SUBMERSIBLEPUMP={type:3,value:"SUBMERSIBLEPUMP"},Ni.SUMPPUMP={type:3,value:"SUMPPUMP"},Ni.VERTICALINLINE={type:3,value:"VERTICALINLINE"},Ni.VERTICALTURBINE={type:3,value:"VERTICALTURBINE"},Ni.USERDEFINED={type:3,value:"USERDEFINED"},Ni.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcPumpTypeEnum=Ni;var Li=P((function e(){b(this,e)}));Li.BLADE={type:3,value:"BLADE"},Li.CHECKRAIL={type:3,value:"CHECKRAIL"},Li.GUARDRAIL={type:3,value:"GUARDRAIL"},Li.RACKRAIL={type:3,value:"RACKRAIL"},Li.RAIL={type:3,value:"RAIL"},Li.STOCKRAIL={type:3,value:"STOCKRAIL"},Li.USERDEFINED={type:3,value:"USERDEFINED"},Li.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailTypeEnum=Li;var Mi=P((function e(){b(this,e)}));Mi.BALUSTRADE={type:3,value:"BALUSTRADE"},Mi.FENCE={type:3,value:"FENCE"},Mi.GUARDRAIL={type:3,value:"GUARDRAIL"},Mi.HANDRAIL={type:3,value:"HANDRAIL"},Mi.USERDEFINED={type:3,value:"USERDEFINED"},Mi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailingTypeEnum=Mi;var xi=P((function e(){b(this,e)}));xi.DILATATIONSUPERSTRUCTURE={type:3,value:"DILATATIONSUPERSTRUCTURE"},xi.LINESIDESTRUCTURE={type:3,value:"LINESIDESTRUCTURE"},xi.LINESIDESTRUCTUREPART={type:3,value:"LINESIDESTRUCTUREPART"},xi.PLAINTRACKSUPERSTRUCTURE={type:3,value:"PLAINTRACKSUPERSTRUCTURE"},xi.SUPERSTRUCTURE={type:3,value:"SUPERSTRUCTURE"},xi.TRACKSTRUCTURE={type:3,value:"TRACKSTRUCTURE"},xi.TRACKSTRUCTUREPART={type:3,value:"TRACKSTRUCTUREPART"},xi.TURNOUTSUPERSTRUCTURE={type:3,value:"TURNOUTSUPERSTRUCTURE"},xi.USERDEFINED={type:3,value:"USERDEFINED"},xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayPartTypeEnum=xi;var Fi=P((function e(){b(this,e)}));Fi.USERDEFINED={type:3,value:"USERDEFINED"},Fi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRailwayTypeEnum=Fi;var Hi=P((function e(){b(this,e)}));Hi.SPIRAL={type:3,value:"SPIRAL"},Hi.STRAIGHT={type:3,value:"STRAIGHT"},Hi.USERDEFINED={type:3,value:"USERDEFINED"},Hi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampFlightTypeEnum=Hi;var Ui=P((function e(){b(this,e)}));Ui.HALF_TURN_RAMP={type:3,value:"HALF_TURN_RAMP"},Ui.QUARTER_TURN_RAMP={type:3,value:"QUARTER_TURN_RAMP"},Ui.SPIRAL_RAMP={type:3,value:"SPIRAL_RAMP"},Ui.STRAIGHT_RUN_RAMP={type:3,value:"STRAIGHT_RUN_RAMP"},Ui.TWO_QUARTER_TURN_RAMP={type:3,value:"TWO_QUARTER_TURN_RAMP"},Ui.TWO_STRAIGHT_RUN_RAMP={type:3,value:"TWO_STRAIGHT_RUN_RAMP"},Ui.USERDEFINED={type:3,value:"USERDEFINED"},Ui.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRampTypeEnum=Ui;var Gi=P((function e(){b(this,e)}));Gi.BY_DAY_COUNT={type:3,value:"BY_DAY_COUNT"},Gi.BY_WEEKDAY_COUNT={type:3,value:"BY_WEEKDAY_COUNT"},Gi.DAILY={type:3,value:"DAILY"},Gi.MONTHLY_BY_DAY_OF_MONTH={type:3,value:"MONTHLY_BY_DAY_OF_MONTH"},Gi.MONTHLY_BY_POSITION={type:3,value:"MONTHLY_BY_POSITION"},Gi.WEEKLY={type:3,value:"WEEKLY"},Gi.YEARLY_BY_DAY_OF_MONTH={type:3,value:"YEARLY_BY_DAY_OF_MONTH"},Gi.YEARLY_BY_POSITION={type:3,value:"YEARLY_BY_POSITION"},e.IfcRecurrenceTypeEnum=Gi;var ki=P((function e(){b(this,e)}));ki.BOUNDARY={type:3,value:"BOUNDARY"},ki.INTERSECTION={type:3,value:"INTERSECTION"},ki.KILOPOINT={type:3,value:"KILOPOINT"},ki.LANDMARK={type:3,value:"LANDMARK"},ki.MILEPOINT={type:3,value:"MILEPOINT"},ki.POSITION={type:3,value:"POSITION"},ki.REFERENCEMARKER={type:3,value:"REFERENCEMARKER"},ki.STATION={type:3,value:"STATION"},ki.USERDEFINED={type:3,value:"USERDEFINED"},ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReferentTypeEnum=ki;var ji=P((function e(){b(this,e)}));ji.BLINN={type:3,value:"BLINN"},ji.FLAT={type:3,value:"FLAT"},ji.GLASS={type:3,value:"GLASS"},ji.MATT={type:3,value:"MATT"},ji.METAL={type:3,value:"METAL"},ji.MIRROR={type:3,value:"MIRROR"},ji.PHONG={type:3,value:"PHONG"},ji.PHYSICAL={type:3,value:"PHYSICAL"},ji.PLASTIC={type:3,value:"PLASTIC"},ji.STRAUSS={type:3,value:"STRAUSS"},ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReflectanceMethodEnum=ji;var Vi=P((function e(){b(this,e)}));Vi.DYNAMICALLYCOMPACTED={type:3,value:"DYNAMICALLYCOMPACTED"},Vi.GROUTED={type:3,value:"GROUTED"},Vi.REPLACED={type:3,value:"REPLACED"},Vi.ROLLERCOMPACTED={type:3,value:"ROLLERCOMPACTED"},Vi.SURCHARGEPRELOADED={type:3,value:"SURCHARGEPRELOADED"},Vi.VERTICALLYDRAINED={type:3,value:"VERTICALLYDRAINED"},Vi.USERDEFINED={type:3,value:"USERDEFINED"},Vi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcedSoilTypeEnum=Vi;var Qi=P((function e(){b(this,e)}));Qi.ANCHORING={type:3,value:"ANCHORING"},Qi.EDGE={type:3,value:"EDGE"},Qi.LIGATURE={type:3,value:"LIGATURE"},Qi.MAIN={type:3,value:"MAIN"},Qi.PUNCHING={type:3,value:"PUNCHING"},Qi.RING={type:3,value:"RING"},Qi.SHEAR={type:3,value:"SHEAR"},Qi.STUD={type:3,value:"STUD"},Qi.USERDEFINED={type:3,value:"USERDEFINED"},Qi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarRoleEnum=Qi;var Wi=P((function e(){b(this,e)}));Wi.PLAIN={type:3,value:"PLAIN"},Wi.TEXTURED={type:3,value:"TEXTURED"},e.IfcReinforcingBarSurfaceEnum=Wi;var zi=P((function e(){b(this,e)}));zi.ANCHORING={type:3,value:"ANCHORING"},zi.EDGE={type:3,value:"EDGE"},zi.LIGATURE={type:3,value:"LIGATURE"},zi.MAIN={type:3,value:"MAIN"},zi.PUNCHING={type:3,value:"PUNCHING"},zi.RING={type:3,value:"RING"},zi.SHEAR={type:3,value:"SHEAR"},zi.SPACEBAR={type:3,value:"SPACEBAR"},zi.STUD={type:3,value:"STUD"},zi.USERDEFINED={type:3,value:"USERDEFINED"},zi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingBarTypeEnum=zi;var Ki=P((function e(){b(this,e)}));Ki.USERDEFINED={type:3,value:"USERDEFINED"},Ki.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcReinforcingMeshTypeEnum=Ki;var Yi=P((function e(){b(this,e)}));Yi.BICYCLECROSSING={type:3,value:"BICYCLECROSSING"},Yi.BUS_STOP={type:3,value:"BUS_STOP"},Yi.CARRIAGEWAY={type:3,value:"CARRIAGEWAY"},Yi.CENTRALISLAND={type:3,value:"CENTRALISLAND"},Yi.CENTRALRESERVE={type:3,value:"CENTRALRESERVE"},Yi.HARDSHOULDER={type:3,value:"HARDSHOULDER"},Yi.INTERSECTION={type:3,value:"INTERSECTION"},Yi.LAYBY={type:3,value:"LAYBY"},Yi.PARKINGBAY={type:3,value:"PARKINGBAY"},Yi.PASSINGBAY={type:3,value:"PASSINGBAY"},Yi.PEDESTRIAN_CROSSING={type:3,value:"PEDESTRIAN_CROSSING"},Yi.RAILWAYCROSSING={type:3,value:"RAILWAYCROSSING"},Yi.REFUGEISLAND={type:3,value:"REFUGEISLAND"},Yi.ROADSEGMENT={type:3,value:"ROADSEGMENT"},Yi.ROADSIDE={type:3,value:"ROADSIDE"},Yi.ROADSIDEPART={type:3,value:"ROADSIDEPART"},Yi.ROADWAYPLATEAU={type:3,value:"ROADWAYPLATEAU"},Yi.ROUNDABOUT={type:3,value:"ROUNDABOUT"},Yi.SHOULDER={type:3,value:"SHOULDER"},Yi.SIDEWALK={type:3,value:"SIDEWALK"},Yi.SOFTSHOULDER={type:3,value:"SOFTSHOULDER"},Yi.TOLLPLAZA={type:3,value:"TOLLPLAZA"},Yi.TRAFFICISLAND={type:3,value:"TRAFFICISLAND"},Yi.TRAFFICLANE={type:3,value:"TRAFFICLANE"},Yi.USERDEFINED={type:3,value:"USERDEFINED"},Yi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadPartTypeEnum=Yi;var Xi=P((function e(){b(this,e)}));Xi.USERDEFINED={type:3,value:"USERDEFINED"},Xi.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoadTypeEnum=Xi;var qi=P((function e(){b(this,e)}));qi.ARCHITECT={type:3,value:"ARCHITECT"},qi.BUILDINGOPERATOR={type:3,value:"BUILDINGOPERATOR"},qi.BUILDINGOWNER={type:3,value:"BUILDINGOWNER"},qi.CIVILENGINEER={type:3,value:"CIVILENGINEER"},qi.CLIENT={type:3,value:"CLIENT"},qi.COMMISSIONINGENGINEER={type:3,value:"COMMISSIONINGENGINEER"},qi.CONSTRUCTIONMANAGER={type:3,value:"CONSTRUCTIONMANAGER"},qi.CONSULTANT={type:3,value:"CONSULTANT"},qi.CONTRACTOR={type:3,value:"CONTRACTOR"},qi.COSTENGINEER={type:3,value:"COSTENGINEER"},qi.ELECTRICALENGINEER={type:3,value:"ELECTRICALENGINEER"},qi.ENGINEER={type:3,value:"ENGINEER"},qi.FACILITIESMANAGER={type:3,value:"FACILITIESMANAGER"},qi.FIELDCONSTRUCTIONMANAGER={type:3,value:"FIELDCONSTRUCTIONMANAGER"},qi.MANUFACTURER={type:3,value:"MANUFACTURER"},qi.MECHANICALENGINEER={type:3,value:"MECHANICALENGINEER"},qi.OWNER={type:3,value:"OWNER"},qi.PROJECTMANAGER={type:3,value:"PROJECTMANAGER"},qi.RESELLER={type:3,value:"RESELLER"},qi.STRUCTURALENGINEER={type:3,value:"STRUCTURALENGINEER"},qi.SUBCONTRACTOR={type:3,value:"SUBCONTRACTOR"},qi.SUPPLIER={type:3,value:"SUPPLIER"},qi.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcRoleEnum=qi;var Ji=P((function e(){b(this,e)}));Ji.BARREL_ROOF={type:3,value:"BARREL_ROOF"},Ji.BUTTERFLY_ROOF={type:3,value:"BUTTERFLY_ROOF"},Ji.DOME_ROOF={type:3,value:"DOME_ROOF"},Ji.FLAT_ROOF={type:3,value:"FLAT_ROOF"},Ji.FREEFORM={type:3,value:"FREEFORM"},Ji.GABLE_ROOF={type:3,value:"GABLE_ROOF"},Ji.GAMBREL_ROOF={type:3,value:"GAMBREL_ROOF"},Ji.HIPPED_GABLE_ROOF={type:3,value:"HIPPED_GABLE_ROOF"},Ji.HIP_ROOF={type:3,value:"HIP_ROOF"},Ji.MANSARD_ROOF={type:3,value:"MANSARD_ROOF"},Ji.PAVILION_ROOF={type:3,value:"PAVILION_ROOF"},Ji.RAINBOW_ROOF={type:3,value:"RAINBOW_ROOF"},Ji.SHED_ROOF={type:3,value:"SHED_ROOF"},Ji.USERDEFINED={type:3,value:"USERDEFINED"},Ji.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcRoofTypeEnum=Ji;var Zi=P((function e(){b(this,e)}));Zi.ATTO={type:3,value:"ATTO"},Zi.CENTI={type:3,value:"CENTI"},Zi.DECA={type:3,value:"DECA"},Zi.DECI={type:3,value:"DECI"},Zi.EXA={type:3,value:"EXA"},Zi.FEMTO={type:3,value:"FEMTO"},Zi.GIGA={type:3,value:"GIGA"},Zi.HECTO={type:3,value:"HECTO"},Zi.KILO={type:3,value:"KILO"},Zi.MEGA={type:3,value:"MEGA"},Zi.MICRO={type:3,value:"MICRO"},Zi.MILLI={type:3,value:"MILLI"},Zi.NANO={type:3,value:"NANO"},Zi.PETA={type:3,value:"PETA"},Zi.PICO={type:3,value:"PICO"},Zi.TERA={type:3,value:"TERA"},e.IfcSIPrefix=Zi;var $i=P((function e(){b(this,e)}));$i.AMPERE={type:3,value:"AMPERE"},$i.BECQUEREL={type:3,value:"BECQUEREL"},$i.CANDELA={type:3,value:"CANDELA"},$i.COULOMB={type:3,value:"COULOMB"},$i.CUBIC_METRE={type:3,value:"CUBIC_METRE"},$i.DEGREE_CELSIUS={type:3,value:"DEGREE_CELSIUS"},$i.FARAD={type:3,value:"FARAD"},$i.GRAM={type:3,value:"GRAM"},$i.GRAY={type:3,value:"GRAY"},$i.HENRY={type:3,value:"HENRY"},$i.HERTZ={type:3,value:"HERTZ"},$i.JOULE={type:3,value:"JOULE"},$i.KELVIN={type:3,value:"KELVIN"},$i.LUMEN={type:3,value:"LUMEN"},$i.LUX={type:3,value:"LUX"},$i.METRE={type:3,value:"METRE"},$i.MOLE={type:3,value:"MOLE"},$i.NEWTON={type:3,value:"NEWTON"},$i.OHM={type:3,value:"OHM"},$i.PASCAL={type:3,value:"PASCAL"},$i.RADIAN={type:3,value:"RADIAN"},$i.SECOND={type:3,value:"SECOND"},$i.SIEMENS={type:3,value:"SIEMENS"},$i.SIEVERT={type:3,value:"SIEVERT"},$i.SQUARE_METRE={type:3,value:"SQUARE_METRE"},$i.STERADIAN={type:3,value:"STERADIAN"},$i.TESLA={type:3,value:"TESLA"},$i.VOLT={type:3,value:"VOLT"},$i.WATT={type:3,value:"WATT"},$i.WEBER={type:3,value:"WEBER"},e.IfcSIUnitName=$i;var ea=P((function e(){b(this,e)}));ea.BATH={type:3,value:"BATH"},ea.BIDET={type:3,value:"BIDET"},ea.CISTERN={type:3,value:"CISTERN"},ea.SANITARYFOUNTAIN={type:3,value:"SANITARYFOUNTAIN"},ea.SHOWER={type:3,value:"SHOWER"},ea.SINK={type:3,value:"SINK"},ea.TOILETPAN={type:3,value:"TOILETPAN"},ea.URINAL={type:3,value:"URINAL"},ea.WASHHANDBASIN={type:3,value:"WASHHANDBASIN"},ea.WCSEAT={type:3,value:"WCSEAT"},ea.USERDEFINED={type:3,value:"USERDEFINED"},ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSanitaryTerminalTypeEnum=ea;var ta=P((function e(){b(this,e)}));ta.TAPERED={type:3,value:"TAPERED"},ta.UNIFORM={type:3,value:"UNIFORM"},e.IfcSectionTypeEnum=ta;var na=P((function e(){b(this,e)}));na.CO2SENSOR={type:3,value:"CO2SENSOR"},na.CONDUCTANCESENSOR={type:3,value:"CONDUCTANCESENSOR"},na.CONTACTSENSOR={type:3,value:"CONTACTSENSOR"},na.COSENSOR={type:3,value:"COSENSOR"},na.EARTHQUAKESENSOR={type:3,value:"EARTHQUAKESENSOR"},na.FIRESENSOR={type:3,value:"FIRESENSOR"},na.FLOWSENSOR={type:3,value:"FLOWSENSOR"},na.FOREIGNOBJECTDETECTIONSENSOR={type:3,value:"FOREIGNOBJECTDETECTIONSENSOR"},na.FROSTSENSOR={type:3,value:"FROSTSENSOR"},na.GASSENSOR={type:3,value:"GASSENSOR"},na.HEATSENSOR={type:3,value:"HEATSENSOR"},na.HUMIDITYSENSOR={type:3,value:"HUMIDITYSENSOR"},na.IDENTIFIERSENSOR={type:3,value:"IDENTIFIERSENSOR"},na.IONCONCENTRATIONSENSOR={type:3,value:"IONCONCENTRATIONSENSOR"},na.LEVELSENSOR={type:3,value:"LEVELSENSOR"},na.LIGHTSENSOR={type:3,value:"LIGHTSENSOR"},na.MOISTURESENSOR={type:3,value:"MOISTURESENSOR"},na.MOVEMENTSENSOR={type:3,value:"MOVEMENTSENSOR"},na.OBSTACLESENSOR={type:3,value:"OBSTACLESENSOR"},na.PHSENSOR={type:3,value:"PHSENSOR"},na.PRESSURESENSOR={type:3,value:"PRESSURESENSOR"},na.RADIATIONSENSOR={type:3,value:"RADIATIONSENSOR"},na.RADIOACTIVITYSENSOR={type:3,value:"RADIOACTIVITYSENSOR"},na.RAINSENSOR={type:3,value:"RAINSENSOR"},na.SMOKESENSOR={type:3,value:"SMOKESENSOR"},na.SNOWDEPTHSENSOR={type:3,value:"SNOWDEPTHSENSOR"},na.SOUNDSENSOR={type:3,value:"SOUNDSENSOR"},na.TEMPERATURESENSOR={type:3,value:"TEMPERATURESENSOR"},na.TRAINSENSOR={type:3,value:"TRAINSENSOR"},na.TURNOUTCLOSURESENSOR={type:3,value:"TURNOUTCLOSURESENSOR"},na.WHEELSENSOR={type:3,value:"WHEELSENSOR"},na.WINDSENSOR={type:3,value:"WINDSENSOR"},na.USERDEFINED={type:3,value:"USERDEFINED"},na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSensorTypeEnum=na;var ra=P((function e(){b(this,e)}));ra.FINISH_FINISH={type:3,value:"FINISH_FINISH"},ra.FINISH_START={type:3,value:"FINISH_START"},ra.START_FINISH={type:3,value:"START_FINISH"},ra.START_START={type:3,value:"START_START"},ra.USERDEFINED={type:3,value:"USERDEFINED"},ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSequenceEnum=ra;var ia=P((function e(){b(this,e)}));ia.AWNING={type:3,value:"AWNING"},ia.JALOUSIE={type:3,value:"JALOUSIE"},ia.SHUTTER={type:3,value:"SHUTTER"},ia.USERDEFINED={type:3,value:"USERDEFINED"},ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcShadingDeviceTypeEnum=ia;var aa=P((function e(){b(this,e)}));aa.MARKER={type:3,value:"MARKER"},aa.MIRROR={type:3,value:"MIRROR"},aa.PICTORAL={type:3,value:"PICTORAL"},aa.USERDEFINED={type:3,value:"USERDEFINED"},aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignTypeEnum=aa;var sa=P((function e(){b(this,e)}));sa.AUDIO={type:3,value:"AUDIO"},sa.MIXED={type:3,value:"MIXED"},sa.VISUAL={type:3,value:"VISUAL"},sa.USERDEFINED={type:3,value:"USERDEFINED"},sa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSignalTypeEnum=sa;var oa=P((function e(){b(this,e)}));oa.P_BOUNDEDVALUE={type:3,value:"P_BOUNDEDVALUE"},oa.P_ENUMERATEDVALUE={type:3,value:"P_ENUMERATEDVALUE"},oa.P_LISTVALUE={type:3,value:"P_LISTVALUE"},oa.P_REFERENCEVALUE={type:3,value:"P_REFERENCEVALUE"},oa.P_SINGLEVALUE={type:3,value:"P_SINGLEVALUE"},oa.P_TABLEVALUE={type:3,value:"P_TABLEVALUE"},oa.Q_AREA={type:3,value:"Q_AREA"},oa.Q_COUNT={type:3,value:"Q_COUNT"},oa.Q_LENGTH={type:3,value:"Q_LENGTH"},oa.Q_NUMBER={type:3,value:"Q_NUMBER"},oa.Q_TIME={type:3,value:"Q_TIME"},oa.Q_VOLUME={type:3,value:"Q_VOLUME"},oa.Q_WEIGHT={type:3,value:"Q_WEIGHT"},e.IfcSimplePropertyTemplateTypeEnum=oa;var la=P((function e(){b(this,e)}));la.APPROACH_SLAB={type:3,value:"APPROACH_SLAB"},la.BASESLAB={type:3,value:"BASESLAB"},la.FLOOR={type:3,value:"FLOOR"},la.LANDING={type:3,value:"LANDING"},la.PAVING={type:3,value:"PAVING"},la.ROOF={type:3,value:"ROOF"},la.SIDEWALK={type:3,value:"SIDEWALK"},la.TRACKSLAB={type:3,value:"TRACKSLAB"},la.WEARING={type:3,value:"WEARING"},la.USERDEFINED={type:3,value:"USERDEFINED"},la.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSlabTypeEnum=la;var ua=P((function e(){b(this,e)}));ua.SOLARCOLLECTOR={type:3,value:"SOLARCOLLECTOR"},ua.SOLARPANEL={type:3,value:"SOLARPANEL"},ua.USERDEFINED={type:3,value:"USERDEFINED"},ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSolarDeviceTypeEnum=ua;var ca=P((function e(){b(this,e)}));ca.CONVECTOR={type:3,value:"CONVECTOR"},ca.RADIATOR={type:3,value:"RADIATOR"},ca.USERDEFINED={type:3,value:"USERDEFINED"},ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceHeaterTypeEnum=ca;var fa=P((function e(){b(this,e)}));fa.BERTH={type:3,value:"BERTH"},fa.EXTERNAL={type:3,value:"EXTERNAL"},fa.GFA={type:3,value:"GFA"},fa.INTERNAL={type:3,value:"INTERNAL"},fa.PARKING={type:3,value:"PARKING"},fa.SPACE={type:3,value:"SPACE"},fa.USERDEFINED={type:3,value:"USERDEFINED"},fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpaceTypeEnum=fa;var pa=P((function e(){b(this,e)}));pa.CONSTRUCTION={type:3,value:"CONSTRUCTION"},pa.FIRESAFETY={type:3,value:"FIRESAFETY"},pa.INTERFERENCE={type:3,value:"INTERFERENCE"},pa.LIGHTING={type:3,value:"LIGHTING"},pa.OCCUPANCY={type:3,value:"OCCUPANCY"},pa.RESERVATION={type:3,value:"RESERVATION"},pa.SECURITY={type:3,value:"SECURITY"},pa.THERMAL={type:3,value:"THERMAL"},pa.TRANSPORT={type:3,value:"TRANSPORT"},pa.VENTILATION={type:3,value:"VENTILATION"},pa.USERDEFINED={type:3,value:"USERDEFINED"},pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSpatialZoneTypeEnum=pa;var Aa=P((function e(){b(this,e)}));Aa.BIRDCAGE={type:3,value:"BIRDCAGE"},Aa.COWL={type:3,value:"COWL"},Aa.RAINWATERHOPPER={type:3,value:"RAINWATERHOPPER"},Aa.USERDEFINED={type:3,value:"USERDEFINED"},Aa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStackTerminalTypeEnum=Aa;var da=P((function e(){b(this,e)}));da.CURVED={type:3,value:"CURVED"},da.FREEFORM={type:3,value:"FREEFORM"},da.SPIRAL={type:3,value:"SPIRAL"},da.STRAIGHT={type:3,value:"STRAIGHT"},da.WINDER={type:3,value:"WINDER"},da.USERDEFINED={type:3,value:"USERDEFINED"},da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairFlightTypeEnum=da;var va=P((function e(){b(this,e)}));va.CURVED_RUN_STAIR={type:3,value:"CURVED_RUN_STAIR"},va.DOUBLE_RETURN_STAIR={type:3,value:"DOUBLE_RETURN_STAIR"},va.HALF_TURN_STAIR={type:3,value:"HALF_TURN_STAIR"},va.HALF_WINDING_STAIR={type:3,value:"HALF_WINDING_STAIR"},va.LADDER={type:3,value:"LADDER"},va.QUARTER_TURN_STAIR={type:3,value:"QUARTER_TURN_STAIR"},va.QUARTER_WINDING_STAIR={type:3,value:"QUARTER_WINDING_STAIR"},va.SPIRAL_STAIR={type:3,value:"SPIRAL_STAIR"},va.STRAIGHT_RUN_STAIR={type:3,value:"STRAIGHT_RUN_STAIR"},va.THREE_QUARTER_TURN_STAIR={type:3,value:"THREE_QUARTER_TURN_STAIR"},va.THREE_QUARTER_WINDING_STAIR={type:3,value:"THREE_QUARTER_WINDING_STAIR"},va.TWO_CURVED_RUN_STAIR={type:3,value:"TWO_CURVED_RUN_STAIR"},va.TWO_QUARTER_TURN_STAIR={type:3,value:"TWO_QUARTER_TURN_STAIR"},va.TWO_QUARTER_WINDING_STAIR={type:3,value:"TWO_QUARTER_WINDING_STAIR"},va.TWO_STRAIGHT_RUN_STAIR={type:3,value:"TWO_STRAIGHT_RUN_STAIR"},va.USERDEFINED={type:3,value:"USERDEFINED"},va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStairTypeEnum=va;var ha=P((function e(){b(this,e)}));ha.LOCKED={type:3,value:"LOCKED"},ha.READONLY={type:3,value:"READONLY"},ha.READONLYLOCKED={type:3,value:"READONLYLOCKED"},ha.READWRITE={type:3,value:"READWRITE"},ha.READWRITELOCKED={type:3,value:"READWRITELOCKED"},e.IfcStateEnum=ha;var Ia=P((function e(){b(this,e)}));Ia.CONST={type:3,value:"CONST"},Ia.DISCRETE={type:3,value:"DISCRETE"},Ia.EQUIDISTANT={type:3,value:"EQUIDISTANT"},Ia.LINEAR={type:3,value:"LINEAR"},Ia.PARABOLA={type:3,value:"PARABOLA"},Ia.POLYGONAL={type:3,value:"POLYGONAL"},Ia.SINUS={type:3,value:"SINUS"},Ia.USERDEFINED={type:3,value:"USERDEFINED"},Ia.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveActivityTypeEnum=Ia;var ya=P((function e(){b(this,e)}));ya.CABLE={type:3,value:"CABLE"},ya.COMPRESSION_MEMBER={type:3,value:"COMPRESSION_MEMBER"},ya.PIN_JOINED_MEMBER={type:3,value:"PIN_JOINED_MEMBER"},ya.RIGID_JOINED_MEMBER={type:3,value:"RIGID_JOINED_MEMBER"},ya.TENSION_MEMBER={type:3,value:"TENSION_MEMBER"},ya.USERDEFINED={type:3,value:"USERDEFINED"},ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralCurveMemberTypeEnum=ya;var ma=P((function e(){b(this,e)}));ma.BILINEAR={type:3,value:"BILINEAR"},ma.CONST={type:3,value:"CONST"},ma.DISCRETE={type:3,value:"DISCRETE"},ma.ISOCONTOUR={type:3,value:"ISOCONTOUR"},ma.USERDEFINED={type:3,value:"USERDEFINED"},ma.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceActivityTypeEnum=ma;var wa=P((function e(){b(this,e)}));wa.BENDING_ELEMENT={type:3,value:"BENDING_ELEMENT"},wa.MEMBRANE_ELEMENT={type:3,value:"MEMBRANE_ELEMENT"},wa.SHELL={type:3,value:"SHELL"},wa.USERDEFINED={type:3,value:"USERDEFINED"},wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcStructuralSurfaceMemberTypeEnum=wa;var ga=P((function e(){b(this,e)}));ga.PURCHASE={type:3,value:"PURCHASE"},ga.WORK={type:3,value:"WORK"},ga.USERDEFINED={type:3,value:"USERDEFINED"},ga.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSubContractResourceTypeEnum=ga;var Ea=P((function e(){b(this,e)}));Ea.DEFECT={type:3,value:"DEFECT"},Ea.HATCHMARKING={type:3,value:"HATCHMARKING"},Ea.LINEMARKING={type:3,value:"LINEMARKING"},Ea.MARK={type:3,value:"MARK"},Ea.NONSKIDSURFACING={type:3,value:"NONSKIDSURFACING"},Ea.PAVEMENTSURFACEMARKING={type:3,value:"PAVEMENTSURFACEMARKING"},Ea.RUMBLESTRIP={type:3,value:"RUMBLESTRIP"},Ea.SYMBOLMARKING={type:3,value:"SYMBOLMARKING"},Ea.TAG={type:3,value:"TAG"},Ea.TRANSVERSERUMBLESTRIP={type:3,value:"TRANSVERSERUMBLESTRIP"},Ea.TREATMENT={type:3,value:"TREATMENT"},Ea.USERDEFINED={type:3,value:"USERDEFINED"},Ea.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSurfaceFeatureTypeEnum=Ea;var Ta=P((function e(){b(this,e)}));Ta.BOTH={type:3,value:"BOTH"},Ta.NEGATIVE={type:3,value:"NEGATIVE"},Ta.POSITIVE={type:3,value:"POSITIVE"},e.IfcSurfaceSide=Ta;var ba=P((function e(){b(this,e)}));ba.CONTACTOR={type:3,value:"CONTACTOR"},ba.DIMMERSWITCH={type:3,value:"DIMMERSWITCH"},ba.EMERGENCYSTOP={type:3,value:"EMERGENCYSTOP"},ba.KEYPAD={type:3,value:"KEYPAD"},ba.MOMENTARYSWITCH={type:3,value:"MOMENTARYSWITCH"},ba.RELAY={type:3,value:"RELAY"},ba.SELECTORSWITCH={type:3,value:"SELECTORSWITCH"},ba.STARTER={type:3,value:"STARTER"},ba.START_AND_STOP_EQUIPMENT={type:3,value:"START_AND_STOP_EQUIPMENT"},ba.SWITCHDISCONNECTOR={type:3,value:"SWITCHDISCONNECTOR"},ba.TOGGLESWITCH={type:3,value:"TOGGLESWITCH"},ba.USERDEFINED={type:3,value:"USERDEFINED"},ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSwitchingDeviceTypeEnum=ba;var Da=P((function e(){b(this,e)}));Da.PANEL={type:3,value:"PANEL"},Da.SUBRACK={type:3,value:"SUBRACK"},Da.WORKSURFACE={type:3,value:"WORKSURFACE"},Da.USERDEFINED={type:3,value:"USERDEFINED"},Da.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcSystemFurnitureElementTypeEnum=Da;var Pa=P((function e(){b(this,e)}));Pa.BASIN={type:3,value:"BASIN"},Pa.BREAKPRESSURE={type:3,value:"BREAKPRESSURE"},Pa.EXPANSION={type:3,value:"EXPANSION"},Pa.FEEDANDEXPANSION={type:3,value:"FEEDANDEXPANSION"},Pa.OILRETENTIONTRAY={type:3,value:"OILRETENTIONTRAY"},Pa.PRESSUREVESSEL={type:3,value:"PRESSUREVESSEL"},Pa.STORAGE={type:3,value:"STORAGE"},Pa.VESSEL={type:3,value:"VESSEL"},Pa.USERDEFINED={type:3,value:"USERDEFINED"},Pa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTankTypeEnum=Pa;var Ra=P((function e(){b(this,e)}));Ra.ELAPSEDTIME={type:3,value:"ELAPSEDTIME"},Ra.WORKTIME={type:3,value:"WORKTIME"},Ra.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskDurationEnum=Ra;var Ca=P((function e(){b(this,e)}));Ca.ADJUSTMENT={type:3,value:"ADJUSTMENT"},Ca.ATTENDANCE={type:3,value:"ATTENDANCE"},Ca.CALIBRATION={type:3,value:"CALIBRATION"},Ca.CONSTRUCTION={type:3,value:"CONSTRUCTION"},Ca.DEMOLITION={type:3,value:"DEMOLITION"},Ca.DISMANTLE={type:3,value:"DISMANTLE"},Ca.DISPOSAL={type:3,value:"DISPOSAL"},Ca.EMERGENCY={type:3,value:"EMERGENCY"},Ca.INSPECTION={type:3,value:"INSPECTION"},Ca.INSTALLATION={type:3,value:"INSTALLATION"},Ca.LOGISTIC={type:3,value:"LOGISTIC"},Ca.MAINTENANCE={type:3,value:"MAINTENANCE"},Ca.MOVE={type:3,value:"MOVE"},Ca.OPERATION={type:3,value:"OPERATION"},Ca.REMOVAL={type:3,value:"REMOVAL"},Ca.RENOVATION={type:3,value:"RENOVATION"},Ca.SAFETY={type:3,value:"SAFETY"},Ca.SHUTDOWN={type:3,value:"SHUTDOWN"},Ca.STARTUP={type:3,value:"STARTUP"},Ca.TESTING={type:3,value:"TESTING"},Ca.TROUBLESHOOTING={type:3,value:"TROUBLESHOOTING"},Ca.USERDEFINED={type:3,value:"USERDEFINED"},Ca.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTaskTypeEnum=Ca;var _a=P((function e(){b(this,e)}));_a.COUPLER={type:3,value:"COUPLER"},_a.FIXED_END={type:3,value:"FIXED_END"},_a.TENSIONING_END={type:3,value:"TENSIONING_END"},_a.USERDEFINED={type:3,value:"USERDEFINED"},_a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonAnchorTypeEnum=_a;var Ba=P((function e(){b(this,e)}));Ba.COUPLER={type:3,value:"COUPLER"},Ba.DIABOLO={type:3,value:"DIABOLO"},Ba.DUCT={type:3,value:"DUCT"},Ba.GROUTING_DUCT={type:3,value:"GROUTING_DUCT"},Ba.TRUMPET={type:3,value:"TRUMPET"},Ba.USERDEFINED={type:3,value:"USERDEFINED"},Ba.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonConduitTypeEnum=Ba;var Oa=P((function e(){b(this,e)}));Oa.BAR={type:3,value:"BAR"},Oa.COATED={type:3,value:"COATED"},Oa.STRAND={type:3,value:"STRAND"},Oa.WIRE={type:3,value:"WIRE"},Oa.USERDEFINED={type:3,value:"USERDEFINED"},Oa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTendonTypeEnum=Oa;var Sa=P((function e(){b(this,e)}));Sa.DOWN={type:3,value:"DOWN"},Sa.LEFT={type:3,value:"LEFT"},Sa.RIGHT={type:3,value:"RIGHT"},Sa.UP={type:3,value:"UP"},e.IfcTextPath=Sa;var Na=P((function e(){b(this,e)}));Na.CONTINUOUS={type:3,value:"CONTINUOUS"},Na.DISCRETE={type:3,value:"DISCRETE"},Na.DISCRETEBINARY={type:3,value:"DISCRETEBINARY"},Na.PIECEWISEBINARY={type:3,value:"PIECEWISEBINARY"},Na.PIECEWISECONSTANT={type:3,value:"PIECEWISECONSTANT"},Na.PIECEWISECONTINUOUS={type:3,value:"PIECEWISECONTINUOUS"},Na.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTimeSeriesDataTypeEnum=Na;var La=P((function e(){b(this,e)}));La.BLOCKINGDEVICE={type:3,value:"BLOCKINGDEVICE"},La.DERAILER={type:3,value:"DERAILER"},La.FROG={type:3,value:"FROG"},La.HALF_SET_OF_BLADES={type:3,value:"HALF_SET_OF_BLADES"},La.SLEEPER={type:3,value:"SLEEPER"},La.SPEEDREGULATOR={type:3,value:"SPEEDREGULATOR"},La.TRACKENDOFALIGNMENT={type:3,value:"TRACKENDOFALIGNMENT"},La.VEHICLESTOP={type:3,value:"VEHICLESTOP"},La.USERDEFINED={type:3,value:"USERDEFINED"},La.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTrackElementTypeEnum=La;var Ma=P((function e(){b(this,e)}));Ma.CHOPPER={type:3,value:"CHOPPER"},Ma.COMBINED={type:3,value:"COMBINED"},Ma.CURRENT={type:3,value:"CURRENT"},Ma.FREQUENCY={type:3,value:"FREQUENCY"},Ma.INVERTER={type:3,value:"INVERTER"},Ma.RECTIFIER={type:3,value:"RECTIFIER"},Ma.VOLTAGE={type:3,value:"VOLTAGE"},Ma.USERDEFINED={type:3,value:"USERDEFINED"},Ma.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransformerTypeEnum=Ma;var xa=P((function e(){b(this,e)}));xa.CONTINUOUS={type:3,value:"CONTINUOUS"},xa.CONTSAMEGRADIENT={type:3,value:"CONTSAMEGRADIENT"},xa.CONTSAMEGRADIENTSAMECURVATURE={type:3,value:"CONTSAMEGRADIENTSAMECURVATURE"},xa.DISCONTINUOUS={type:3,value:"DISCONTINUOUS"},e.IfcTransitionCode=xa;var Fa=P((function e(){b(this,e)}));Fa.CRANEWAY={type:3,value:"CRANEWAY"},Fa.ELEVATOR={type:3,value:"ELEVATOR"},Fa.ESCALATOR={type:3,value:"ESCALATOR"},Fa.HAULINGGEAR={type:3,value:"HAULINGGEAR"},Fa.LIFTINGGEAR={type:3,value:"LIFTINGGEAR"},Fa.MOVINGWALKWAY={type:3,value:"MOVINGWALKWAY"},Fa.USERDEFINED={type:3,value:"USERDEFINED"},Fa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTransportElementTypeEnum=Fa;var Ha=P((function e(){b(this,e)}));Ha.CARTESIAN={type:3,value:"CARTESIAN"},Ha.PARAMETER={type:3,value:"PARAMETER"},Ha.UNSPECIFIED={type:3,value:"UNSPECIFIED"},e.IfcTrimmingPreference=Ha;var Ua=P((function e(){b(this,e)}));Ua.FINNED={type:3,value:"FINNED"},Ua.USERDEFINED={type:3,value:"USERDEFINED"},Ua.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcTubeBundleTypeEnum=Ua;var Ga=P((function e(){b(this,e)}));Ga.ABSORBEDDOSEUNIT={type:3,value:"ABSORBEDDOSEUNIT"},Ga.AMOUNTOFSUBSTANCEUNIT={type:3,value:"AMOUNTOFSUBSTANCEUNIT"},Ga.AREAUNIT={type:3,value:"AREAUNIT"},Ga.DOSEEQUIVALENTUNIT={type:3,value:"DOSEEQUIVALENTUNIT"},Ga.ELECTRICCAPACITANCEUNIT={type:3,value:"ELECTRICCAPACITANCEUNIT"},Ga.ELECTRICCHARGEUNIT={type:3,value:"ELECTRICCHARGEUNIT"},Ga.ELECTRICCONDUCTANCEUNIT={type:3,value:"ELECTRICCONDUCTANCEUNIT"},Ga.ELECTRICCURRENTUNIT={type:3,value:"ELECTRICCURRENTUNIT"},Ga.ELECTRICRESISTANCEUNIT={type:3,value:"ELECTRICRESISTANCEUNIT"},Ga.ELECTRICVOLTAGEUNIT={type:3,value:"ELECTRICVOLTAGEUNIT"},Ga.ENERGYUNIT={type:3,value:"ENERGYUNIT"},Ga.FORCEUNIT={type:3,value:"FORCEUNIT"},Ga.FREQUENCYUNIT={type:3,value:"FREQUENCYUNIT"},Ga.ILLUMINANCEUNIT={type:3,value:"ILLUMINANCEUNIT"},Ga.INDUCTANCEUNIT={type:3,value:"INDUCTANCEUNIT"},Ga.LENGTHUNIT={type:3,value:"LENGTHUNIT"},Ga.LUMINOUSFLUXUNIT={type:3,value:"LUMINOUSFLUXUNIT"},Ga.LUMINOUSINTENSITYUNIT={type:3,value:"LUMINOUSINTENSITYUNIT"},Ga.MAGNETICFLUXDENSITYUNIT={type:3,value:"MAGNETICFLUXDENSITYUNIT"},Ga.MAGNETICFLUXUNIT={type:3,value:"MAGNETICFLUXUNIT"},Ga.MASSUNIT={type:3,value:"MASSUNIT"},Ga.PLANEANGLEUNIT={type:3,value:"PLANEANGLEUNIT"},Ga.POWERUNIT={type:3,value:"POWERUNIT"},Ga.PRESSUREUNIT={type:3,value:"PRESSUREUNIT"},Ga.RADIOACTIVITYUNIT={type:3,value:"RADIOACTIVITYUNIT"},Ga.SOLIDANGLEUNIT={type:3,value:"SOLIDANGLEUNIT"},Ga.THERMODYNAMICTEMPERATUREUNIT={type:3,value:"THERMODYNAMICTEMPERATUREUNIT"},Ga.TIMEUNIT={type:3,value:"TIMEUNIT"},Ga.VOLUMEUNIT={type:3,value:"VOLUMEUNIT"},Ga.USERDEFINED={type:3,value:"USERDEFINED"},e.IfcUnitEnum=Ga;var ka=P((function e(){b(this,e)}));ka.ALARMPANEL={type:3,value:"ALARMPANEL"},ka.BASESTATIONCONTROLLER={type:3,value:"BASESTATIONCONTROLLER"},ka.COMBINED={type:3,value:"COMBINED"},ka.CONTROLPANEL={type:3,value:"CONTROLPANEL"},ka.GASDETECTIONPANEL={type:3,value:"GASDETECTIONPANEL"},ka.HUMIDISTAT={type:3,value:"HUMIDISTAT"},ka.INDICATORPANEL={type:3,value:"INDICATORPANEL"},ka.MIMICPANEL={type:3,value:"MIMICPANEL"},ka.THERMOSTAT={type:3,value:"THERMOSTAT"},ka.WEATHERSTATION={type:3,value:"WEATHERSTATION"},ka.USERDEFINED={type:3,value:"USERDEFINED"},ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryControlElementTypeEnum=ka;var ja=P((function e(){b(this,e)}));ja.AIRCONDITIONINGUNIT={type:3,value:"AIRCONDITIONINGUNIT"},ja.AIRHANDLER={type:3,value:"AIRHANDLER"},ja.DEHUMIDIFIER={type:3,value:"DEHUMIDIFIER"},ja.ROOFTOPUNIT={type:3,value:"ROOFTOPUNIT"},ja.SPLITSYSTEM={type:3,value:"SPLITSYSTEM"},ja.USERDEFINED={type:3,value:"USERDEFINED"},ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcUnitaryEquipmentTypeEnum=ja;var Va=P((function e(){b(this,e)}));Va.AIRRELEASE={type:3,value:"AIRRELEASE"},Va.ANTIVACUUM={type:3,value:"ANTIVACUUM"},Va.CHANGEOVER={type:3,value:"CHANGEOVER"},Va.CHECK={type:3,value:"CHECK"},Va.COMMISSIONING={type:3,value:"COMMISSIONING"},Va.DIVERTING={type:3,value:"DIVERTING"},Va.DOUBLECHECK={type:3,value:"DOUBLECHECK"},Va.DOUBLEREGULATING={type:3,value:"DOUBLEREGULATING"},Va.DRAWOFFCOCK={type:3,value:"DRAWOFFCOCK"},Va.FAUCET={type:3,value:"FAUCET"},Va.FLUSHING={type:3,value:"FLUSHING"},Va.GASCOCK={type:3,value:"GASCOCK"},Va.GASTAP={type:3,value:"GASTAP"},Va.ISOLATING={type:3,value:"ISOLATING"},Va.MIXING={type:3,value:"MIXING"},Va.PRESSUREREDUCING={type:3,value:"PRESSUREREDUCING"},Va.PRESSURERELIEF={type:3,value:"PRESSURERELIEF"},Va.REGULATING={type:3,value:"REGULATING"},Va.SAFETYCUTOFF={type:3,value:"SAFETYCUTOFF"},Va.STEAMTRAP={type:3,value:"STEAMTRAP"},Va.STOPCOCK={type:3,value:"STOPCOCK"},Va.USERDEFINED={type:3,value:"USERDEFINED"},Va.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcValveTypeEnum=Va;var Qa=P((function e(){b(this,e)}));Qa.CARGO={type:3,value:"CARGO"},Qa.ROLLINGSTOCK={type:3,value:"ROLLINGSTOCK"},Qa.VEHICLE={type:3,value:"VEHICLE"},Qa.VEHICLEAIR={type:3,value:"VEHICLEAIR"},Qa.VEHICLEMARINE={type:3,value:"VEHICLEMARINE"},Qa.VEHICLETRACKED={type:3,value:"VEHICLETRACKED"},Qa.VEHICLEWHEELED={type:3,value:"VEHICLEWHEELED"},Qa.USERDEFINED={type:3,value:"USERDEFINED"},Qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVehicleTypeEnum=Qa;var Wa=P((function e(){b(this,e)}));Wa.AXIAL_YIELD={type:3,value:"AXIAL_YIELD"},Wa.BENDING_YIELD={type:3,value:"BENDING_YIELD"},Wa.FRICTION={type:3,value:"FRICTION"},Wa.RUBBER={type:3,value:"RUBBER"},Wa.SHEAR_YIELD={type:3,value:"SHEAR_YIELD"},Wa.VISCOUS={type:3,value:"VISCOUS"},Wa.USERDEFINED={type:3,value:"USERDEFINED"},Wa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationDamperTypeEnum=Wa;var za=P((function e(){b(this,e)}));za.BASE={type:3,value:"BASE"},za.COMPRESSION={type:3,value:"COMPRESSION"},za.SPRING={type:3,value:"SPRING"},za.USERDEFINED={type:3,value:"USERDEFINED"},za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVibrationIsolatorTypeEnum=za;var Ka=P((function e(){b(this,e)}));Ka.BOUNDARY={type:3,value:"BOUNDARY"},Ka.CLEARANCE={type:3,value:"CLEARANCE"},Ka.PROVISIONFORVOID={type:3,value:"PROVISIONFORVOID"},Ka.USERDEFINED={type:3,value:"USERDEFINED"},Ka.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVirtualElementTypeEnum=Ka;var Ya=P((function e(){b(this,e)}));Ya.CHAMFER={type:3,value:"CHAMFER"},Ya.CUTOUT={type:3,value:"CUTOUT"},Ya.EDGE={type:3,value:"EDGE"},Ya.HOLE={type:3,value:"HOLE"},Ya.MITER={type:3,value:"MITER"},Ya.NOTCH={type:3,value:"NOTCH"},Ya.USERDEFINED={type:3,value:"USERDEFINED"},Ya.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcVoidingFeatureTypeEnum=Ya;var Xa=P((function e(){b(this,e)}));Xa.ELEMENTEDWALL={type:3,value:"ELEMENTEDWALL"},Xa.MOVABLE={type:3,value:"MOVABLE"},Xa.PARAPET={type:3,value:"PARAPET"},Xa.PARTITIONING={type:3,value:"PARTITIONING"},Xa.PLUMBINGWALL={type:3,value:"PLUMBINGWALL"},Xa.POLYGONAL={type:3,value:"POLYGONAL"},Xa.RETAININGWALL={type:3,value:"RETAININGWALL"},Xa.SHEAR={type:3,value:"SHEAR"},Xa.SOLIDWALL={type:3,value:"SOLIDWALL"},Xa.STANDARD={type:3,value:"STANDARD"},Xa.WAVEWALL={type:3,value:"WAVEWALL"},Xa.USERDEFINED={type:3,value:"USERDEFINED"},Xa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWallTypeEnum=Xa;var qa=P((function e(){b(this,e)}));qa.FLOORTRAP={type:3,value:"FLOORTRAP"},qa.FLOORWASTE={type:3,value:"FLOORWASTE"},qa.GULLYSUMP={type:3,value:"GULLYSUMP"},qa.GULLYTRAP={type:3,value:"GULLYTRAP"},qa.ROOFDRAIN={type:3,value:"ROOFDRAIN"},qa.WASTEDISPOSALUNIT={type:3,value:"WASTEDISPOSALUNIT"},qa.WASTETRAP={type:3,value:"WASTETRAP"},qa.USERDEFINED={type:3,value:"USERDEFINED"},qa.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWasteTerminalTypeEnum=qa;var Ja=P((function e(){b(this,e)}));Ja.BOTTOMHUNG={type:3,value:"BOTTOMHUNG"},Ja.FIXEDCASEMENT={type:3,value:"FIXEDCASEMENT"},Ja.OTHEROPERATION={type:3,value:"OTHEROPERATION"},Ja.PIVOTHORIZONTAL={type:3,value:"PIVOTHORIZONTAL"},Ja.PIVOTVERTICAL={type:3,value:"PIVOTVERTICAL"},Ja.REMOVABLECASEMENT={type:3,value:"REMOVABLECASEMENT"},Ja.SIDEHUNGLEFTHAND={type:3,value:"SIDEHUNGLEFTHAND"},Ja.SIDEHUNGRIGHTHAND={type:3,value:"SIDEHUNGRIGHTHAND"},Ja.SLIDINGHORIZONTAL={type:3,value:"SLIDINGHORIZONTAL"},Ja.SLIDINGVERTICAL={type:3,value:"SLIDINGVERTICAL"},Ja.TILTANDTURNLEFTHAND={type:3,value:"TILTANDTURNLEFTHAND"},Ja.TILTANDTURNRIGHTHAND={type:3,value:"TILTANDTURNRIGHTHAND"},Ja.TOPHUNG={type:3,value:"TOPHUNG"},Ja.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelOperationEnum=Ja;var Za=P((function e(){b(this,e)}));Za.BOTTOM={type:3,value:"BOTTOM"},Za.LEFT={type:3,value:"LEFT"},Za.MIDDLE={type:3,value:"MIDDLE"},Za.RIGHT={type:3,value:"RIGHT"},Za.TOP={type:3,value:"TOP"},Za.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowPanelPositionEnum=Za;var $a=P((function e(){b(this,e)}));$a.ALUMINIUM={type:3,value:"ALUMINIUM"},$a.ALUMINIUM_WOOD={type:3,value:"ALUMINIUM_WOOD"},$a.HIGH_GRADE_STEEL={type:3,value:"HIGH_GRADE_STEEL"},$a.OTHER_CONSTRUCTION={type:3,value:"OTHER_CONSTRUCTION"},$a.PLASTIC={type:3,value:"PLASTIC"},$a.STEEL={type:3,value:"STEEL"},$a.WOOD={type:3,value:"WOOD"},$a.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleConstructionEnum=$a;var es=P((function e(){b(this,e)}));es.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},es.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},es.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},es.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},es.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},es.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},es.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},es.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},es.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},es.USERDEFINED={type:3,value:"USERDEFINED"},es.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowStyleOperationEnum=es;var ts=P((function e(){b(this,e)}));ts.LIGHTDOME={type:3,value:"LIGHTDOME"},ts.SKYLIGHT={type:3,value:"SKYLIGHT"},ts.WINDOW={type:3,value:"WINDOW"},ts.USERDEFINED={type:3,value:"USERDEFINED"},ts.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypeEnum=ts;var ns=P((function e(){b(this,e)}));ns.DOUBLE_PANEL_HORIZONTAL={type:3,value:"DOUBLE_PANEL_HORIZONTAL"},ns.DOUBLE_PANEL_VERTICAL={type:3,value:"DOUBLE_PANEL_VERTICAL"},ns.SINGLE_PANEL={type:3,value:"SINGLE_PANEL"},ns.TRIPLE_PANEL_BOTTOM={type:3,value:"TRIPLE_PANEL_BOTTOM"},ns.TRIPLE_PANEL_HORIZONTAL={type:3,value:"TRIPLE_PANEL_HORIZONTAL"},ns.TRIPLE_PANEL_LEFT={type:3,value:"TRIPLE_PANEL_LEFT"},ns.TRIPLE_PANEL_RIGHT={type:3,value:"TRIPLE_PANEL_RIGHT"},ns.TRIPLE_PANEL_TOP={type:3,value:"TRIPLE_PANEL_TOP"},ns.TRIPLE_PANEL_VERTICAL={type:3,value:"TRIPLE_PANEL_VERTICAL"},ns.USERDEFINED={type:3,value:"USERDEFINED"},ns.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWindowTypePartitioningEnum=ns;var rs=P((function e(){b(this,e)}));rs.FIRSTSHIFT={type:3,value:"FIRSTSHIFT"},rs.SECONDSHIFT={type:3,value:"SECONDSHIFT"},rs.THIRDSHIFT={type:3,value:"THIRDSHIFT"},rs.USERDEFINED={type:3,value:"USERDEFINED"},rs.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkCalendarTypeEnum=rs;var is=P((function e(){b(this,e)}));is.ACTUAL={type:3,value:"ACTUAL"},is.BASELINE={type:3,value:"BASELINE"},is.PLANNED={type:3,value:"PLANNED"},is.USERDEFINED={type:3,value:"USERDEFINED"},is.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkPlanTypeEnum=is;var as=P((function e(){b(this,e)}));as.ACTUAL={type:3,value:"ACTUAL"},as.BASELINE={type:3,value:"BASELINE"},as.PLANNED={type:3,value:"PLANNED"},as.USERDEFINED={type:3,value:"USERDEFINED"},as.NOTDEFINED={type:3,value:"NOTDEFINED"},e.IfcWorkScheduleTypeEnum=as;var ss=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Role=r,s.UserDefinedRole=i,s.Description=a,s.type=3630933823,s}return P(n)}();e.IfcActorRole=ss;var os=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Purpose=r,s.Description=i,s.UserDefinedPurpose=a,s.type=618182010,s}return P(n)}();e.IfcAddress=os;var ls=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTag=r,a.EndTag=i,a.type=2879124712,a}return P(n)}();e.IfcAlignmentParameterSegment=ls;var us=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartHeight=o,p.StartGradient=l,p.EndGradient=u,p.RadiusOfCurvature=c,p.PredefinedType=f,p.type=3633395639,p}return P(n)}(ls);e.IfcAlignmentVerticalSegment=us;var cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ApplicationDeveloper=r,o.Version=i,o.ApplicationFullName=a,o.ApplicationIdentifier=s,o.type=639542469,o}return P(n)}();e.IfcApplication=cs;var fs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=411424972,A}return P(n)}();e.IfcAppliedValue=fs;var ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e)).Identifier=r,p.Name=i,p.Description=a,p.TimeOfApproval=s,p.Status=o,p.Level=l,p.Qualifier=u,p.RequestingApproval=c,p.GivingApproval=f,p.type=130549933,p}return P(n)}();e.IfcApproval=ps;var As=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=4037036970,i}return P(n)}();e.IfcBoundaryCondition=As;var ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessByLengthX=i,c.TranslationalStiffnessByLengthY=a,c.TranslationalStiffnessByLengthZ=s,c.RotationalStiffnessByLengthX=o,c.RotationalStiffnessByLengthY=l,c.RotationalStiffnessByLengthZ=u,c.type=1560379544,c}return P(n)}(As);e.IfcBoundaryEdgeCondition=ds;var vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.TranslationalStiffnessByAreaX=i,o.TranslationalStiffnessByAreaY=a,o.TranslationalStiffnessByAreaZ=s,o.type=3367102660,o}return P(n)}(As);e.IfcBoundaryFaceCondition=vs;var hs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TranslationalStiffnessX=i,c.TranslationalStiffnessY=a,c.TranslationalStiffnessZ=s,c.RotationalStiffnessX=o,c.RotationalStiffnessY=l,c.RotationalStiffnessZ=u,c.type=1387855156,c}return P(n)}(As);e.IfcBoundaryNodeCondition=hs;var Is=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.TranslationalStiffnessX=i,f.TranslationalStiffnessY=a,f.TranslationalStiffnessZ=s,f.RotationalStiffnessX=o,f.RotationalStiffnessY=l,f.RotationalStiffnessZ=u,f.WarpingStiffness=c,f.type=2069777674,f}return P(n)}(hs);e.IfcBoundaryNodeConditionWarping=Is;var ys=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2859738748,r}return P(n)}();e.IfcConnectionGeometry=ys;var ms=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).PointOnRelatingElement=r,a.PointOnRelatedElement=i,a.type=2614616156,a}return P(n)}(ys);e.IfcConnectionPointGeometry=ms;var ws=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceOnRelatingElement=r,a.SurfaceOnRelatedElement=i,a.type=2732653382,a}return P(n)}(ys);e.IfcConnectionSurfaceGeometry=ws;var gs=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VolumeOnRelatingElement=r,a.VolumeOnRelatedElement=i,a.type=775493141,a}return P(n)}(ys);e.IfcConnectionVolumeGeometry=gs;var Es=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Name=r,c.Description=i,c.ConstraintGrade=a,c.ConstraintSource=s,c.CreatingActor=o,c.CreationTime=l,c.UserDefinedGrade=u,c.type=1959218052,c}return P(n)}();e.IfcConstraint=Es;var Ts=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SourceCRS=r,a.TargetCRS=i,a.type=1785450214,a}return P(n)}();e.IfcCoordinateOperation=Ts;var bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.GeodeticDatum=a,o.VerticalDatum=s,o.type=1466758467,o}return P(n)}();e.IfcCoordinateReferenceSystem=bs;var Ds=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).Name=r,A.Description=i,A.AppliedValue=a,A.UnitBasis=s,A.ApplicableDate=o,A.FixedUntilDate=l,A.Category=u,A.Condition=c,A.ArithmeticOperator=f,A.Components=p,A.type=602808272,A}return P(n)}(fs);e.IfcCostValue=Ds;var Ps=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Elements=r,o.UnitType=i,o.UserDefinedType=a,o.Name=s,o.type=1765591967,o}return P(n)}();e.IfcDerivedUnit=Ps;var Rs=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Unit=r,a.Exponent=i,a.type=1045800335,a}return P(n)}();e.IfcDerivedUnitElement=Rs;var Cs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).LengthExponent=r,c.MassExponent=i,c.TimeExponent=a,c.ElectricCurrentExponent=s,c.ThermodynamicTemperatureExponent=o,c.AmountOfSubstanceExponent=l,c.LuminousIntensityExponent=u,c.type=2949456006,c}return P(n)}();e.IfcDimensionalExponents=Cs;var _s=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4294318154,r}return P(n)}();e.IfcExternalInformation=_s;var Bs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Location=r,s.Identification=i,s.Name=a,s.type=3200245327,s}return P(n)}();e.IfcExternalReference=Bs;var Os=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=2242383968,s}return P(n)}(Bs);e.IfcExternallyDefinedHatchStyle=Os;var Ss=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=1040185647,s}return P(n)}(Bs);e.IfcExternallyDefinedSurfaceStyle=Ss;var Ns=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Location=r,s.Identification=i,s.Name=a,s.type=3548104201,s}return P(n)}(Bs);e.IfcExternallyDefinedTextFont=Ns;var Ls=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).AxisTag=r,s.AxisCurve=i,s.SameSense=a,s.type=852622518,s}return P(n)}();e.IfcGridAxis=Ls;var Ms=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TimeStamp=r,a.ListValues=i,a.type=3020489413,a}return P(n)}();e.IfcIrregularTimeSeriesValue=Ms;var xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Version=i,u.Publisher=a,u.VersionDate=s,u.Location=o,u.Description=l,u.type=2655187982,u}return P(n)}(_s);e.IfcLibraryInformation=xs;var Fs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.Description=s,u.Language=o,u.ReferencedLibrary=l,u.type=3452421091,u}return P(n)}(Bs);e.IfcLibraryReference=Fs;var Hs=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MainPlaneAngle=r,s.SecondaryPlaneAngle=i,s.LuminousIntensity=a,s.type=4162380809,s}return P(n)}();e.IfcLightDistributionData=Hs;var Us=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).LightDistributionCurve=r,a.DistributionData=i,a.type=1566485204,a}return P(n)}();e.IfcLightIntensityDistribution=Us;var Gs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i)).SourceCRS=r,A.TargetCRS=i,A.Eastings=a,A.Northings=s,A.OrthogonalHeight=o,A.XAxisAbscissa=l,A.XAxisOrdinate=u,A.Scale=c,A.ScaleY=f,A.ScaleZ=p,A.type=3057273783,A}return P(n)}(Ts);e.IfcMapConversion=Gs;var ks=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MaterialClassifications=r,a.ClassifiedMaterial=i,a.type=1847130766,a}return P(n)}();e.IfcMaterialClassificationRelationship=ks;var js=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=760658860,r}return P(n)}();e.IfcMaterialDefinition=js;var Vs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Material=r,c.LayerThickness=i,c.IsVentilated=a,c.Name=s,c.Description=o,c.Category=l,c.Priority=u,c.type=248100487,c}return P(n)}(js);e.IfcMaterialLayer=Vs;var Qs=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).MaterialLayers=r,s.LayerSetName=i,s.Description=a,s.type=3303938423,s}return P(n)}(js);e.IfcMaterialLayerSet=Qs;var Ws=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).Material=r,p.LayerThickness=i,p.IsVentilated=a,p.Name=s,p.Description=o,p.Category=l,p.Priority=u,p.OffsetDirection=c,p.OffsetValues=f,p.type=1847252529,p}return P(n)}(Vs);e.IfcMaterialLayerWithOffsets=Ws;var zs=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Materials=r,i.type=2199411900,i}return P(n)}();e.IfcMaterialList=zs;var Ks=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).Name=r,u.Description=i,u.Material=a,u.Profile=s,u.Priority=o,u.Category=l,u.type=2235152071,u}return P(n)}(js);e.IfcMaterialProfile=Ks;var Ys=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.MaterialProfiles=a,o.CompositeProfile=s,o.type=164193824,o}return P(n)}(js);e.IfcMaterialProfileSet=Ys;var Xs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).Name=r,c.Description=i,c.Material=a,c.Profile=s,c.Priority=o,c.Category=l,c.OffsetValues=u,c.type=552965576,c}return P(n)}(Ks);e.IfcMaterialProfileWithOffsets=Xs;var qs=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1507914824,r}return P(n)}();e.IfcMaterialUsageDefinition=qs;var Js=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ValueComponent=r,a.UnitComponent=i,a.type=2597039031,a}return P(n)}();e.IfcMeasureWithUnit=Js;var Zs=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.Benchmark=c,d.ValueSource=f,d.DataValue=p,d.ReferencePath=A,d.type=3368373690,d}return P(n)}(Es);e.IfcMetric=Zs;var $s=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Currency=r,i.type=2706619895,i}return P(n)}();e.IfcMonetaryUnit=$s;var eo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Dimensions=r,a.UnitType=i,a.type=1918398963,a}return P(n)}();e.IfcNamedUnit=eo;var to=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).PlacementRelTo=r,i.type=3701648758,i}return P(n)}();e.IfcObjectPlacement=to;var no=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).Name=r,d.Description=i,d.ConstraintGrade=a,d.ConstraintSource=s,d.CreatingActor=o,d.CreationTime=l,d.UserDefinedGrade=u,d.BenchmarkValues=c,d.LogicalAggregator=f,d.ObjectiveQualifier=p,d.UserDefinedQualifier=A,d.type=2251480897,d}return P(n)}(Es);e.IfcObjective=no;var ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identification=r,l.Name=i,l.Description=a,l.Roles=s,l.Addresses=o,l.type=4251960020,l}return P(n)}();e.IfcOrganization=ro;var io=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).OwningUser=r,f.OwningApplication=i,f.State=a,f.ChangeAction=s,f.LastModifiedDate=o,f.LastModifyingUser=l,f.LastModifyingApplication=u,f.CreationDate=c,f.type=1207048766,f}return P(n)}();e.IfcOwnerHistory=io;var ao=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Identification=r,f.FamilyName=i,f.GivenName=a,f.MiddleNames=s,f.PrefixTitles=o,f.SuffixTitles=l,f.Roles=u,f.Addresses=c,f.type=2077209135,f}return P(n)}();e.IfcPerson=ao;var so=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ThePerson=r,s.TheOrganization=i,s.Roles=a,s.type=101040310,s}return P(n)}();e.IfcPersonAndOrganization=so;var oo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2483315170,a}return P(n)}();e.IfcPhysicalQuantity=oo;var lo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Name=r,s.Description=i,s.Unit=a,s.type=2226359599,s}return P(n)}(oo);e.IfcPhysicalSimpleQuantity=lo;var uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).Purpose=r,A.Description=i,A.UserDefinedPurpose=a,A.InternalLocation=s,A.AddressLines=o,A.PostalBox=l,A.Town=u,A.Region=c,A.PostalCode=f,A.Country=p,A.type=3355820592,A}return P(n)}(os);e.IfcPostalAddress=uo;var co=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=677532197,r}return P(n)}();e.IfcPresentationItem=co;var fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.Description=i,o.AssignedItems=a,o.Identifier=s,o.type=2022622350,o}return P(n)}();e.IfcPresentationLayerAssignment=fo;var po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s)).Name=r,f.Description=i,f.AssignedItems=a,f.Identifier=s,f.LayerOn=o,f.LayerFrozen=l,f.LayerBlocked=u,f.LayerStyles=c,f.type=1304840413,f}return P(n)}(fo);e.IfcPresentationLayerWithStyle=po;var Ao=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3119450353,i}return P(n)}();e.IfcPresentationStyle=Ao;var vo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Representations=a,s.type=2095639259,s}return P(n)}();e.IfcProductRepresentation=vo;var ho=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ProfileType=r,a.ProfileName=i,a.type=3958567839,a}return P(n)}();e.IfcProfileDef=ho;var Io=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).Name=r,c.Description=i,c.GeodeticDatum=a,c.VerticalDatum=s,c.MapProjection=o,c.MapZone=l,c.MapUnit=u,c.type=3843373140,c}return P(n)}(bs);e.IfcProjectedCRS=Io;var yo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=986844984,r}return P(n)}();e.IfcPropertyAbstraction=yo;var mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.EnumerationValues=i,s.Unit=a,s.type=3710013099,s}return P(n)}(yo);e.IfcPropertyEnumeration=mo;var wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.AreaValue=s,l.Formula=o,l.type=2044713172,l}return P(n)}(lo);e.IfcQuantityArea=wo;var go=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.CountValue=s,l.Formula=o,l.type=2093928680,l}return P(n)}(lo);e.IfcQuantityCount=go;var Eo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.LengthValue=s,l.Formula=o,l.type=931644368,l}return P(n)}(lo);e.IfcQuantityLength=Eo;var To=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.NumberValue=s,l.Formula=o,l.type=2691318326,l}return P(n)}(lo);e.IfcQuantityNumber=To;var bo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.TimeValue=s,l.Formula=o,l.type=3252649465,l}return P(n)}(lo);e.IfcQuantityTime=bo;var Do=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.VolumeValue=s,l.Formula=o,l.type=2405470396,l}return P(n)}(lo);e.IfcQuantityVolume=Do;var Po=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.Description=i,l.Unit=a,l.WeightValue=s,l.Formula=o,l.type=825690147,l}return P(n)}(lo);e.IfcQuantityWeight=Po;var Ro=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).RecurrenceType=r,f.DayComponent=i,f.WeekdayComponent=a,f.MonthComponent=s,f.Position=o,f.Interval=l,f.Occurrences=u,f.TimePeriods=c,f.type=3915482550,f}return P(n)}();e.IfcRecurrencePattern=Ro;var Co=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).TypeIdentifier=r,l.AttributeIdentifier=i,l.InstanceName=a,l.ListPositions=s,l.InnerReference=o,l.type=2433181523,l}return P(n)}();e.IfcReference=Co;var _o=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1076942058,o}return P(n)}();e.IfcRepresentation=_o;var Bo=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).ContextIdentifier=r,a.ContextType=i,a.type=3377609919,a}return P(n)}();e.IfcRepresentationContext=Bo;var Oo=function(e){I(n,U_);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3008791417,r}return P(n)}();e.IfcRepresentationItem=Oo;var So=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingOrigin=r,a.MappedRepresentation=i,a.type=1660063152,a}return P(n)}();e.IfcRepresentationMap=So;var No=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Description=i,a.type=2439245199,a}return P(n)}();e.IfcResourceLevelRelationship=No;var Lo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2341007311,o}return P(n)}();e.IfcRoot=Lo;var Mo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Prefix=a,o.Name=s,o.type=448429030,o}return P(n)}(eo);e.IfcSIUnit=Mo;var xo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.DataOrigin=i,s.UserDefinedDataOrigin=a,s.type=1054537805,s}return P(n)}();e.IfcSchedulingTime=xo;var Fo=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ShapeRepresentations=r,l.Name=i,l.Description=a,l.ProductDefinitional=s,l.PartOfProductDefinitionShape=o,l.type=867548509,l}return P(n)}();e.IfcShapeAspect=Fo;var Ho=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3982875396,o}return P(n)}(_o);e.IfcShapeModel=Ho;var Uo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=4240577450,o}return P(n)}(Ho);e.IfcShapeRepresentation=Uo;var Go=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2273995522,i}return P(n)}();e.IfcStructuralConnectionCondition=Go;var ko=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=2162789131,i}return P(n)}();e.IfcStructuralLoad=ko;var jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Values=i,s.Locations=a,s.type=3478079324,s}return P(n)}(ko);e.IfcStructuralLoadConfiguration=jo;var Vo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=609421318,i}return P(n)}(ko);e.IfcStructuralLoadOrResult=Vo;var Qo=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2525727697,i}return P(n)}(Vo);e.IfcStructuralLoadStatic=Qo;var Wo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.DeltaTConstant=i,o.DeltaTY=a,o.DeltaTZ=s,o.type=3408363356,o}return P(n)}(Qo);e.IfcStructuralLoadTemperature=Wo;var zo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=2830218821,o}return P(n)}(_o);e.IfcStyleModel=zo;var Ko=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Item=r,s.Styles=i,s.Name=a,s.type=3958052878,s}return P(n)}(Oo);e.IfcStyledItem=Ko;var Yo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=3049322572,o}return P(n)}(zo);e.IfcStyledRepresentation=Yo;var Xo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SurfaceReinforcement1=i,o.SurfaceReinforcement2=a,o.ShearReinforcement=s,o.type=2934153892,o}return P(n)}(Vo);e.IfcSurfaceReinforcementArea=Xo;var qo=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.Side=i,s.Styles=a,s.type=1300840506,s}return P(n)}(Ao);e.IfcSurfaceStyle=qo;var Jo=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).DiffuseTransmissionColour=r,o.DiffuseReflectionColour=i,o.TransmissionColour=a,o.ReflectanceColour=s,o.type=3303107099,o}return P(n)}(co);e.IfcSurfaceStyleLighting=Jo;var Zo=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RefractionIndex=r,a.DispersionFactor=i,a.type=1607154358,a}return P(n)}(co);e.IfcSurfaceStyleRefraction=Zo;var $o=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SurfaceColour=r,a.Transparency=i,a.type=846575682,a}return P(n)}(co);e.IfcSurfaceStyleShading=$o;var el=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Textures=r,i.type=1351298697,i}return P(n)}(co);e.IfcSurfaceStyleWithTextures=el;var tl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).RepeatS=r,l.RepeatT=i,l.Mode=a,l.TextureTransform=s,l.Parameter=o,l.type=626085974,l}return P(n)}(co);e.IfcSurfaceTexture=tl;var nl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Rows=i,s.Columns=a,s.type=985171141,s}return P(n)}();e.IfcTable=nl;var rl=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Identifier=r,l.Name=i,l.Description=a,l.Unit=s,l.ReferencePath=o,l.type=2043862942,l}return P(n)}();e.IfcTableColumn=rl;var il=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).RowCells=r,a.IsHeading=i,a.type=531007025,a}return P(n)}();e.IfcTableRow=il;var al=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a)).Name=r,T.DataOrigin=i,T.UserDefinedDataOrigin=a,T.DurationType=s,T.ScheduleDuration=o,T.ScheduleStart=l,T.ScheduleFinish=u,T.EarlyStart=c,T.EarlyFinish=f,T.LateStart=p,T.LateFinish=A,T.FreeFloat=d,T.TotalFloat=v,T.IsCritical=h,T.StatusTime=I,T.ActualDuration=y,T.ActualStart=m,T.ActualFinish=w,T.RemainingTime=g,T.Completion=E,T.type=1549132990,T}return P(n)}(xo);e.IfcTaskTime=al;var sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E,T){var D;return b(this,n),(D=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E)).Name=r,D.DataOrigin=i,D.UserDefinedDataOrigin=a,D.DurationType=s,D.ScheduleDuration=o,D.ScheduleStart=l,D.ScheduleFinish=u,D.EarlyStart=c,D.EarlyFinish=f,D.LateStart=p,D.LateFinish=A,D.FreeFloat=d,D.TotalFloat=v,D.IsCritical=h,D.StatusTime=I,D.ActualDuration=y,D.ActualStart=m,D.ActualFinish=w,D.RemainingTime=g,D.Completion=E,D.Recurrence=T,D.type=2771591690,D}return P(n)}(al);e.IfcTaskTimeRecurring=sl;var ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).Purpose=r,p.Description=i,p.UserDefinedPurpose=a,p.TelephoneNumbers=s,p.FacsimileNumbers=o,p.PagerNumber=l,p.ElectronicMailAddresses=u,p.WWWHomePageURL=c,p.MessagingIDs=f,p.type=912023232,p}return P(n)}(os);e.IfcTelecomAddress=ol;var ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.TextCharacterAppearance=i,l.TextStyle=a,l.TextFontStyle=s,l.ModelOrDraughting=o,l.type=1447204868,l}return P(n)}(Ao);e.IfcTextStyle=ll;var ul=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Colour=r,a.BackgroundColour=i,a.type=2636378356,a}return P(n)}(co);e.IfcTextStyleForDefinedFont=ul;var cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).TextIndent=r,c.TextAlign=i,c.TextDecoration=a,c.LetterSpacing=s,c.WordSpacing=o,c.TextTransform=l,c.LineHeight=u,c.type=1640371178,c}return P(n)}(co);e.IfcTextStyleTextModel=cl;var fl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Maps=r,i.type=280115917,i}return P(n)}(co);e.IfcTextureCoordinate=fl;var pl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Mode=i,s.Parameter=a,s.type=1742049831,s}return P(n)}(fl);e.IfcTextureCoordinateGenerator=pl;var Al=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).TexCoordIndex=r,a.TexCoordsOf=i,a.type=222769930,a}return P(n)}();e.IfcTextureCoordinateIndices=Al;var dl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).TexCoordIndex=r,s.TexCoordsOf=i,s.InnerTexCoordIndices=a,s.type=1010789467,s}return P(n)}(Al);e.IfcTextureCoordinateIndicesWithVoids=dl;var vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.Vertices=i,s.MappedTo=a,s.type=2552916305,s}return P(n)}(fl);e.IfcTextureMap=vl;var hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1210645708,i}return P(n)}(co);e.IfcTextureVertex=hl;var Il=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TexCoordsList=r,i.type=3611470254,i}return P(n)}(co);e.IfcTextureVertexList=Il;var yl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).StartTime=r,a.EndTime=i,a.type=1199560280,a}return P(n)}();e.IfcTimePeriod=yl;var ml=function(e){I(n,U_);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e)).Name=r,f.Description=i,f.StartTime=a,f.EndTime=s,f.TimeSeriesDataType=o,f.DataOrigin=l,f.UserDefinedDataOrigin=u,f.Unit=c,f.type=3101149627,f}return P(n)}();e.IfcTimeSeries=ml;var wl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ListValues=r,i.type=581633288,i}return P(n)}();e.IfcTimeSeriesValue=wl;var gl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1377556343,r}return P(n)}(Oo);e.IfcTopologicalRepresentationItem=gl;var El=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).ContextOfItems=r,o.RepresentationIdentifier=i,o.RepresentationType=a,o.Items=s,o.type=1735638870,o}return P(n)}(Ho);e.IfcTopologyRepresentation=El;var Tl=function(e){I(n,U_);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Units=r,i.type=180925521,i}return P(n)}();e.IfcUnitAssignment=Tl;var bl=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2799835756,r}return P(n)}(gl);e.IfcVertex=bl;var Dl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).VertexGeometry=r,i.type=1907098498,i}return P(n)}(bl);e.IfcVertexPoint=Dl;var Pl=function(e){I(n,U_);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).IntersectingAxes=r,a.OffsetDistances=i,a.type=891718957,a}return P(n)}();e.IfcVirtualGridIntersection=Pl;var Rl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Name=r,u.DataOrigin=i,u.UserDefinedDataOrigin=a,u.RecurrencePattern=s,u.StartDate=o,u.FinishDate=l,u.type=1236880293,u}return P(n)}(xo);e.IfcWorkTime=Rl;var Cl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartDistAlong=a,p.HorizontalLength=s,p.StartCantLeft=o,p.EndCantLeft=l,p.StartCantRight=u,p.EndCantRight=c,p.PredefinedType=f,p.type=3752311538,p}return P(n)}(ls);e.IfcAlignmentCantSegment=Cl;var _l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).StartTag=r,p.EndTag=i,p.StartPoint=a,p.StartDirection=s,p.StartRadiusOfCurvature=o,p.EndRadiusOfCurvature=l,p.SegmentLength=u,p.GravityCenterLineHeight=c,p.PredefinedType=f,p.type=536804194,p}return P(n)}(ls);e.IfcAlignmentHorizontalSegment=_l;var Bl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingApproval=a,o.RelatedApprovals=s,o.type=3869604511,o}return P(n)}(No);e.IfcApprovalRelationship=Bl;var Ol=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.OuterCurve=a,s.type=3798115385,s}return P(n)}(ho);e.IfcArbitraryClosedProfileDef=Ol;var Sl=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Curve=a,s.type=1310608509,s}return P(n)}(ho);e.IfcArbitraryOpenProfileDef=Sl;var Nl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.OuterCurve=a,o.InnerCurves=s,o.type=2705031697,o}return P(n)}(Ol);e.IfcArbitraryProfileDefWithVoids=Nl;var Ll=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).RepeatS=r,c.RepeatT=i,c.Mode=a,c.TextureTransform=s,c.Parameter=o,c.RasterFormat=l,c.RasterCode=u,c.type=616511568,c}return P(n)}(tl);e.IfcBlobTexture=Ll;var Ml=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Curve=a,o.Thickness=s,o.type=3150382593,o}return P(n)}(Sl);e.IfcCenterLineProfileDef=Ml;var xl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).Source=r,c.Edition=i,c.EditionDate=a,c.Name=s,c.Description=o,c.Specification=l,c.ReferenceTokens=u,c.type=747523909,c}return P(n)}(_s);e.IfcClassification=xl;var Fl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a)).Location=r,u.Identification=i,u.Name=a,u.ReferencedSource=s,u.Description=o,u.Sort=l,u.type=647927063,u}return P(n)}(Bs);e.IfcClassificationReference=Fl;var Hl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).ColourList=r,i.type=3285139300,i}return P(n)}(co);e.IfcColourRgbList=Hl;var Ul=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3264961684,i}return P(n)}(co);e.IfcColourSpecification=Ul;var Gl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).ProfileType=r,o.ProfileName=i,o.Profiles=a,o.Label=s,o.type=1485152156,o}return P(n)}(ho);e.IfcCompositeProfileDef=Gl;var kl=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CfsFaces=r,i.type=370225590,i}return P(n)}(gl);e.IfcConnectedFaceSet=kl;var jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CurveOnRelatingElement=r,a.CurveOnRelatedElement=i,a.type=1981873012,a}return P(n)}(ys);e.IfcConnectionCurveGeometry=jl;var Vl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).PointOnRelatingElement=r,l.PointOnRelatedElement=i,l.EccentricityInX=a,l.EccentricityInY=s,l.EccentricityInZ=o,l.type=45288368,l}return P(n)}(ms);e.IfcConnectionPointEccentricity=Vl;var Ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Dimensions=r,s.UnitType=i,s.Name=a,s.type=3050246964,s}return P(n)}(eo);e.IfcContextDependentUnit=Ql;var Wl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Dimensions=r,o.UnitType=i,o.Name=a,o.ConversionFactor=s,o.type=2889183280,o}return P(n)}(eo);e.IfcConversionBasedUnit=Wl;var zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Dimensions=r,l.UnitType=i,l.Name=a,l.ConversionFactor=s,l.ConversionOffset=o,l.type=2713554722,l}return P(n)}(Wl);e.IfcConversionBasedUnitWithOffset=zl;var Kl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).Name=r,c.Description=i,c.RelatingMonetaryUnit=a,c.RelatedMonetaryUnit=s,c.ExchangeRate=o,c.RateDateTime=l,c.RateSource=u,c.type=539742890,c}return P(n)}(No);e.IfcCurrencyRelationship=Kl;var Yl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Name=r,l.CurveFont=i,l.CurveWidth=a,l.CurveColour=s,l.ModelOrDraughting=o,l.type=3800577675,l}return P(n)}(Ao);e.IfcCurveStyle=Yl;var Xl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.PatternList=i,a.type=1105321065,a}return P(n)}(co);e.IfcCurveStyleFont=Xl;var ql=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.CurveStyleFont=i,s.CurveFontScaling=a,s.type=2367409068,s}return P(n)}(co);e.IfcCurveStyleFontAndScaling=ql;var Jl=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).VisibleSegmentLength=r,a.InvisibleSegmentLength=i,a.type=3510044353,a}return P(n)}(co);e.IfcCurveStyleFontPattern=Jl;var Zl=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=3632507154,l}return P(n)}(ho);e.IfcDerivedProfileDef=Zl;var $l=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e)).Identification=r,w.Name=i,w.Description=a,w.Location=s,w.Purpose=o,w.IntendedUse=l,w.Scope=u,w.Revision=c,w.DocumentOwner=f,w.Editors=p,w.CreationTime=A,w.LastRevisionTime=d,w.ElectronicFormat=v,w.ValidFrom=h,w.ValidUntil=I,w.Confidentiality=y,w.Status=m,w.type=1154170062,w}return P(n)}(_s);e.IfcDocumentInformation=$l;var eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingDocument=a,l.RelatedDocuments=s,l.RelationshipType=o,l.type=770865208,l}return P(n)}(No);e.IfcDocumentInformationRelationship=eu;var tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Location=r,l.Identification=i,l.Name=a,l.Description=s,l.ReferencedDocument=o,l.type=3732053477,l}return P(n)}(Bs);e.IfcDocumentReference=tu;var nu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).EdgeStart=r,a.EdgeEnd=i,a.type=3900360178,a}return P(n)}(gl);e.IfcEdge=nu;var ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).EdgeStart=r,o.EdgeEnd=i,o.EdgeGeometry=a,o.SameSense=s,o.type=476780140,o}return P(n)}(nu);e.IfcEdgeCurve=ru;var iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).Name=r,c.DataOrigin=i,c.UserDefinedDataOrigin=a,c.ActualDate=s,c.EarlyDate=o,c.LateDate=l,c.ScheduleDate=u,c.type=211053100,c}return P(n)}(xo);e.IfcEventTime=iu;var au=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Properties=a,s.type=297599258,s}return P(n)}(yo);e.IfcExtendedProperties=au;var su=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingReference=a,o.RelatedResourceObjects=s,o.type=1437805879,o}return P(n)}(No);e.IfcExternalReferenceRelationship=su;var ou=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Bounds=r,i.type=2556980723,i}return P(n)}(gl);e.IfcFace=ou;var lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Bound=r,a.Orientation=i,a.type=1809719519,a}return P(n)}(gl);e.IfcFaceBound=lu;var uu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Bound=r,a.Orientation=i,a.type=803316827,a}return P(n)}(lu);e.IfcFaceOuterBound=uu;var cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3008276851,s}return P(n)}(ou);e.IfcFaceSurface=cu;var fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.TensionFailureX=i,c.TensionFailureY=a,c.TensionFailureZ=s,c.CompressionFailureX=o,c.CompressionFailureY=l,c.CompressionFailureZ=u,c.type=4219587988,c}return P(n)}(Go);e.IfcFailureConnectionCondition=fu;var pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Name=r,s.FillStyles=i,s.ModelOrDraughting=a,s.type=738692330,s}return P(n)}(Ao);e.IfcFillAreaStyle=pu;var Au=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).ContextIdentifier=r,u.ContextType=i,u.CoordinateSpaceDimension=a,u.Precision=s,u.WorldCoordinateSystem=o,u.TrueNorth=l,u.type=3448662350,u}return P(n)}(Bo);e.IfcGeometricRepresentationContext=Au;var du=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2453401579,r}return P(n)}(Oo);e.IfcGeometricRepresentationItem=du;var vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,new D(0),null,a,null)).ContextIdentifier=r,c.ContextType=i,c.WorldCoordinateSystem=a,c.ParentContext=s,c.TargetScale=o,c.TargetView=l,c.UserDefinedTargetView=u,c.type=4142052618,c}return P(n)}(Au);e.IfcGeometricRepresentationSubContext=vu;var hu=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Elements=r,i.type=3590301190,i}return P(n)}(du);e.IfcGeometricSet=hu;var Iu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.PlacementLocation=i,s.PlacementRefDirection=a,s.type=178086475,s}return P(n)}(to);e.IfcGridPlacement=Iu;var yu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BaseSurface=r,a.AgreementFlag=i,a.type=812098782,a}return P(n)}(du);e.IfcHalfSpaceSolid=yu;var mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).RepeatS=r,u.RepeatT=i,u.Mode=a,u.TextureTransform=s,u.Parameter=o,u.URLReference=l,u.type=3905492369,u}return P(n)}(tl);e.IfcImageTexture=mu;var wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).MappedTo=r,o.Opacity=i,o.Colours=a,o.ColourIndex=s,o.type=3570813810,o}return P(n)}(co);e.IfcIndexedColourMap=wu;var gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Maps=r,s.MappedTo=i,s.TexCoords=a,s.type=1437953363,s}return P(n)}(fl);e.IfcIndexedTextureMap=gu;var Eu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndex=s,o.type=2133299955,o}return P(n)}(gu);e.IfcIndexedTriangleTextureMap=Eu;var Tu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,p.Description=i,p.StartTime=a,p.EndTime=s,p.TimeSeriesDataType=o,p.DataOrigin=l,p.UserDefinedDataOrigin=u,p.Unit=c,p.Values=f,p.type=3741457305,p}return P(n)}(ml);e.IfcIrregularTimeSeries=Tu;var bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Name=r,l.DataOrigin=i,l.UserDefinedDataOrigin=a,l.LagValue=s,l.DurationType=o,l.type=1585845231,l}return P(n)}(xo);e.IfcLagTime=bu;var Du=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=1402838566,o}return P(n)}(du);e.IfcLightSource=Du;var Pu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Name=r,o.LightColour=i,o.AmbientIntensity=a,o.Intensity=s,o.type=125510826,o}return P(n)}(Du);e.IfcLightSourceAmbient=Pu;var Ru=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Name=r,l.LightColour=i,l.AmbientIntensity=a,l.Intensity=s,l.Orientation=o,l.type=2604431987,l}return P(n)}(Du);e.IfcLightSourceDirectional=Ru;var Cu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).Name=r,A.LightColour=i,A.AmbientIntensity=a,A.Intensity=s,A.Position=o,A.ColourAppearance=l,A.ColourTemperature=u,A.LuminousFlux=c,A.LightEmissionSource=f,A.LightDistributionDataSource=p,A.type=4266656042,A}return P(n)}(Du);e.IfcLightSourceGoniometric=Cu;var _u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).Name=r,p.LightColour=i,p.AmbientIntensity=a,p.Intensity=s,p.Position=o,p.Radius=l,p.ConstantAttenuation=u,p.DistanceAttenuation=c,p.QuadricAttenuation=f,p.type=1520743889,p}return P(n)}(Du);e.IfcLightSourcePositional=_u;var Bu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).Name=r,h.LightColour=i,h.AmbientIntensity=a,h.Intensity=s,h.Position=o,h.Radius=l,h.ConstantAttenuation=u,h.DistanceAttenuation=c,h.QuadricAttenuation=f,h.Orientation=p,h.ConcentrationExponent=A,h.SpreadAngle=d,h.BeamWidthAngle=v,h.type=3422422726,h}return P(n)}(_u);e.IfcLightSourceSpot=Bu;var Ou=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).PlacementRelTo=r,s.RelativePlacement=i,s.CartesianPosition=a,s.type=388784114,s}return P(n)}(to);e.IfcLinearPlacement=Ou;var Su=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).PlacementRelTo=r,a.RelativePlacement=i,a.type=2624227202,a}return P(n)}(to);e.IfcLocalPlacement=Su;var Nu=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1008929658,r}return P(n)}(gl);e.IfcLoop=Nu;var Lu=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).MappingSource=r,a.MappingTarget=i,a.type=2347385850,a}return P(n)}(Oo);e.IfcMappedItem=Lu;var Mu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.Category=a,s.type=1838606355,s}return P(n)}(js);e.IfcMaterial=Mu;var xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Name=r,l.Description=i,l.Material=a,l.Fraction=s,l.Category=o,l.type=3708119e3,l}return P(n)}(js);e.IfcMaterialConstituent=xu;var Fu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Name=r,s.Description=i,s.MaterialConstituents=a,s.type=2852063980,s}return P(n)}(js);e.IfcMaterialConstituentSet=Fu;var Hu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Representations=a,o.RepresentedMaterial=s,o.type=2022407955,o}return P(n)}(vo);e.IfcMaterialDefinitionRepresentation=Hu;var Uu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).ForLayerSet=r,l.LayerSetDirection=i,l.DirectionSense=a,l.OffsetFromReferenceLine=s,l.ReferenceExtent=o,l.type=1303795690,l}return P(n)}(qs);e.IfcMaterialLayerSetUsage=Uu;var Gu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).ForProfileSet=r,s.CardinalPoint=i,s.ReferenceExtent=a,s.type=3079605661,s}return P(n)}(qs);e.IfcMaterialProfileSetUsage=Gu;var ku=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ForProfileSet=r,l.CardinalPoint=i,l.ReferenceExtent=a,l.ForProfileEndSet=s,l.CardinalEndPoint=o,l.type=3404854881,l}return P(n)}(Gu);e.IfcMaterialProfileSetUsageTapering=ku;var ju=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.Material=s,o.type=3265635763,o}return P(n)}(au);e.IfcMaterialProperties=ju;var Vu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.RelatingMaterial=a,l.RelatedMaterials=s,l.MaterialExpression=o,l.type=853536259,l}return P(n)}(No);e.IfcMaterialRelationship=Vu;var Qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).ProfileType=r,l.ProfileName=i,l.ParentProfile=a,l.Operator=s,l.Label=o,l.type=2998442950,l}return P(n)}(Zl);e.IfcMirroredProfileDef=Qu;var Wu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=219451334,o}return P(n)}(Lo);e.IfcObjectDefinition=Wu;var zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i)).ProfileType=r,c.ProfileName=i,c.HorizontalWidths=a,c.Widths=s,c.Slopes=o,c.Tags=l,c.OffsetPoint=u,c.type=182550632,c}return P(n)}(ho);e.IfcOpenCrossProfileDef=zu;var Ku=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2665983363,i}return P(n)}(kl);e.IfcOpenShell=Ku;var Yu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingOrganization=a,o.RelatedOrganizations=s,o.type=1411181986,o}return P(n)}(No);e.IfcOrganizationRelationship=Yu;var Xu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,new H_(0))).EdgeStart=r,s.EdgeElement=i,s.Orientation=a,s.type=1029017970,s}return P(n)}(nu);e.IfcOrientedEdge=Xu;var qu=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).ProfileType=r,s.ProfileName=i,s.Position=a,s.type=2529465313,s}return P(n)}(ho);e.IfcParameterizedProfileDef=qu;var Ju=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=2519244187,i}return P(n)}(gl);e.IfcPath=Ju;var Zu=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Description=i,u.HasQuantities=a,u.Discrimination=s,u.Quality=o,u.Usage=l,u.type=3021840470,u}return P(n)}(oo);e.IfcPhysicalComplexQuantity=Zu;var $u=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o)).RepeatS=r,p.RepeatT=i,p.Mode=a,p.TextureTransform=s,p.Parameter=o,p.Width=l,p.Height=u,p.ColourComponents=c,p.Pixel=f,p.type=597895409,p}return P(n)}(tl);e.IfcPixelTexture=$u;var ec=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Location=r,i.type=2004835150,i}return P(n)}(du);e.IfcPlacement=ec;var tc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SizeInX=r,a.SizeInY=i,a.type=1663979128,a}return P(n)}(du);e.IfcPlanarExtent=tc;var nc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2067069095,r}return P(n)}(du);e.IfcPoint=nc;var rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).DistanceAlong=r,l.OffsetLateral=i,l.OffsetVertical=a,l.OffsetLongitudinal=s,l.BasisCurve=o,l.type=2165702409,l}return P(n)}(nc);e.IfcPointByDistanceExpression=rc;var ic=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisCurve=r,a.PointParameter=i,a.type=4022376103,a}return P(n)}(nc);e.IfcPointOnCurve=ic;var ac=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.PointParameterU=i,s.PointParameterV=a,s.type=1423911732,s}return P(n)}(nc);e.IfcPointOnSurface=ac;var sc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Polygon=r,i.type=2924175390,i}return P(n)}(Nu);e.IfcPolyLoop=sc;var oc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).BaseSurface=r,o.AgreementFlag=i,o.Position=a,o.PolygonalBoundary=s,o.type=2775532180,o}return P(n)}(yu);e.IfcPolygonalBoundedHalfSpace=oc;var lc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Name=r,i.type=3727388367,i}return P(n)}(co);e.IfcPreDefinedItem=lc;var uc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=3778827333,r}return P(n)}(yo);e.IfcPreDefinedProperties=uc;var cc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=1775413392,i}return P(n)}(lc);e.IfcPreDefinedTextFont=cc;var fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Name=r,s.Description=i,s.Representations=a,s.type=673634403,s}return P(n)}(vo);e.IfcProductDefinitionShape=fc;var pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Name=r,o.Description=i,o.Properties=a,o.ProfileDefinition=s,o.type=2802850158,o}return P(n)}(au);e.IfcProfileProperties=pc;var Ac=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Name=r,a.Specification=i,a.type=2598011224,a}return P(n)}(yo);e.IfcProperty=Ac;var dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1680319473,o}return P(n)}(Lo);e.IfcPropertyDefinition=dc;var vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Name=r,l.Description=i,l.DependingProperty=a,l.DependantProperty=s,l.Expression=o,l.type=148025276,l}return P(n)}(No);e.IfcPropertyDependencyRelationship=vc;var hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3357820518,o}return P(n)}(dc);e.IfcPropertySetDefinition=hc;var Ic=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=1482703590,o}return P(n)}(dc);e.IfcPropertyTemplateDefinition=Ic;var yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2090586900,o}return P(n)}(hc);e.IfcQuantitySet=yc;var mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.XDim=s,l.YDim=o,l.type=3615266464,l}return P(n)}(qu);e.IfcRectangleProfileDef=mc;var wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).Name=r,A.Description=i,A.StartTime=a,A.EndTime=s,A.TimeSeriesDataType=o,A.DataOrigin=l,A.UserDefinedDataOrigin=u,A.Unit=c,A.TimeStep=f,A.Values=p,A.type=3413951693,A}return P(n)}(ml);e.IfcRegularTimeSeries=wc;var gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).TotalCrossSectionArea=r,u.SteelGrade=i,u.BarSurface=a,u.EffectiveDepth=s,u.NominalBarDiameter=o,u.BarCount=l,u.type=1580146022,u}return P(n)}(uc);e.IfcReinforcementBarProperties=gc;var Ec=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=478536968,o}return P(n)}(Lo);e.IfcRelationship=Ec;var Tc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatedResourceObjects=a,o.RelatingApproval=s,o.type=2943643501,o}return P(n)}(No);e.IfcResourceApprovalRelationship=Tc;var bc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Description=i,o.RelatingConstraint=a,o.RelatedResourceObjects=s,o.type=1608871552,o}return P(n)}(No);e.IfcResourceConstraintRelationship=bc;var Dc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a)).Name=r,g.DataOrigin=i,g.UserDefinedDataOrigin=a,g.ScheduleWork=s,g.ScheduleUsage=o,g.ScheduleStart=l,g.ScheduleFinish=u,g.ScheduleContour=c,g.LevelingDelay=f,g.IsOverAllocated=p,g.StatusTime=A,g.ActualWork=d,g.ActualUsage=v,g.ActualStart=h,g.ActualFinish=I,g.RemainingWork=y,g.RemainingUsage=m,g.Completion=w,g.type=1042787934,g}return P(n)}(xo);e.IfcResourceTime=Dc;var Pc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).ProfileType=r,u.ProfileName=i,u.Position=a,u.XDim=s,u.YDim=o,u.RoundingRadius=l,u.type=2778083089,u}return P(n)}(mc);e.IfcRoundedRectangleProfileDef=Pc;var Rc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SectionType=r,s.StartProfile=i,s.EndProfile=a,s.type=2042790032,s}return P(n)}(uc);e.IfcSectionProperties=Rc;var Cc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e)).LongitudinalStartPosition=r,u.LongitudinalEndPosition=i,u.TransversePosition=a,u.ReinforcementRole=s,u.SectionDefinition=o,u.CrossSectionReinforcementDefinitions=l,u.type=4165799628,u}return P(n)}(uc);e.IfcSectionReinforcementProperties=Cc;var _c=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).SpineCurve=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1509187699,s}return P(n)}(du);e.IfcSectionedSpine=_c;var Bc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Transition=r,i.type=823603102,i}return P(n)}(du);e.IfcSegment=Bc;var Oc=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).SbsmBoundary=r,i.type=4124623270,i}return P(n)}(du);e.IfcShellBasedSurfaceModel=Oc;var Sc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Name=r,a.Specification=i,a.type=3692461612,a}return P(n)}(Ac);e.IfcSimpleProperty=Sc;var Nc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.SlippageX=i,o.SlippageY=a,o.SlippageZ=s,o.type=2609359061,o}return P(n)}(Go);e.IfcSlippageConnectionCondition=Nc;var Lc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=723233188,r}return P(n)}(du);e.IfcSolidModel=Lc;var Mc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.LinearForceX=i,c.LinearForceY=a,c.LinearForceZ=s,c.LinearMomentX=o,c.LinearMomentY=l,c.LinearMomentZ=u,c.type=1595516126,c}return P(n)}(Qo);e.IfcStructuralLoadLinearForce=Mc;var xc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.PlanarForceX=i,o.PlanarForceY=a,o.PlanarForceZ=s,o.type=2668620305,o}return P(n)}(Qo);e.IfcStructuralLoadPlanarForce=xc;var Fc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.DisplacementX=i,c.DisplacementY=a,c.DisplacementZ=s,c.RotationalDisplacementRX=o,c.RotationalDisplacementRY=l,c.RotationalDisplacementRZ=u,c.type=2473145415,c}return P(n)}(Qo);e.IfcStructuralLoadSingleDisplacement=Fc;var Hc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.DisplacementX=i,f.DisplacementY=a,f.DisplacementZ=s,f.RotationalDisplacementRX=o,f.RotationalDisplacementRY=l,f.RotationalDisplacementRZ=u,f.Distortion=c,f.type=1973038258,f}return P(n)}(Fc);e.IfcStructuralLoadSingleDisplacementDistortion=Hc;var Uc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r)).Name=r,c.ForceX=i,c.ForceY=a,c.ForceZ=s,c.MomentX=o,c.MomentY=l,c.MomentZ=u,c.type=1597423693,c}return P(n)}(Qo);e.IfcStructuralLoadSingleForce=Uc;var Gc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).Name=r,f.ForceX=i,f.ForceY=a,f.ForceZ=s,f.MomentX=o,f.MomentY=l,f.MomentZ=u,f.WarpingMoment=c,f.type=1190533807,f}return P(n)}(Uc);e.IfcStructuralLoadSingleForceWarping=Gc;var kc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).EdgeStart=r,s.EdgeEnd=i,s.ParentEdge=a,s.type=2233826070,s}return P(n)}(nu);e.IfcSubedge=kc;var jc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2513912981,r}return P(n)}(du);e.IfcSurface=jc;var Vc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i)).SurfaceColour=r,p.Transparency=i,p.DiffuseColour=a,p.TransmissionColour=s,p.DiffuseTransmissionColour=o,p.ReflectionColour=l,p.SpecularColour=u,p.SpecularHighlight=c,p.ReflectanceMethod=f,p.type=1878645084,p}return P(n)}($o);e.IfcSurfaceStyleRendering=Vc;var Qc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptArea=r,a.Position=i,a.type=2247615214,a}return P(n)}(Lc);e.IfcSweptAreaSolid=Qc;var Wc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Directrix=r,l.Radius=i,l.InnerRadius=a,l.StartParam=s,l.EndParam=o,l.type=1260650574,l}return P(n)}(Lc);e.IfcSweptDiskSolid=Wc;var zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Directrix=r,u.Radius=i,u.InnerRadius=a,u.StartParam=s,u.EndParam=o,u.FilletRadius=l,u.type=1096409881,u}return P(n)}(Wc);e.IfcSweptDiskSolidPolygonal=zc;var Kc=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).SweptCurve=r,a.Position=i,a.type=230924584,a}return P(n)}(jc);e.IfcSweptSurface=Kc;var Yc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a)).ProfileType=r,v.ProfileName=i,v.Position=a,v.Depth=s,v.FlangeWidth=o,v.WebThickness=l,v.FlangeThickness=u,v.FilletRadius=c,v.FlangeEdgeRadius=f,v.WebEdgeRadius=p,v.WebSlope=A,v.FlangeSlope=d,v.type=3071757647,v}return P(n)}(qu);e.IfcTShapeProfileDef=Yc;var Xc=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=901063453,r}return P(n)}(du);e.IfcTessellatedItem=Xc;var qc=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Literal=r,s.Placement=i,s.Path=a,s.type=4282788508,s}return P(n)}(du);e.IfcTextLiteral=qc;var Jc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).Literal=r,l.Placement=i,l.Path=a,l.Extent=s,l.BoxAlignment=o,l.type=3124975700,l}return P(n)}(qc);e.IfcTextLiteralWithExtent=Jc;var Zc=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r)).Name=r,u.FontFamily=i,u.FontStyle=a,u.FontVariant=s,u.FontWeight=o,u.FontSize=l,u.type=1983826977,u}return P(n)}(cc);e.IfcTextStyleFontModel=Zc;var $c=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a)).ProfileType=r,c.ProfileName=i,c.Position=a,c.BottomXDim=s,c.TopXDim=o,c.YDim=l,c.TopXOffset=u,c.type=2715220739,c}return P(n)}(qu);e.IfcTrapeziumProfileDef=$c;var ef=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ApplicableOccurrence=o,u.HasPropertySets=l,u.type=1628702193,u}return P(n)}(Wu);e.IfcTypeObject=ef;var tf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ProcessType=f,p.type=3736923433,p}return P(n)}(ef);e.IfcTypeProcess=tf;var nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ApplicableOccurrence=o,f.HasPropertySets=l,f.RepresentationMaps=u,f.Tag=c,f.type=2347495698,f}return P(n)}(ef);e.IfcTypeProduct=nf;var rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.Identification=u,p.LongDescription=c,p.ResourceType=f,p.type=3698973494,p}return P(n)}(ef);e.IfcTypeResource=rf;var af=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.Depth=s,A.FlangeWidth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.EdgeRadius=f,A.FlangeSlope=p,A.type=427810014,A}return P(n)}(qu);e.IfcUShapeProfileDef=af;var sf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Orientation=r,a.Magnitude=i,a.type=1417489154,a}return P(n)}(du);e.IfcVector=sf;var of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).LoopVertex=r,i.type=2759199220,i}return P(n)}(Nu);e.IfcVertexLoop=of;var lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.FlangeWidth=o,p.WebThickness=l,p.FlangeThickness=u,p.FilletRadius=c,p.EdgeRadius=f,p.type=2543172580,p}return P(n)}(qu);e.IfcZShapeProfileDef=lf;var uf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Bounds=r,s.FaceSurface=i,s.SameSense=a,s.type=3406155212,s}return P(n)}(cu);e.IfcAdvancedFace=uf;var cf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).OuterBoundary=r,a.InnerBoundaries=i,a.type=669184980,a}return P(n)}(du);e.IfcAnnotationFillArea=cf;var ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I){var y;return b(this,n),(y=t.call(this,e,r,i,a)).ProfileType=r,y.ProfileName=i,y.Position=a,y.BottomFlangeWidth=s,y.OverallDepth=o,y.WebThickness=l,y.BottomFlangeThickness=u,y.BottomFlangeFilletRadius=c,y.TopFlangeWidth=f,y.TopFlangeThickness=p,y.TopFlangeFilletRadius=A,y.BottomFlangeEdgeRadius=d,y.BottomFlangeSlope=v,y.TopFlangeEdgeRadius=h,y.TopFlangeSlope=I,y.type=3207858831,y}return P(n)}(qu);e.IfcAsymmetricIShapeProfileDef=ff;var pf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.Axis=i,a.type=4261334040,a}return P(n)}(ec);e.IfcAxis1Placement=pf;var Af=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Location=r,a.RefDirection=i,a.type=3125803723,a}return P(n)}(ec);e.IfcAxis2Placement2D=Af;var df=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=2740243338,s}return P(n)}(ec);e.IfcAxis2Placement3D=df;var vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Location=r,s.Axis=i,s.RefDirection=a,s.type=3425423356,s}return P(n)}(ec);e.IfcAxis2PlacementLinear=vf;var hf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=2736907675,s}return P(n)}(du);e.IfcBooleanResult=hf;var If=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=4182860854,r}return P(n)}(jc);e.IfcBoundedSurface=If;var yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Corner=r,o.XDim=i,o.YDim=a,o.ZDim=s,o.type=2581212453,o}return P(n)}(du);e.IfcBoundingBox=yf;var mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).BaseSurface=r,s.AgreementFlag=i,s.Enclosure=a,s.type=2713105998,s}return P(n)}(yu);e.IfcBoxedHalfSpace=mf;var wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a)).ProfileType=r,f.ProfileName=i,f.Position=a,f.Depth=s,f.Width=o,f.WallThickness=l,f.Girth=u,f.InternalFilletRadius=c,f.type=2898889636,f}return P(n)}(qu);e.IfcCShapeProfileDef=wf;var gf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Coordinates=r,i.type=1123145078,i}return P(n)}(nc);e.IfcCartesianPoint=gf;var Ef=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=574549367,r}return P(n)}(du);e.IfcCartesianPointList=Ef;var Tf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=1675464909,a}return P(n)}(Ef);e.IfcCartesianPointList2D=Tf;var bf=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).CoordList=r,a.TagList=i,a.type=2059837836,a}return P(n)}(Ef);e.IfcCartesianPointList3D=bf;var Df=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=59481748,o}return P(n)}(du);e.IfcCartesianTransformationOperator=Df;var Pf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).Axis1=r,o.Axis2=i,o.LocalOrigin=a,o.Scale=s,o.type=3749851601,o}return P(n)}(Df);e.IfcCartesianTransformationOperator2D=Pf;var Rf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Scale2=o,l.type=3486308946,l}return P(n)}(Pf);e.IfcCartesianTransformationOperator2DnonUniform=Rf;var Cf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).Axis1=r,l.Axis2=i,l.LocalOrigin=a,l.Scale=s,l.Axis3=o,l.type=3331915920,l}return P(n)}(Df);e.IfcCartesianTransformationOperator3D=Cf;var _f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).Axis1=r,c.Axis2=i,c.LocalOrigin=a,c.Scale=s,c.Axis3=o,c.Scale2=l,c.Scale3=u,c.type=1416205885,c}return P(n)}(Cf);e.IfcCartesianTransformationOperator3DnonUniform=_f;var Bf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).ProfileType=r,o.ProfileName=i,o.Position=a,o.Radius=s,o.type=1383045692,o}return P(n)}(qu);e.IfcCircleProfileDef=Bf;var Of=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).CfsFaces=r,i.type=2205249479,i}return P(n)}(kl);e.IfcClosedShell=Of;var Sf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Name=r,o.Red=i,o.Green=a,o.Blue=s,o.type=776857604,o}return P(n)}(Ul);e.IfcColourRgb=Sf;var Nf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.HasProperties=s,o.type=2542286263,o}return P(n)}(Ac);e.IfcComplexProperty=Nf;var Lf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Transition=r,s.SameSense=i,s.ParentCurve=a,s.type=2485617015,s}return P(n)}(Bc);e.IfcCompositeCurveSegment=Lf;var Mf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ResourceType=f,d.BaseCosts=p,d.BaseQuantity=A,d.type=2574617495,d}return P(n)}(rf);e.IfcConstructionResourceType=Mf;var xf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=3419103109,p}return P(n)}(Wu);e.IfcContext=xf;var Ff=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1815067380,v}return P(n)}(Mf);e.IfcCrewResourceType=Ff;var Hf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2506170314,i}return P(n)}(du);e.IfcCsgPrimitive3D=Hf;var Uf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).TreeRootExpression=r,i.type=2147822146,i}return P(n)}(Lc);e.IfcCsgSolid=Uf;var Gf=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=2601014836,r}return P(n)}(du);e.IfcCurve=Gf;var kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.OuterBoundary=i,s.InnerBoundaries=a,s.type=2827736869,s}return P(n)}(If);e.IfcCurveBoundedPlane=kf;var jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).BasisSurface=r,s.Boundaries=i,s.ImplicitOuter=a,s.type=2629017746,s}return P(n)}(If);e.IfcCurveBoundedSurface=jf;var Vf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Transition=r,l.Placement=i,l.SegmentStart=a,l.SegmentLength=s,l.ParentCurve=o,l.type=4212018352,l}return P(n)}(Bc);e.IfcCurveSegment=Vf;var Qf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).DirectionRatios=r,i.type=32440307,i}return P(n)}(du);e.IfcDirection=Qf;var Wf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).SweptArea=r,l.Position=i,l.Directrix=a,l.StartParam=s,l.EndParam=o,l.type=593015953,l}return P(n)}(Qc);e.IfcDirectrixCurveSweptAreaSolid=Wf;var zf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).EdgeList=r,i.type=1472233963,i}return P(n)}(Nu);e.IfcEdgeLoop=zf;var Kf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.MethodOfMeasurement=o,u.Quantities=l,u.type=1883228015,u}return P(n)}(yc);e.IfcElementQuantity=Kf;var Yf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=339256511,p}return P(n)}(nf);e.IfcElementType=Yf;var Xf=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2777663545,i}return P(n)}(jc);e.IfcElementarySurface=Xf;var qf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a)).ProfileType=r,l.ProfileName=i,l.Position=a,l.SemiAxis1=s,l.SemiAxis2=o,l.type=2835456948,l}return P(n)}(qu);e.IfcEllipseProfileDef=qf;var Jf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ProcessType=f,v.PredefinedType=p,v.EventTriggerType=A,v.UserDefinedEventTriggerType=d,v.type=4024345920,v}return P(n)}(tf);e.IfcEventType=Jf;var Zf=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=477187591,o}return P(n)}(Qc);e.IfcExtrudedAreaSolid=Zf;var $f=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.ExtrudedDirection=a,l.Depth=s,l.EndSweptArea=o,l.type=2804161546,l}return P(n)}(Zf);e.IfcExtrudedAreaSolidTapered=$f;var ep=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).FbsmFaces=r,i.type=2047409740,i}return P(n)}(du);e.IfcFaceBasedSurfaceModel=ep;var tp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).HatchLineAppearance=r,l.StartOfNextHatchLine=i,l.PointOfReferenceHatchLine=a,l.PatternStart=s,l.HatchLineAngle=o,l.type=374418227,l}return P(n)}(du);e.IfcFillAreaStyleHatching=tp;var np=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).TilingPattern=r,s.Tiles=i,s.TilingScale=a,s.type=315944413,s}return P(n)}(du);e.IfcFillAreaStyleTiles=np;var rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=2652556860,u}return P(n)}(Wf);e.IfcFixedReferenceSweptAreaSolid=rp;var ip=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=4238390223,p}return P(n)}(Yf);e.IfcFurnishingElementType=ip;var ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.AssemblyPlace=p,d.PredefinedType=A,d.type=1268542332,d}return P(n)}(ip);e.IfcFurnitureType=ap;var sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4095422895,A}return P(n)}(Yf);e.IfcGeographicElementType=sp;var op=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Elements=r,i.type=987898635,i}return P(n)}(hu);e.IfcGeometricCurveSet=op;var lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a)).ProfileType=r,A.ProfileName=i,A.Position=a,A.OverallWidth=s,A.OverallDepth=o,A.WebThickness=l,A.FlangeThickness=u,A.FilletRadius=c,A.FlangeEdgeRadius=f,A.FlangeSlope=p,A.type=1484403080,A}return P(n)}(qu);e.IfcIShapeProfileDef=lp;var up=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).CoordIndex=r,i.type=178912537,i}return P(n)}(Xc);e.IfcIndexedPolygonalFace=up;var cp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).CoordIndex=r,a.InnerCoordIndices=i,a.type=2294589976,a}return P(n)}(up);e.IfcIndexedPolygonalFaceWithVoids=cp;var fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Maps=r,o.MappedTo=i,o.TexCoords=a,o.TexCoordIndices=s,o.type=3465909080,o}return P(n)}(gu);e.IfcIndexedPolygonalTextureMap=fp;var pp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a)).ProfileType=r,p.ProfileName=i,p.Position=a,p.Depth=s,p.Width=o,p.Thickness=l,p.FilletRadius=u,p.EdgeRadius=c,p.LegSlope=f,p.type=572779678,p}return P(n)}(qu);e.IfcLShapeProfileDef=pp;var Ap=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=428585644,v}return P(n)}(Mf);e.IfcLaborResourceType=Ap;var dp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Pnt=r,a.Dir=i,a.type=1281925730,a}return P(n)}(Gf);e.IfcLine=dp;var vp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Outer=r,i.type=1425443689,i}return P(n)}(Lc);e.IfcManifoldSolidBrep=vp;var hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=3888040117,l}return P(n)}(Wu);e.IfcObject=hp;var Ip=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).BasisCurve=r,i.type=590820931,i}return P(n)}(Gf);e.IfcOffsetCurve=Ip;var yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.Distance=i,s.SelfIntersect=a,s.type=3388369263,s}return P(n)}(Ip);e.IfcOffsetCurve2D=yp;var mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).BasisCurve=r,o.Distance=i,o.SelfIntersect=a,o.RefDirection=s,o.type=3505215534,o}return P(n)}(Ip);e.IfcOffsetCurve3D=mp;var wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).BasisCurve=r,s.OffsetValues=i,s.Tag=a,s.type=2485787929,s}return P(n)}(Ip);e.IfcOffsetCurveByDistances=wp;var gp=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).BasisSurface=r,a.ReferenceCurve=i,a.type=1682466193,a}return P(n)}(Gf);e.IfcPcurve=gp;var Ep=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SizeInX=r,s.SizeInY=i,s.Placement=a,s.type=603570806,s}return P(n)}(tc);e.IfcPlanarBox=Ep;var Tp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Position=r,i.type=220341763,i}return P(n)}(Xf);e.IfcPlane=Tp;var bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e)).Position=r,o.CoefficientsX=i,o.CoefficientsY=a,o.CoefficientsZ=s,o.type=3381221214,o}return P(n)}(Gf);e.IfcPolynomialCurve=bp;var Dp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=759155922,i}return P(n)}(lc);e.IfcPreDefinedColour=Dp;var Pp=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=2559016684,i}return P(n)}(lc);e.IfcPreDefinedCurveFont=Pp;var Rp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3967405729,o}return P(n)}(hc);e.IfcPreDefinedPropertySet=Rp;var Cp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.Identification=u,A.LongDescription=c,A.ProcessType=f,A.PredefinedType=p,A.type=569719735,A}return P(n)}(tf);e.IfcProcedureType=Cp;var _p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2945172077,c}return P(n)}(hp);e.IfcProcess=_p;var Bp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=4208778838,c}return P(n)}(hp);e.IfcProduct=Bp;var Op=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=103090709,p}return P(n)}(xf);e.IfcProject=Op;var Sp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.LongName=l,p.Phase=u,p.RepresentationContexts=c,p.UnitsInContext=f,p.type=653396225,p}return P(n)}(xf);e.IfcProjectLibrary=Sp;var Np=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i)).Name=r,u.Specification=i,u.UpperBoundValue=a,u.LowerBoundValue=s,u.Unit=o,u.SetPointValue=l,u.type=871118103,u}return P(n)}(Sc);e.IfcPropertyBoundedValue=Np;var Lp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.EnumerationValues=a,o.EnumerationReference=s,o.type=4166981789,o}return P(n)}(Sc);e.IfcPropertyEnumeratedValue=Lp;var Mp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.ListValues=a,o.Unit=s,o.type=2752243245,o}return P(n)}(Sc);e.IfcPropertyListValue=Mp;var xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.UsageName=a,o.PropertyReference=s,o.type=941946838,o}return P(n)}(Sc);e.IfcPropertyReferenceValue=xp;var Fp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.HasProperties=o,l.type=1451395588,l}return P(n)}(hc);e.IfcPropertySet=Fp;var Hp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.TemplateType=o,c.ApplicableEntity=l,c.HasPropertyTemplates=u,c.type=492091185,c}return P(n)}(Ic);e.IfcPropertySetTemplate=Hp;var Up=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Name=r,o.Specification=i,o.NominalValue=a,o.Unit=s,o.type=3650150729,o}return P(n)}(Sc);e.IfcPropertySingleValue=Up;var Gp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i)).Name=r,f.Specification=i,f.DefiningValues=a,f.DefinedValues=s,f.Expression=o,f.DefiningUnit=l,f.DefinedUnit=u,f.CurveInterpolation=c,f.type=110355661,f}return P(n)}(Sc);e.IfcPropertyTableValue=Gp;var kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=3521284610,o}return P(n)}(Ic);e.IfcPropertyTemplate=kp;var jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).ProfileType=r,f.ProfileName=i,f.Position=a,f.XDim=s,f.YDim=o,f.WallThickness=l,f.InnerFilletRadius=u,f.OuterFilletRadius=c,f.type=2770003689,f}return P(n)}(mc);e.IfcRectangleHollowProfileDef=jp;var Vp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.Height=s,o.type=2798486643,o}return P(n)}(Hf);e.IfcRectangularPyramid=Vp;var Qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).BasisSurface=r,c.U1=i,c.V1=a,c.U2=s,c.V2=o,c.Usense=l,c.Vsense=u,c.type=3454111270,c}return P(n)}(If);e.IfcRectangularTrimmedSurface=Qp;var Wp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.DefinitionType=o,u.ReinforcementSectionDefinitions=l,u.type=3765753017,u}return P(n)}(Rp);e.IfcReinforcementDefinitionProperties=Wp;var zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatedObjectsType=l,u.type=3939117080,u}return P(n)}(Ec);e.IfcRelAssigns=zp;var Kp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingActor=u,f.ActingRole=c,f.type=1683148259,f}return P(n)}(zp);e.IfcRelAssignsToActor=Kp;var Yp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingControl=u,c.type=2495723537,c}return P(n)}(zp);e.IfcRelAssignsToControl=Yp;var Xp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingGroup=u,c.type=1307041759,c}return P(n)}(zp);e.IfcRelAssignsToGroup=Xp;var qp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingGroup=u,f.Factor=c,f.type=1027710054,f}return P(n)}(Xp);e.IfcRelAssignsToGroupByFactor=qp;var Jp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.RelatedObjects=o,f.RelatedObjectsType=l,f.RelatingProcess=u,f.QuantityInProcess=c,f.type=4278684876,f}return P(n)}(zp);e.IfcRelAssignsToProcess=Jp;var Zp=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingProduct=u,c.type=2857406711,c}return P(n)}(zp);e.IfcRelAssignsToProduct=Zp;var $p=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.RelatedObjectsType=l,c.RelatingResource=u,c.type=205026976,c}return P(n)}(zp);e.IfcRelAssignsToResource=$p;var eA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.RelatedObjects=o,l.type=1865459582,l}return P(n)}(Ec);e.IfcRelAssociates=eA;var tA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingApproval=l,u.type=4095574036,u}return P(n)}(eA);e.IfcRelAssociatesApproval=tA;var nA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingClassification=l,u.type=919958153,u}return P(n)}(eA);e.IfcRelAssociatesClassification=nA;var rA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatedObjects=o,c.Intent=l,c.RelatingConstraint=u,c.type=2728634034,c}return P(n)}(eA);e.IfcRelAssociatesConstraint=rA;var iA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingDocument=l,u.type=982818633,u}return P(n)}(eA);e.IfcRelAssociatesDocument=iA;var aA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingLibrary=l,u.type=3840914261,u}return P(n)}(eA);e.IfcRelAssociatesLibrary=aA;var sA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingMaterial=l,u.type=2655215786,u}return P(n)}(eA);e.IfcRelAssociatesMaterial=sA;var oA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingProfileDef=l,u.type=1033248425,u}return P(n)}(eA);e.IfcRelAssociatesProfileDef=oA;var lA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=826625072,o}return P(n)}(Ec);e.IfcRelConnects=lA;var uA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ConnectionGeometry=o,c.RelatingElement=l,c.RelatedElement=u,c.type=1204542856,c}return P(n)}(lA);e.IfcRelConnectsElements=uA;var cA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ConnectionGeometry=o,d.RelatingElement=l,d.RelatedElement=u,d.RelatingPriorities=c,d.RelatedPriorities=f,d.RelatedConnectionType=p,d.RelatingConnectionType=A,d.type=3945020480,d}return P(n)}(uA);e.IfcRelConnectsPathElements=cA;var fA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPort=o,u.RelatedElement=l,u.type=4201705270,u}return P(n)}(lA);e.IfcRelConnectsPortToElement=fA;var pA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.RelatingPort=o,c.RelatedPort=l,c.RealizingElement=u,c.type=3190031847,c}return P(n)}(lA);e.IfcRelConnectsPorts=pA;var AA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedStructuralActivity=l,u.type=2127690289,u}return P(n)}(lA);e.IfcRelConnectsStructuralActivity=AA;var dA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingStructuralMember=o,A.RelatedStructuralConnection=l,A.AppliedCondition=u,A.AdditionalConditions=c,A.SupportedLength=f,A.ConditionCoordinateSystem=p,A.type=1638771189,A}return P(n)}(lA);e.IfcRelConnectsStructuralMember=dA;var vA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingStructuralMember=o,d.RelatedStructuralConnection=l,d.AppliedCondition=u,d.AdditionalConditions=c,d.SupportedLength=f,d.ConditionCoordinateSystem=p,d.ConnectionConstraint=A,d.type=504942748,d}return P(n)}(dA);e.IfcRelConnectsWithEccentricity=vA;var hA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ConnectionGeometry=o,p.RelatingElement=l,p.RelatedElement=u,p.RealizingElements=c,p.ConnectionType=f,p.type=3678494232,p}return P(n)}(uA);e.IfcRelConnectsWithRealizingElements=hA;var IA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=3242617779,u}return P(n)}(lA);e.IfcRelContainedInSpatialStructure=IA;var yA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedCoverings=l,u.type=886880790,u}return P(n)}(lA);e.IfcRelCoversBldgElements=yA;var mA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSpace=o,u.RelatedCoverings=l,u.type=2802773753,u}return P(n)}(lA);e.IfcRelCoversSpaces=mA;var wA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingContext=o,u.RelatedDefinitions=l,u.type=2565941209,u}return P(n)}(Ec);e.IfcRelDeclares=wA;var gA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=2551354335,o}return P(n)}(Ec);e.IfcRelDecomposes=gA;var EA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a,s)).GlobalId=r,o.OwnerHistory=i,o.Name=a,o.Description=s,o.type=693640335,o}return P(n)}(Ec);e.IfcRelDefines=EA;var TA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingObject=l,u.type=1462361463,u}return P(n)}(EA);e.IfcRelDefinesByObject=TA;var bA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingPropertyDefinition=l,u.type=4186316022,u}return P(n)}(EA);e.IfcRelDefinesByProperties=bA;var DA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedPropertySets=o,u.RelatingTemplate=l,u.type=307848117,u}return P(n)}(EA);e.IfcRelDefinesByTemplate=DA;var PA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedObjects=o,u.RelatingType=l,u.type=781010003,u}return P(n)}(EA);e.IfcRelDefinesByType=PA;var RA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingOpeningElement=o,u.RelatedBuildingElement=l,u.type=3940055652,u}return P(n)}(lA);e.IfcRelFillsElement=RA;var CA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedControlElements=o,u.RelatingFlowElement=l,u.type=279856033,u}return P(n)}(lA);e.IfcRelFlowControlElements=CA;var _A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingElement=o,A.RelatedElement=l,A.InterferenceGeometry=u,A.InterferenceSpace=c,A.InterferenceType=f,A.ImpliedOrder=p,A.type=427948657,A}return P(n)}(lA);e.IfcRelInterferesElements=_A;var BA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=3268803585,u}return P(n)}(gA);e.IfcRelNests=BA;var OA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingPositioningElement=o,u.RelatedProducts=l,u.type=1441486842,u}return P(n)}(lA);e.IfcRelPositions=OA;var SA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedFeatureElement=l,u.type=750771296,u}return P(n)}(gA);e.IfcRelProjectsElement=SA;var NA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatedElements=o,u.RelatingStructure=l,u.type=1245217292,u}return P(n)}(lA);e.IfcRelReferencedInSpatialStructure=NA;var LA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingProcess=o,p.RelatedProcess=l,p.TimeLag=u,p.SequenceType=c,p.UserDefinedSequenceType=f,p.type=4122056220,p}return P(n)}(lA);e.IfcRelSequence=LA;var MA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingSystem=o,u.RelatedBuildings=l,u.type=366585022,u}return P(n)}(lA);e.IfcRelServicesBuildings=MA;var xA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.RelatingSpace=o,p.RelatedBuildingElement=l,p.ConnectionGeometry=u,p.PhysicalOrVirtualBoundary=c,p.InternalOrExternalBoundary=f,p.type=3451746338,p}return P(n)}(lA);e.IfcRelSpaceBoundary=xA;var FA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.RelatingSpace=o,A.RelatedBuildingElement=l,A.ConnectionGeometry=u,A.PhysicalOrVirtualBoundary=c,A.InternalOrExternalBoundary=f,A.ParentBoundary=p,A.type=3523091289,A}return P(n)}(xA);e.IfcRelSpaceBoundary1stLevel=FA;var HA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.RelatingSpace=o,d.RelatedBuildingElement=l,d.ConnectionGeometry=u,d.PhysicalOrVirtualBoundary=c,d.InternalOrExternalBoundary=f,d.ParentBoundary=p,d.CorrespondingBoundary=A,d.type=1521410863,d}return P(n)}(FA);e.IfcRelSpaceBoundary2ndLevel=HA;var UA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingBuildingElement=o,u.RelatedOpeningElement=l,u.type=1401173127,u}return P(n)}(gA);e.IfcRelVoidsElement=UA;var GA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i,a)).Transition=r,o.SameSense=i,o.ParentCurve=a,o.ParamLength=s,o.type=816062949,o}return P(n)}(Lf);e.IfcReparametrisedCompositeCurveSegment=GA;var kA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.Identification=l,c.LongDescription=u,c.type=2914609552,c}return P(n)}(hp);e.IfcResource=kA;var jA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptArea=r,o.Position=i,o.Axis=a,o.Angle=s,o.type=1856042241,o}return P(n)}(Qc);e.IfcRevolvedAreaSolid=jA;var VA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).SweptArea=r,l.Position=i,l.Axis=a,l.Angle=s,l.EndSweptArea=o,l.type=3243963512,l}return P(n)}(jA);e.IfcRevolvedAreaSolidTapered=VA;var QA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.BottomRadius=a,s.type=4158566097,s}return P(n)}(Hf);e.IfcRightCircularCone=QA;var WA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.Height=i,s.Radius=a,s.type=3626867408,s}return P(n)}(Hf);e.IfcRightCircularCylinder=WA;var zA=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Directrix=r,a.CrossSections=i,a.type=1862484736,a}return P(n)}(Lc);e.IfcSectionedSolid=zA;var KA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).Directrix=r,s.CrossSections=i,s.CrossSectionPositions=a,s.type=1290935644,s}return P(n)}(zA);e.IfcSectionedSolidHorizontal=KA;var YA=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Directrix=r,s.CrossSectionPositions=i,s.CrossSections=a,s.type=1356537516,s}return P(n)}(jc);e.IfcSectionedSurface=YA;var XA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.TemplateType=o,v.PrimaryMeasureType=l,v.SecondaryMeasureType=u,v.Enumerators=c,v.PrimaryUnit=f,v.SecondaryUnit=p,v.Expression=A,v.AccessState=d,v.type=3663146110,v}return P(n)}(kp);e.IfcSimplePropertyTemplate=XA;var qA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=1412071761,f}return P(n)}(Bp);e.IfcSpatialElement=qA;var JA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=710998568,p}return P(n)}(nf);e.IfcSpatialElementType=JA;var ZA=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=2706606064,p}return P(n)}(qA);e.IfcSpatialStructureElement=ZA;var $A=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893378262,p}return P(n)}(JA);e.IfcSpatialStructureElementType=$A;var ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=463610769,p}return P(n)}(qA);e.IfcSpatialZone=ed;var td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=2481509218,d}return P(n)}(JA);e.IfcSpatialZoneType=td;var nd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=451544542,a}return P(n)}(Hf);e.IfcSphere=nd;var rd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=4015995234,a}return P(n)}(Xf);e.IfcSphericalSurface=rd;var id=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2735484536,i}return P(n)}(Gf);e.IfcSpiral=id;var ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3544373492,p}return P(n)}(Bp);e.IfcStructuralActivity=ad;var sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3136571912,c}return P(n)}(Bp);e.IfcStructuralItem=sd;var od=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=530289379,c}return P(n)}(sd);e.IfcStructuralMember=od;var ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=3689010777,p}return P(n)}(ad);e.IfcStructuralReaction=ld;var ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=3979015343,p}return P(n)}(od);e.IfcStructuralSurfaceMember=ud;var cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Thickness=f,p.type=2218152070,p}return P(n)}(ud);e.IfcStructuralSurfaceMemberVarying=cd;var fd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=603775116,A}return P(n)}(ld);e.IfcStructuralSurfaceReaction=fd;var pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4095615324,v}return P(n)}(Mf);e.IfcSubContractResourceType=pd;var Ad=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=699246055,s}return P(n)}(Gf);e.IfcSurfaceCurve=Ad;var dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.ReferenceSurface=l,u.type=2028607225,u}return P(n)}(Wf);e.IfcSurfaceCurveSweptAreaSolid=dd;var vd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).SweptCurve=r,o.Position=i,o.ExtrudedDirection=a,o.Depth=s,o.type=2809605785,o}return P(n)}(Kc);e.IfcSurfaceOfLinearExtrusion=vd;var hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i)).SweptCurve=r,s.Position=i,s.AxisPosition=a,s.type=4124788165,s}return P(n)}(Kc);e.IfcSurfaceOfRevolution=hd;var Id=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1580310250,A}return P(n)}(ip);e.IfcSystemFurnitureElementType=Id;var yd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.LongDescription=u,h.Status=c,h.WorkMethod=f,h.IsMilestone=p,h.Priority=A,h.TaskTime=d,h.PredefinedType=v,h.type=3473067441,h}return P(n)}(_p);e.IfcTask=yd;var md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.Identification=u,d.LongDescription=c,d.ProcessType=f,d.PredefinedType=p,d.WorkMethod=A,d.type=3206491090,d}return P(n)}(tf);e.IfcTaskType=md;var wd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Coordinates=r,a.Closed=i,a.type=2387106220,a}return P(n)}(Xc);e.IfcTessellatedFaceSet=wd;var gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r)).Position=r,l.CubicTerm=i,l.QuadraticTerm=a,l.LinearTerm=s,l.ConstantTerm=o,l.type=782932809,l}return P(n)}(id);e.IfcThirdOrderPolynomialSpiral=gd;var Ed=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.MajorRadius=i,s.MinorRadius=a,s.type=1935646853,s}return P(n)}(Xf);e.IfcToroidalSurface=Ed;var Td=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3665877780,p}return P(n)}(Yf);e.IfcTransportationDeviceType=Td;var bd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i)).Coordinates=r,l.Closed=i,l.Normals=a,l.CoordIndex=s,l.PnIndex=o,l.type=2916149573,l}return P(n)}(wd);e.IfcTriangulatedFaceSet=bd;var Dd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).Coordinates=r,u.Closed=i,u.Normals=a,u.CoordIndex=s,u.PnIndex=o,u.Flags=l,u.type=1229763772,u}return P(n)}(bd);e.IfcTriangulatedIrregularNetwork=Dd;var Pd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3651464721,A}return P(n)}(Td);e.IfcVehicleType=Pd;var Rd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.LiningDepth=o,m.LiningThickness=l,m.TransomThickness=u,m.MullionThickness=c,m.FirstTransomOffset=f,m.SecondTransomOffset=p,m.FirstMullionOffset=A,m.SecondMullionOffset=d,m.ShapeAspectStyle=v,m.LiningOffset=h,m.LiningToPanelOffsetX=I,m.LiningToPanelOffsetY=y,m.type=336235671,m}return P(n)}(Rp);e.IfcWindowLiningProperties=Rd;var Cd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=512836454,p}return P(n)}(Rp);e.IfcWindowPanelProperties=Cd;var _d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.TheActor=l,u.type=2296667514,u}return P(n)}(hp);e.IfcActor=_d;var Bd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=1635779807,i}return P(n)}(vp);e.IfcAdvancedBrep=Bd;var Od=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=2603310189,a}return P(n)}(Bd);e.IfcAdvancedBrepWithVoids=Od;var Sd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=1674181508,f}return P(n)}(Bp);e.IfcAnnotation=Sd;var Nd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e)).UDegree=r,c.VDegree=i,c.ControlPointsList=a,c.SurfaceForm=s,c.UClosed=o,c.VClosed=l,c.SelfIntersect=u,c.type=2887950389,c}return P(n)}(If);e.IfcBSplineSurface=Nd;var Ld=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u)).UDegree=r,v.VDegree=i,v.ControlPointsList=a,v.SurfaceForm=s,v.UClosed=o,v.VClosed=l,v.SelfIntersect=u,v.UMultiplicities=c,v.VMultiplicities=f,v.UKnots=p,v.VKnots=A,v.KnotSpec=d,v.type=167062518,v}return P(n)}(Nd);e.IfcBSplineSurfaceWithKnots=Ld;var Md=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.XLength=i,o.YLength=a,o.ZLength=s,o.type=1334484129,o}return P(n)}(Hf);e.IfcBlock=Md;var xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Operator=r,s.FirstOperand=i,s.SecondOperand=a,s.type=3649129432,s}return P(n)}(hf);e.IfcBooleanClippingResult=xd;var Fd=function(e){I(n,e);var t=m(n);function n(e){var r;return b(this,n),(r=t.call(this,e)).type=1260505505,r}return P(n)}(Gf);e.IfcBoundedCurve=Fd;var Hd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.Elevation=p,A.type=3124254112,A}return P(n)}(ZA);e.IfcBuildingStorey=Hd;var Ud=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1626504194,p}return P(n)}(Yf);e.IfcBuiltElementType=Ud;var Gd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2197970202,A}return P(n)}(Ud);e.IfcChimneyType=Gd;var kd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s)).ProfileType=r,l.ProfileName=i,l.Position=a,l.Radius=s,l.WallThickness=o,l.type=2937912522,l}return P(n)}(Bf);e.IfcCircleHollowProfileDef=kd;var jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3893394355,p}return P(n)}(Yf);e.IfcCivilElementType=jd;var Vd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.ClothoidConstant=i,a.type=3497074424,a}return P(n)}(id);e.IfcClothoid=Vd;var Qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=300633059,A}return P(n)}(Ud);e.IfcColumnType=Qd;var Wd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.UsageName=o,c.TemplateType=l,c.HasPropertyTemplates=u,c.type=3875453745,c}return P(n)}(kp);e.IfcComplexPropertyTemplate=Wd;var zd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e)).Segments=r,a.SelfIntersect=i,a.type=3732776249,a}return P(n)}(Fd);e.IfcCompositeCurve=zd;var Kd=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=15328376,a}return P(n)}(zd);e.IfcCompositeCurveOnSurface=Kd;var Yd=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Position=r,i.type=2510884976,i}return P(n)}(Gf);e.IfcConic=Yd;var Xd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=2185764099,v}return P(n)}(Mf);e.IfcConstructionEquipmentResourceType=Xd;var qd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=4105962743,v}return P(n)}(Mf);e.IfcConstructionMaterialResourceType=qd;var Jd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.Identification=u,v.LongDescription=c,v.ResourceType=f,v.BaseCosts=p,v.BaseQuantity=A,v.PredefinedType=d,v.type=1525564444,v}return P(n)}(Mf);e.IfcConstructionProductResourceType=Jd;var Zd=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.LongDescription=u,A.Usage=c,A.BaseCosts=f,A.BaseQuantity=p,A.type=2559216714,A}return P(n)}(kA);e.IfcConstructionResource=Zd;var $d=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.Identification=l,u.type=3293443760,u}return P(n)}(hp);e.IfcControl=$d;var ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.CosineTerm=i,s.ConstantTerm=a,s.type=2000195564,s}return P(n)}(id);e.IfcCosineSpiral=ev;var tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.CostValues=c,p.CostQuantities=f,p.type=3895139033,p}return P(n)}($d);e.IfcCostItem=tv;var nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.Identification=l,A.PredefinedType=u,A.Status=c,A.SubmittedOn=f,A.UpdateDate=p,A.type=1419761937,A}return P(n)}($d);e.IfcCostSchedule=nv;var rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4189326743,A}return P(n)}(Ud);e.IfcCourseType=rv;var iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1916426348,A}return P(n)}(Ud);e.IfcCoveringType=iv;var av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3295246426,d}return P(n)}(Zd);e.IfcCrewResource=av;var sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1457835157,A}return P(n)}(Ud);e.IfcCurtainWallType=sv;var ov=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=1213902940,a}return P(n)}(Xf);e.IfcCylindricalSurface=ov;var lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1306400036,p}return P(n)}(Ud);e.IfcDeepFoundationType=lv;var uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o,l)).SweptArea=r,u.Position=i,u.Directrix=a,u.StartParam=s,u.EndParam=o,u.FixedReference=l,u.type=4234616927,u}return P(n)}(rp);e.IfcDirectrixDerivedReferenceSweptAreaSolid=uv;var cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3256556792,p}return P(n)}(Yf);e.IfcDistributionElementType=cv;var fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3849074793,p}return P(n)}(cv);e.IfcDistributionFlowElementType=fv;var pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.LiningDepth=o,w.LiningThickness=l,w.ThresholdDepth=u,w.ThresholdThickness=c,w.TransomThickness=f,w.TransomOffset=p,w.LiningOffset=A,w.ThresholdOffset=d,w.CasingThickness=v,w.CasingDepth=h,w.ShapeAspectStyle=I,w.LiningToPanelOffsetX=y,w.LiningToPanelOffsetY=m,w.type=2963535650,w}return P(n)}(Rp);e.IfcDoorLiningProperties=pv;var Av=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.PanelDepth=o,p.PanelOperation=l,p.PanelWidth=u,p.PanelPosition=c,p.ShapeAspectStyle=f,p.type=1714330368,p}return P(n)}(Rp);e.IfcDoorPanelProperties=Av;var dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.OperationType=A,h.ParameterTakesPrecedence=d,h.UserDefinedOperationType=v,h.type=2323601079,h}return P(n)}(Ud);e.IfcDoorType=dv;var vv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=445594917,i}return P(n)}(Dp);e.IfcDraughtingPreDefinedColour=vv;var hv=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Name=r,i.type=4006246654,i}return P(n)}(Pp);e.IfcDraughtingPreDefinedCurveFont=hv;var Iv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1758889154,f}return P(n)}(Bp);e.IfcElement=Iv;var yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.AssemblyPlace=f,A.PredefinedType=p,A.type=4123344466,A}return P(n)}(Iv);e.IfcElementAssembly=yv;var mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2397081782,A}return P(n)}(Yf);e.IfcElementAssemblyType=mv;var wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1623761950,f}return P(n)}(Iv);e.IfcElementComponent=wv;var gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2590856083,p}return P(n)}(Yf);e.IfcElementComponentType=gv;var Ev=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r)).Position=r,s.SemiAxis1=i,s.SemiAxis2=a,s.type=1704287377,s}return P(n)}(Yd);e.IfcEllipse=Ev;var Tv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2107101300,p}return P(n)}(fv);e.IfcEnergyConversionDeviceType=Tv;var bv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=132023988,A}return P(n)}(Tv);e.IfcEngineType=bv;var Dv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3174744832,A}return P(n)}(Tv);e.IfcEvaporativeCoolerType=Dv;var Pv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3390157468,A}return P(n)}(Tv);e.IfcEvaporatorType=Pv;var Rv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.PredefinedType=c,d.EventTriggerType=f,d.UserDefinedEventTriggerType=p,d.EventOccurenceTime=A,d.type=4148101412,d}return P(n)}(_p);e.IfcEvent=Rv;var Cv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.LongName=c,f.type=2853485674,f}return P(n)}(qA);e.IfcExternalSpatialStructureElement=Cv;var _v=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e,r)).Outer=r,i.type=807026263,i}return P(n)}(vp);e.IfcFacetedBrep=_v;var Bv=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Outer=r,a.Voids=i,a.type=3737207727,a}return P(n)}(_v);e.IfcFacetedBrepWithVoids=Bv;var Ov=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.CompositionType=f,p.type=24185140,p}return P(n)}(ZA);e.IfcFacility=Ov;var Sv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.UsageType=p,A.type=1310830890,A}return P(n)}(ZA);e.IfcFacilityPart=Sv;var Nv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=4228831410,d}return P(n)}(Sv);e.IfcFacilityPartCommon=Nv;var Lv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=647756555,p}return P(n)}(wv);e.IfcFastener=Lv;var Mv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2489546625,A}return P(n)}(gv);e.IfcFastenerType=Mv;var xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2827207264,f}return P(n)}(Iv);e.IfcFeatureElement=xv;var Fv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2143335405,f}return P(n)}(xv);e.IfcFeatureElementAddition=Fv;var Hv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1287392070,f}return P(n)}(xv);e.IfcFeatureElementSubtraction=Hv;var Uv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3907093117,p}return P(n)}(fv);e.IfcFlowControllerType=Uv;var Gv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3198132628,p}return P(n)}(fv);e.IfcFlowFittingType=Gv;var kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3815607619,A}return P(n)}(Uv);e.IfcFlowMeterType=kv;var jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1482959167,p}return P(n)}(fv);e.IfcFlowMovingDeviceType=jv;var Vv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1834744321,p}return P(n)}(fv);e.IfcFlowSegmentType=Vv;var Qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=1339347760,p}return P(n)}(fv);e.IfcFlowStorageDeviceType=Qv;var Wv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2297155007,p}return P(n)}(fv);e.IfcFlowTerminalType=Wv;var zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=3009222698,p}return P(n)}(fv);e.IfcFlowTreatmentDeviceType=zv;var Kv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1893162501,A}return P(n)}(Ud);e.IfcFootingType=Kv;var Yv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=263784265,f}return P(n)}(Iv);e.IfcFurnishingElement=Yv;var Xv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1509553395,p}return P(n)}(Yv);e.IfcFurniture=Xv;var qv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3493046030,p}return P(n)}(Iv);e.IfcGeographicElement=qv;var Jv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4230923436,f}return P(n)}(Iv);e.IfcGeotechnicalElement=Jv;var Zv=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1594536857,p}return P(n)}(Jv);e.IfcGeotechnicalStratum=Zv;var $v=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=2898700619,o}return P(n)}(zd);e.IfcGradientCurve=$v;var eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2706460486,l}return P(n)}(hp);e.IfcGroup=eh;var th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1251058090,A}return P(n)}(Tv);e.IfcHeatExchangerType=th;var nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1806887404,A}return P(n)}(Tv);e.IfcHumidifierType=nh;var rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2568555532,p}return P(n)}(wv);e.IfcImpactProtectionDevice=rh;var ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3948183225,A}return P(n)}(gv);e.IfcImpactProtectionDeviceType=ih;var ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e)).Points=r,s.Segments=i,s.SelfIntersect=a,s.type=2571569899,s}return P(n)}(Fd);e.IfcIndexedPolyCurve=ah;var sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3946677679,A}return P(n)}(zv);e.IfcInterceptorType=sh;var oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=3113134337,s}return P(n)}(Ad);e.IfcIntersectionCurve=oh;var lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.Jurisdiction=u,d.ResponsiblePersons=c,d.LastUpdateDate=f,d.CurrentValue=p,d.OriginalValue=A,d.type=2391368822,d}return P(n)}(eh);e.IfcInventory=lh;var uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4288270099,A}return P(n)}(Gv);e.IfcJunctionBoxType=uh;var ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.Mountable=p,A.type=679976338,A}return P(n)}(Ud);e.IfcKerbType=ch;var fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3827777499,d}return P(n)}(Zd);e.IfcLaborResource=fh;var ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1051575348,A}return P(n)}(Wv);e.IfcLampType=ph;var Ah=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1161773419,A}return P(n)}(Wv);e.IfcLightFixtureType=Ah;var dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=2176059722,c}return P(n)}(Bp);e.IfcLinearElement=dh;var vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1770583370,A}return P(n)}(Wv);e.IfcLiquidTerminalType=vh;var hh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=525669439,A}return P(n)}(Ov);e.IfcMarineFacility=hh;var Ih=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=976884017,d}return P(n)}(Sv);e.IfcMarinePart=Ih;var yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.Tag=c,d.NominalDiameter=f,d.NominalLength=p,d.PredefinedType=A,d.type=377706215,d}return P(n)}(wv);e.IfcMechanicalFastener=yh;var mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ApplicableOccurrence=o,v.HasPropertySets=l,v.RepresentationMaps=u,v.Tag=c,v.ElementType=f,v.PredefinedType=p,v.NominalDiameter=A,v.NominalLength=d,v.type=2108223431,v}return P(n)}(gv);e.IfcMechanicalFastenerType=mh;var wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1114901282,A}return P(n)}(Wv);e.IfcMedicalDeviceType=wh;var gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3181161470,A}return P(n)}(Ud);e.IfcMemberType=gh;var Eh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1950438474,A}return P(n)}(Wv);e.IfcMobileTelecommunicationsApplianceType=Eh;var Th=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=710110818,A}return P(n)}(Ud);e.IfcMooringDeviceType=Th;var bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=977012517,A}return P(n)}(Tv);e.IfcMotorConnectionType=bh;var Dh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=506776471,A}return P(n)}(Ud);e.IfcNavigationElementType=Dh;var Ph=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.TheActor=l,c.PredefinedType=u,c.type=4143007308,c}return P(n)}(_d);e.IfcOccupant=Ph;var Rh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3588315303,p}return P(n)}(Hv);e.IfcOpeningElement=Rh;var Ch=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2837617999,A}return P(n)}(Wv);e.IfcOutletType=Ch;var _h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=514975943,A}return P(n)}(Ud);e.IfcPavementType=_h;var Bh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LifeCyclePhase=u,f.PredefinedType=c,f.type=2382730787,f}return P(n)}($d);e.IfcPerformanceHistory=Bh;var Oh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.OperationType=o,p.PanelPosition=l,p.FrameDepth=u,p.FrameThickness=c,p.ShapeAspectStyle=f,p.type=3566463478,p}return P(n)}(Rp);e.IfcPermeableCoveringProperties=Oh;var Sh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3327091369,p}return P(n)}($d);e.IfcPermit=Sh;var Nh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1158309216,A}return P(n)}(lv);e.IfcPileType=Nh;var Lh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=804291784,A}return P(n)}(Gv);e.IfcPipeFittingType=Lh;var Mh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4231323485,A}return P(n)}(Vv);e.IfcPipeSegmentType=Mh;var xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4017108033,A}return P(n)}(Ud);e.IfcPlateType=xh;var Fh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Coordinates=r,o.Closed=i,o.Faces=a,o.PnIndex=s,o.type=2839578677,o}return P(n)}(wd);e.IfcPolygonalFaceSet=Fh;var Hh=function(e){I(n,e);var t=m(n);function n(e,r){var i;return b(this,n),(i=t.call(this,e)).Points=r,i.type=3724593414,i}return P(n)}(Fd);e.IfcPolyline=Hh;var Uh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=3740093272,c}return P(n)}(Bp);e.IfcPort=Uh;var Gh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1946335990,c}return P(n)}(Bp);e.IfcPositioningElement=Gh;var kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.Identification=l,f.LongDescription=u,f.PredefinedType=c,f.type=2744685151,f}return P(n)}(_p);e.IfcProcedure=kh;var jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=2904328755,p}return P(n)}($d);e.IfcProjectOrder=jh;var Vh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3651124850,p}return P(n)}(Fv);e.IfcProjectionElement=Vh;var Qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1842657554,A}return P(n)}(Uv);e.IfcProtectiveDeviceType=Qh;var Wh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2250791053,A}return P(n)}(jv);e.IfcPumpType=Wh;var zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1763565496,A}return P(n)}(Ud);e.IfcRailType=zh;var Kh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2893384427,A}return P(n)}(Ud);e.IfcRailingType=Kh;var Yh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=3992365140,A}return P(n)}(Ov);e.IfcRailway=Yh;var Xh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=1891881377,d}return P(n)}(Sv);e.IfcRailwayPart=Xh;var qh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2324767716,A}return P(n)}(Ud);e.IfcRampFlightType=qh;var Jh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1469900589,A}return P(n)}(Ud);e.IfcRampType=Jh;var Zh=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).UDegree=r,h.VDegree=i,h.ControlPointsList=a,h.SurfaceForm=s,h.UClosed=o,h.VClosed=l,h.SelfIntersect=u,h.UMultiplicities=c,h.VMultiplicities=f,h.UKnots=p,h.VKnots=A,h.KnotSpec=d,h.WeightsData=v,h.type=683857671,h}return P(n)}(Ld);e.IfcRationalBSplineSurfaceWithKnots=Zh;var $h=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=4021432810,f}return P(n)}(Gh);e.IfcReferent=$h;var eI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.SteelGrade=f,p.type=3027567501,p}return P(n)}(wv);e.IfcReinforcingElement=eI;var tI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=964333572,p}return P(n)}(gv);e.IfcReinforcingElementType=tI;var nI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w){var g;return b(this,n),(g=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,g.OwnerHistory=i,g.Name=a,g.Description=s,g.ObjectType=o,g.ObjectPlacement=l,g.Representation=u,g.Tag=c,g.SteelGrade=f,g.MeshLength=p,g.MeshWidth=A,g.LongitudinalBarNominalDiameter=d,g.TransverseBarNominalDiameter=v,g.LongitudinalBarCrossSectionArea=h,g.TransverseBarCrossSectionArea=I,g.LongitudinalBarSpacing=y,g.TransverseBarSpacing=m,g.PredefinedType=w,g.type=2320036040,g}return P(n)}(eI);e.IfcReinforcingMesh=nI;var rI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m,w,g,E){var T;return b(this,n),(T=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,T.OwnerHistory=i,T.Name=a,T.Description=s,T.ApplicableOccurrence=o,T.HasPropertySets=l,T.RepresentationMaps=u,T.Tag=c,T.ElementType=f,T.PredefinedType=p,T.MeshLength=A,T.MeshWidth=d,T.LongitudinalBarNominalDiameter=v,T.TransverseBarNominalDiameter=h,T.LongitudinalBarCrossSectionArea=I,T.TransverseBarCrossSectionArea=y,T.LongitudinalBarSpacing=m,T.TransverseBarSpacing=w,T.BendingShapeCode=g,T.BendingParameters=E,T.type=2310774935,T}return P(n)}(tI);e.IfcReinforcingMeshType=rI;var iI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingElement=o,u.RelatedSurfaceFeatures=l,u.type=3818125796,u}return P(n)}(gA);e.IfcRelAdheresToElement=iI;var aI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.RelatingObject=o,u.RelatedObjects=l,u.type=160246688,u}return P(n)}(gA);e.IfcRelAggregates=aI;var sI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=146592293,A}return P(n)}(Ov);e.IfcRoad=sI;var oI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=550521510,d}return P(n)}(Sv);e.IfcRoadPart=oI;var lI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2781568857,A}return P(n)}(Ud);e.IfcRoofType=lI;var uI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1768891740,A}return P(n)}(Wv);e.IfcSanitaryTerminalType=uI;var cI=function(e){I(n,e);var t=m(n);function n(e,r,i,a){var s;return b(this,n),(s=t.call(this,e,r,i,a)).Curve3D=r,s.AssociatedGeometry=i,s.MasterRepresentation=a,s.type=2157484638,s}return P(n)}(Ad);e.IfcSeamCurve=cI;var fI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.QuadraticTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=3649235739,o}return P(n)}(id);e.IfcSecondOrderPolynomialSpiral=fI;var pI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r,i)).Segments=r,o.SelfIntersect=i,o.BaseCurve=a,o.EndPoint=s,o.type=544395925,o}return P(n)}(zd);e.IfcSegmentedReferenceCurve=pI;var AI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r)).Position=r,p.SepticTerm=i,p.SexticTerm=a,p.QuinticTerm=s,p.QuarticTerm=o,p.CubicTerm=l,p.QuadraticTerm=u,p.LinearTerm=c,p.ConstantTerm=f,p.type=1027922057,p}return P(n)}(id);e.IfcSeventhOrderPolynomialSpiral=AI;var dI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4074543187,A}return P(n)}(Ud);e.IfcShadingDeviceType=dI;var vI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=33720170,p}return P(n)}(wv);e.IfcSign=vI;var hI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3599934289,A}return P(n)}(gv);e.IfcSignType=hI;var II=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1894708472,A}return P(n)}(Wv);e.IfcSignalType=II;var yI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s){var o;return b(this,n),(o=t.call(this,e,r)).Position=r,o.SineTerm=i,o.LinearTerm=a,o.ConstantTerm=s,o.type=42703149,o}return P(n)}(id);e.IfcSineSpiral=yI;var mI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.LongName=c,I.CompositionType=f,I.RefLatitude=p,I.RefLongitude=A,I.RefElevation=d,I.LandTitleNumber=v,I.SiteAddress=h,I.type=4097777520,I}return P(n)}(ZA);e.IfcSite=mI;var wI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2533589738,A}return P(n)}(Ud);e.IfcSlabType=wI;var gI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1072016465,A}return P(n)}(Tv);e.IfcSolarDeviceType=gI;var EI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.PredefinedType=p,d.ElevationWithFlooring=A,d.type=3856911033,d}return P(n)}(ZA);e.IfcSpace=EI;var TI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1305183839,A}return P(n)}(Wv);e.IfcSpaceHeaterType=TI;var bI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ApplicableOccurrence=o,d.HasPropertySets=l,d.RepresentationMaps=u,d.Tag=c,d.ElementType=f,d.PredefinedType=p,d.LongName=A,d.type=3812236995,d}return P(n)}($A);e.IfcSpaceType=bI;var DI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3112655638,A}return P(n)}(Wv);e.IfcStackTerminalType=DI;var PI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1039846685,A}return P(n)}(Ud);e.IfcStairFlightType=PI;var RI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=338393293,A}return P(n)}(Ud);e.IfcStairType=RI;var CI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=682877961,A}return P(n)}(ad);e.IfcStructuralAction=CI;var _I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1179482911,f}return P(n)}(sd);e.IfcStructuralConnection=_I;var BI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1004757350,v}return P(n)}(CI);e.IfcStructuralCurveAction=BI;var OI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.AxisDirection=f,p.type=4243806635,p}return P(n)}(_I);e.IfcStructuralCurveConnection=OI;var SI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=214636428,p}return P(n)}(od);e.IfcStructuralCurveMember=SI;var NI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.PredefinedType=c,p.Axis=f,p.type=2445595289,p}return P(n)}(SI);e.IfcStructuralCurveMemberVarying=NI;var LI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.PredefinedType=p,A.type=2757150158,A}return P(n)}(ld);e.IfcStructuralCurveReaction=LI;var MI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1807405624,v}return P(n)}(BI);e.IfcStructuralLinearAction=MI;var xI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.ActionType=u,A.ActionSource=c,A.Coefficient=f,A.Purpose=p,A.type=1252848954,A}return P(n)}(eh);e.IfcStructuralLoadGroup=xI;var FI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.AppliedLoad=c,A.GlobalOrLocal=f,A.DestabilizingLoad=p,A.type=2082059205,A}return P(n)}(CI);e.IfcStructuralPointAction=FI;var HI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedCondition=c,p.ConditionCoordinateSystem=f,p.type=734778138,p}return P(n)}(_I);e.IfcStructuralPointConnection=HI;var UI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.AppliedLoad=c,p.GlobalOrLocal=f,p.type=1235345126,p}return P(n)}(ld);e.IfcStructuralPointReaction=UI;var GI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.TheoryType=l,f.ResultForLoadGroup=u,f.IsLinear=c,f.type=2986769608,f}return P(n)}(eh);e.IfcStructuralResultGroup=GI;var kI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=3657597509,v}return P(n)}(CI);e.IfcStructuralSurfaceAction=kI;var jI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.AppliedCondition=c,f.type=1975003073,f}return P(n)}(_I);e.IfcStructuralSurfaceConnection=jI;var VI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=148013059,d}return P(n)}(Zd);e.IfcSubContractResource=VI;var QI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3101698114,p}return P(n)}(xv);e.IfcSurfaceFeature=QI;var WI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2315554128,A}return P(n)}(Uv);e.IfcSwitchingDeviceType=WI;var zI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e,r,i,a,s,o)).GlobalId=r,l.OwnerHistory=i,l.Name=a,l.Description=s,l.ObjectType=o,l.type=2254336722,l}return P(n)}(eh);e.IfcSystem=zI;var KI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=413509423,p}return P(n)}(Yv);e.IfcSystemFurnitureElement=KI;var YI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=5716631,A}return P(n)}(Qv);e.IfcTankType=YI;var XI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y,m){var w;return b(this,n),(w=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,w.OwnerHistory=i,w.Name=a,w.Description=s,w.ObjectType=o,w.ObjectPlacement=l,w.Representation=u,w.Tag=c,w.SteelGrade=f,w.PredefinedType=p,w.NominalDiameter=A,w.CrossSectionArea=d,w.TensionForce=v,w.PreStress=h,w.FrictionCoefficient=I,w.AnchorageSlip=y,w.MinCurvatureRadius=m,w.type=3824725483,w}return P(n)}(eI);e.IfcTendon=XI;var qI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=2347447852,A}return P(n)}(eI);e.IfcTendonAnchor=qI;var JI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3081323446,A}return P(n)}(tI);e.IfcTendonAnchorType=JI;var ZI=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.SteelGrade=f,A.PredefinedType=p,A.type=3663046924,A}return P(n)}(eI);e.IfcTendonConduit=ZI;var $I=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2281632017,A}return P(n)}(tI);e.IfcTendonConduitType=$I;var ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.NominalDiameter=A,h.CrossSectionArea=d,h.SheathDiameter=v,h.type=2415094496,h}return P(n)}(tI);e.IfcTendonType=ey;var ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=618700268,A}return P(n)}(Ud);e.IfcTrackElementType=ty;var ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1692211062,A}return P(n)}(Tv);e.IfcTransformerType=ny;var ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2097647324,A}return P(n)}(Td);e.IfcTransportElementType=ry;var iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1953115116,f}return P(n)}(Iv);e.IfcTransportationDevice=iy;var ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).BasisCurve=r,l.Trim1=i,l.Trim2=a,l.SenseAgreement=s,l.MasterRepresentation=o,l.type=3593883385,l}return P(n)}(Fd);e.IfcTrimmedCurve=ay;var sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1600972822,A}return P(n)}(Tv);e.IfcTubeBundleType=sy;var oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1911125066,A}return P(n)}(Tv);e.IfcUnitaryEquipmentType=oy;var ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=728799441,A}return P(n)}(Uv);e.IfcValveType=ly;var uy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=840318589,p}return P(n)}(iy);e.IfcVehicle=uy;var cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1530820697,p}return P(n)}(wv);e.IfcVibrationDamper=cy;var fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3956297820,A}return P(n)}(gv);e.IfcVibrationDamperType=fy;var py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391383451,p}return P(n)}(wv);e.IfcVibrationIsolator=py;var Ay=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3313531582,A}return P(n)}(gv);e.IfcVibrationIsolatorType=Ay;var dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2769231204,p}return P(n)}(Iv);e.IfcVirtualElement=dy;var vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=926996030,p}return P(n)}(Hv);e.IfcVoidingFeature=vy;var hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1898987631,A}return P(n)}(Ud);e.IfcWallType=hy;var Iy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1133259667,A}return P(n)}(Wv);e.IfcWasteTerminalType=Iy;var yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ApplicableOccurrence=o,h.HasPropertySets=l,h.RepresentationMaps=u,h.Tag=c,h.ElementType=f,h.PredefinedType=p,h.PartitioningType=A,h.ParameterTakesPrecedence=d,h.UserDefinedPartitioningType=v,h.type=4009809668,h}return P(n)}(Ud);e.IfcWindowType=yy;var my=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.WorkingTimes=u,p.ExceptionTimes=c,p.PredefinedType=f,p.type=4088093105,p}return P(n)}($d);e.IfcWorkCalendar=my;var wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.Identification=l,h.CreationDate=u,h.Creators=c,h.Purpose=f,h.Duration=p,h.TotalFloat=A,h.StartTime=d,h.FinishTime=v,h.type=1028945134,h}return P(n)}($d);e.IfcWorkControl=wy;var gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=4218914973,I}return P(n)}(wy);e.IfcWorkPlan=gy;var Ey=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d,v)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.CreationDate=u,I.Creators=c,I.Purpose=f,I.Duration=p,I.TotalFloat=A,I.StartTime=d,I.FinishTime=v,I.PredefinedType=h,I.type=3342526732,I}return P(n)}(wy);e.IfcWorkSchedule=Ey;var Ty=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l){var u;return b(this,n),(u=t.call(this,e,r,i,a,s,o)).GlobalId=r,u.OwnerHistory=i,u.Name=a,u.Description=s,u.ObjectType=o,u.LongName=l,u.type=1033361043,u}return P(n)}(zI);e.IfcZone=Ty;var by=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.Identification=l,p.PredefinedType=u,p.Status=c,p.LongDescription=f,p.type=3821786052,p}return P(n)}($d);e.IfcActionRequest=by;var Dy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1411407467,A}return P(n)}(Uv);e.IfcAirTerminalBoxType=Dy;var Py=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3352864051,A}return P(n)}(Wv);e.IfcAirTerminalType=Py;var Ry=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1871374353,A}return P(n)}(Tv);e.IfcAirToAirHeatRecoveryType=Ry;var Cy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.RailHeadDistance=c,f.type=4266260250,f}return P(n)}(dh);e.IfcAlignmentCant=Cy;var _y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1545765605,c}return P(n)}(dh);e.IfcAlignmentHorizontal=_y;var By=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.DesignParameters=c,f.type=317615605,f}return P(n)}(dh);e.IfcAlignmentSegment=By;var Oy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1662888072,c}return P(n)}(dh);e.IfcAlignmentVertical=Oy;var Sy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.Identification=l,I.OriginalValue=u,I.CurrentValue=c,I.TotalReplacementCost=f,I.Owner=p,I.User=A,I.ResponsiblePerson=d,I.IncorporationDate=v,I.DepreciatedValue=h,I.type=3460190687,I}return P(n)}(eh);e.IfcAsset=Sy;var Ny=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1532957894,A}return P(n)}(Wv);e.IfcAudioVisualApplianceType=Ny;var Ly=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o){var l;return b(this,n),(l=t.call(this,e)).Degree=r,l.ControlPointsList=i,l.CurveForm=a,l.ClosedCurve=s,l.SelfIntersect=o,l.type=1967976161,l}return P(n)}(Fd);e.IfcBSplineCurve=Ly;var My=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o)).Degree=r,f.ControlPointsList=i,f.CurveForm=a,f.ClosedCurve=s,f.SelfIntersect=o,f.KnotMultiplicities=l,f.Knots=u,f.KnotSpec=c,f.type=2461110595,f}return P(n)}(Ly);e.IfcBSplineCurveWithKnots=My;var xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=819618141,A}return P(n)}(Ud);e.IfcBeamType=xy;var Fy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3649138523,A}return P(n)}(Ud);e.IfcBearingType=Fy;var Hy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=231477066,A}return P(n)}(Tv);e.IfcBoilerType=Hy;var Uy=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=1136057603,a}return P(n)}(Kd);e.IfcBoundaryCurve=Uy;var Gy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.LongName=c,A.CompositionType=f,A.PredefinedType=p,A.type=644574406,A}return P(n)}(Ov);e.IfcBridge=Gy;var ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.LongName=c,d.CompositionType=f,d.UsageType=p,d.PredefinedType=A,d.type=963979645,d}return P(n)}(Sv);e.IfcBridgePart=ky;var jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.LongName=c,v.CompositionType=f,v.ElevationOfRefHeight=p,v.ElevationOfTerrain=A,v.BuildingAddress=d,v.type=4031249490,v}return P(n)}(Ov);e.IfcBuilding=jy;var Vy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2979338954,p}return P(n)}(wv);e.IfcBuildingElementPart=Vy;var Qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=39481116,A}return P(n)}(gv);e.IfcBuildingElementPartType=Qy;var Wy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1909888760,A}return P(n)}(Ud);e.IfcBuildingElementProxyType=Wy;var zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=1177604601,c}return P(n)}(zI);e.IfcBuildingSystem=zy;var Ky=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1876633798,f}return P(n)}(Iv);e.IfcBuiltElement=Ky;var Yy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.PredefinedType=l,c.LongName=u,c.type=3862327254,c}return P(n)}(zI);e.IfcBuiltSystem=Yy;var Xy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2188180465,A}return P(n)}(Tv);e.IfcBurnerType=Xy;var qy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=395041908,A}return P(n)}(Gv);e.IfcCableCarrierFittingType=qy;var Jy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3293546465,A}return P(n)}(Vv);e.IfcCableCarrierSegmentType=Jy;var Zy=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2674252688,A}return P(n)}(Gv);e.IfcCableFittingType=Zy;var $y=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1285652485,A}return P(n)}(Vv);e.IfcCableSegmentType=$y;var em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3203706013,A}return P(n)}(lv);e.IfcCaissonFoundationType=em;var tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2951183804,A}return P(n)}(Tv);e.IfcChillerType=tm;var nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3296154744,p}return P(n)}(Ky);e.IfcChimney=nm;var rm=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r)).Position=r,a.Radius=i,a.type=2611217952,a}return P(n)}(Yd);e.IfcCircle=rm;var im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1677625105,f}return P(n)}(Iv);e.IfcCivilElement=im;var am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2301859152,A}return P(n)}(Tv);e.IfcCoilType=am;var sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=843113511,p}return P(n)}(Ky);e.IfcColumn=sm;var om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=400855858,A}return P(n)}(Wv);e.IfcCommunicationsApplianceType=om;var lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3850581409,A}return P(n)}(jv);e.IfcCompressorType=lm;var um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2816379211,A}return P(n)}(Tv);e.IfcCondenserType=um;var cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=3898045240,d}return P(n)}(Zd);e.IfcConstructionEquipmentResource=cm;var fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=1060000209,d}return P(n)}(Zd);e.IfcConstructionMaterialResource=fm;var pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.Identification=l,d.LongDescription=u,d.Usage=c,d.BaseCosts=f,d.BaseQuantity=p,d.PredefinedType=A,d.type=488727124,d}return P(n)}(Zd);e.IfcConstructionProductResource=pm;var Am=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2940368186,A}return P(n)}(Vv);e.IfcConveyorSegmentType=Am;var dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=335055490,A}return P(n)}(Tv);e.IfcCooledBeamType=dm;var vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2954562838,A}return P(n)}(Tv);e.IfcCoolingTowerType=vm;var hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1502416096,p}return P(n)}(Ky);e.IfcCourse=hm;var Im=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1973544240,p}return P(n)}(Ky);e.IfcCovering=Im;var ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3495092785,p}return P(n)}(Ky);e.IfcCurtainWall=ym;var mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3961806047,A}return P(n)}(Uv);e.IfcDamperType=mm;var wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3426335179,f}return P(n)}(Ky);e.IfcDeepFoundation=wm;var gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1335981549,p}return P(n)}(wv);e.IfcDiscreteAccessory=gm;var Em=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2635815018,A}return P(n)}(gv);e.IfcDiscreteAccessoryType=Em;var Tm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=479945903,A}return P(n)}(Uv);e.IfcDistributionBoardType=Tm;var bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1599208980,A}return P(n)}(fv);e.IfcDistributionChamberElementType=bm;var Dm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ApplicableOccurrence=o,p.HasPropertySets=l,p.RepresentationMaps=u,p.Tag=c,p.ElementType=f,p.type=2063403501,p}return P(n)}(cv);e.IfcDistributionControlElementType=Dm;var Pm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1945004755,f}return P(n)}(Iv);e.IfcDistributionElement=Pm;var Rm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3040386961,f}return P(n)}(Pm);e.IfcDistributionFlowElement=Rm;var Cm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.FlowDirection=c,A.PredefinedType=f,A.SystemType=p,A.type=3041715199,A}return P(n)}(Uh);e.IfcDistributionPort=Cm;var _m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=3205830791,c}return P(n)}(zI);e.IfcDistributionSystem=_m;var Bm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.OperationType=d,h.UserDefinedOperationType=v,h.type=395920057,h}return P(n)}(Ky);e.IfcDoor=Bm;var Om=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=869906466,A}return P(n)}(Gv);e.IfcDuctFittingType=Om;var Sm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3760055223,A}return P(n)}(Vv);e.IfcDuctSegmentType=Sm;var Nm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2030761528,A}return P(n)}(zv);e.IfcDuctSilencerType=Nm;var Lm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3071239417,p}return P(n)}(Hv);e.IfcEarthworksCut=Lm;var Mm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1077100507,f}return P(n)}(Ky);e.IfcEarthworksElement=Mm;var xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3376911765,p}return P(n)}(Mm);e.IfcEarthworksFill=xm;var Fm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=663422040,A}return P(n)}(Wv);e.IfcElectricApplianceType=Fm;var Hm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2417008758,A}return P(n)}(Uv);e.IfcElectricDistributionBoardType=Hm;var Um=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3277789161,A}return P(n)}(Qv);e.IfcElectricFlowStorageDeviceType=Um;var Gm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2142170206,A}return P(n)}(zv);e.IfcElectricFlowTreatmentDeviceType=Gm;var km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1534661035,A}return P(n)}(Tv);e.IfcElectricGeneratorType=km;var jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1217240411,A}return P(n)}(Tv);e.IfcElectricMotorType=jm;var Vm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=712377611,A}return P(n)}(Uv);e.IfcElectricTimeControlType=Vm;var Qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1658829314,f}return P(n)}(Rm);e.IfcEnergyConversionDevice=Qm;var Wm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2814081492,p}return P(n)}(Qm);e.IfcEngine=Wm;var zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3747195512,p}return P(n)}(Qm);e.IfcEvaporativeCooler=zm;var Km=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=484807127,p}return P(n)}(Qm);e.IfcEvaporator=Km;var Ym=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.LongName=c,p.PredefinedType=f,p.type=1209101575,p}return P(n)}(Cv);e.IfcExternalSpatialElement=Ym;var Xm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=346874300,A}return P(n)}(jv);e.IfcFanType=Xm;var qm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1810631287,A}return P(n)}(zv);e.IfcFilterType=qm;var Jm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4222183408,A}return P(n)}(Wv);e.IfcFireSuppressionTerminalType=Jm;var Zm=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2058353004,f}return P(n)}(Rm);e.IfcFlowController=Zm;var $m=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=4278956645,f}return P(n)}(Rm);e.IfcFlowFitting=$m;var ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=4037862832,A}return P(n)}(Dm);e.IfcFlowInstrumentType=ew;var tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2188021234,p}return P(n)}(Zm);e.IfcFlowMeter=tw;var nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3132237377,f}return P(n)}(Rm);e.IfcFlowMovingDevice=nw;var rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=987401354,f}return P(n)}(Rm);e.IfcFlowSegment=rw;var iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=707683696,f}return P(n)}(Rm);e.IfcFlowStorageDevice=iw;var aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2223149337,f}return P(n)}(Rm);e.IfcFlowTerminal=aw;var sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3508470533,f}return P(n)}(Rm);e.IfcFlowTreatmentDevice=sw;var ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=900683007,p}return P(n)}(Ky);e.IfcFooting=ow;var lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2713699986,f}return P(n)}(Jv);e.IfcGeotechnicalAssembly=lw;var uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.ObjectPlacement=l,d.Representation=u,d.UAxes=c,d.VAxes=f,d.WAxes=p,d.PredefinedType=A,d.type=3009204131,d}return P(n)}(Gh);e.IfcGrid=uw;var cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3319311131,p}return P(n)}(Qm);e.IfcHeatExchanger=cw;var fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2068733104,p}return P(n)}(Qm);e.IfcHumidifier=fw;var pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4175244083,p}return P(n)}(sw);e.IfcInterceptor=pw;var Aw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2176052936,p}return P(n)}($m);e.IfcJunctionBox=Aw;var dw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.Mountable=f,p.type=2696325953,p}return P(n)}(Ky);e.IfcKerb=dw;var vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=76236018,p}return P(n)}(aw);e.IfcLamp=vw;var hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=629592764,p}return P(n)}(aw);e.IfcLightFixture=hw;var Iw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.ObjectPlacement=l,c.Representation=u,c.type=1154579445,c}return P(n)}(Gh);e.IfcLinearPositioningElement=Iw;var yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1638804497,p}return P(n)}(aw);e.IfcLiquidTerminal=yw;var mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1437502449,p}return P(n)}(aw);e.IfcMedicalDevice=mw;var ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1073191201,p}return P(n)}(Ky);e.IfcMember=ww;var gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2078563270,p}return P(n)}(aw);e.IfcMobileTelecommunicationsAppliance=gw;var Ew=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=234836483,p}return P(n)}(Ky);e.IfcMooringDevice=Ew;var Tw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2474470126,p}return P(n)}(Qm);e.IfcMotorConnection=Tw;var bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2182337498,p}return P(n)}(Ky);e.IfcNavigationElement=bw;var Dw=function(e){I(n,e);var t=m(n);function n(e,r,i){var a;return b(this,n),(a=t.call(this,e,r,i)).Segments=r,a.SelfIntersect=i,a.type=144952367,a}return P(n)}(Uy);e.IfcOuterBoundaryCurve=Dw;var Pw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3694346114,p}return P(n)}(aw);e.IfcOutlet=Pw;var Rw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1383356374,p}return P(n)}(Ky);e.IfcPavement=Rw;var Cw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.ObjectPlacement=l,A.Representation=u,A.Tag=c,A.PredefinedType=f,A.ConstructionType=p,A.type=1687234759,A}return P(n)}(wm);e.IfcPile=Cw;var _w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=310824031,p}return P(n)}($m);e.IfcPipeFitting=_w;var Bw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3612865200,p}return P(n)}(rw);e.IfcPipeSegment=Bw;var Ow=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3171933400,p}return P(n)}(Ky);e.IfcPlate=Ow;var Sw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=738039164,p}return P(n)}(Zm);e.IfcProtectiveDevice=Sw;var Nw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=655969474,A}return P(n)}(Dm);e.IfcProtectiveDeviceTrippingUnitType=Nw;var Lw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=90941305,p}return P(n)}(nw);e.IfcPump=Lw;var Mw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3290496277,p}return P(n)}(Ky);e.IfcRail=Mw;var xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2262370178,p}return P(n)}(Ky);e.IfcRailing=xw;var Fw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3024970846,p}return P(n)}(Ky);e.IfcRamp=Fw;var Hw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3283111854,p}return P(n)}(Ky);e.IfcRampFlight=Hw;var Uw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).Degree=r,p.ControlPointsList=i,p.CurveForm=a,p.ClosedCurve=s,p.SelfIntersect=o,p.KnotMultiplicities=l,p.Knots=u,p.KnotSpec=c,p.WeightsData=f,p.type=1232101972,p}return P(n)}(My);e.IfcRationalBSplineCurveWithKnots=Uw;var Gw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3798194928,p}return P(n)}(Mm);e.IfcReinforcedSoil=Gw;var kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h){var I;return b(this,n),(I=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,I.OwnerHistory=i,I.Name=a,I.Description=s,I.ObjectType=o,I.ObjectPlacement=l,I.Representation=u,I.Tag=c,I.SteelGrade=f,I.NominalDiameter=p,I.CrossSectionArea=A,I.BarLength=d,I.PredefinedType=v,I.BarSurface=h,I.type=979691226,I}return P(n)}(eI);e.IfcReinforcingBar=kw;var jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v,h,I,y){var m;return b(this,n),(m=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,m.OwnerHistory=i,m.Name=a,m.Description=s,m.ApplicableOccurrence=o,m.HasPropertySets=l,m.RepresentationMaps=u,m.Tag=c,m.ElementType=f,m.PredefinedType=p,m.NominalDiameter=A,m.CrossSectionArea=d,m.BarLength=v,m.BarSurface=h,m.BendingShapeCode=I,m.BendingParameters=y,m.type=2572171363,m}return P(n)}(tI);e.IfcReinforcingBarType=jw;var Vw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2016517767,p}return P(n)}(Ky);e.IfcRoof=Vw;var Qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3053780830,p}return P(n)}(aw);e.IfcSanitaryTerminal=Qw;var Ww=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=1783015770,A}return P(n)}(Dm);e.IfcSensorType=Ww;var zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1329646415,p}return P(n)}(Ky);e.IfcShadingDevice=zw;var Kw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=991950508,p}return P(n)}(aw);e.IfcSignal=Kw;var Yw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1529196076,p}return P(n)}(Ky);e.IfcSlab=Yw;var Xw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3420628829,p}return P(n)}(Qm);e.IfcSolarDevice=Xw;var qw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1999602285,p}return P(n)}(aw);e.IfcSpaceHeater=qw;var Jw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1404847402,p}return P(n)}(aw);e.IfcStackTerminal=Jw;var Zw=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=331165859,p}return P(n)}(Ky);e.IfcStair=Zw;var $w=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.NumberOfRisers=f,h.NumberOfTreads=p,h.RiserHeight=A,h.TreadLength=d,h.PredefinedType=v,h.type=4252922144,h}return P(n)}(Ky);e.IfcStairFlight=$w;var eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ObjectType=o,A.PredefinedType=l,A.OrientationOf2DPlane=u,A.LoadedBy=c,A.HasResults=f,A.SharedPlacement=p,A.type=2515109513,A}return P(n)}(zI);e.IfcStructuralAnalysisModel=eg;var tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A){var d;return b(this,n),(d=t.call(this,e,r,i,a,s,o,l,u,c,f,p)).GlobalId=r,d.OwnerHistory=i,d.Name=a,d.Description=s,d.ObjectType=o,d.PredefinedType=l,d.ActionType=u,d.ActionSource=c,d.Coefficient=f,d.Purpose=p,d.SelfWeightCoefficients=A,d.type=385403989,d}return P(n)}(xI);e.IfcStructuralLoadCase=tg;var ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d){var v;return b(this,n),(v=t.call(this,e,r,i,a,s,o,l,u,c,f,p,A,d)).GlobalId=r,v.OwnerHistory=i,v.Name=a,v.Description=s,v.ObjectType=o,v.ObjectPlacement=l,v.Representation=u,v.AppliedLoad=c,v.GlobalOrLocal=f,v.DestabilizingLoad=p,v.ProjectedOrTrue=A,v.PredefinedType=d,v.type=1621171031,v}return P(n)}(kI);e.IfcStructuralPlanarAction=ng;var rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1162798199,p}return P(n)}(Zm);e.IfcSwitchingDevice=rg;var ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=812556717,p}return P(n)}(iw);e.IfcTank=ig;var ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3425753595,p}return P(n)}(Ky);e.IfcTrackElement=ag;var sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3825984169,p}return P(n)}(Qm);e.IfcTransformer=sg;var og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1620046519,p}return P(n)}(iy);e.IfcTransportElement=og;var lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3026737570,p}return P(n)}(Qm);e.IfcTubeBundle=lg;var ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3179687236,A}return P(n)}(Dm);e.IfcUnitaryControlElementType=ug;var cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4292641817,p}return P(n)}(Qm);e.IfcUnitaryEquipment=cg;var fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4207607924,p}return P(n)}(Zm);e.IfcValve=fg;var pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2391406946,p}return P(n)}(Ky);e.IfcWall=pg;var Ag=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3512223829,p}return P(n)}(pg);e.IfcWallStandardCase=Ag;var dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4237592921,p}return P(n)}(aw);e.IfcWasteTerminal=dg;var vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p,A,d,v){var h;return b(this,n),(h=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,h.OwnerHistory=i,h.Name=a,h.Description=s,h.ObjectType=o,h.ObjectPlacement=l,h.Representation=u,h.Tag=c,h.OverallHeight=f,h.OverallWidth=p,h.PredefinedType=A,h.PartitioningType=d,h.UserDefinedPartitioningType=v,h.type=3304561284,h}return P(n)}(Ky);e.IfcWindow=vg;var hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=2874132201,A}return P(n)}(Dm);e.IfcActuatorType=hg;var Ig=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1634111441,p}return P(n)}(aw);e.IfcAirTerminal=Ig;var yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=177149247,p}return P(n)}(Zm);e.IfcAirTerminalBox=yg;var mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2056796094,p}return P(n)}(Qm);e.IfcAirToAirHeatRecovery=mg;var wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=3001207471,A}return P(n)}(Dm);e.IfcAlarmType=wg;var gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.PredefinedType=c,f.type=325726236,f}return P(n)}(Iw);e.IfcAlignment=gg;var Eg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=277319702,p}return P(n)}(aw);e.IfcAudioVisualAppliance=Eg;var Tg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=753842376,p}return P(n)}(Ky);e.IfcBeam=Tg;var bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4196446775,p}return P(n)}(Ky);e.IfcBearing=bg;var Dg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=32344328,p}return P(n)}(Qm);e.IfcBoiler=Dg;var Pg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=3314249567,f}return P(n)}(lw);e.IfcBorehole=Pg;var Rg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1095909175,p}return P(n)}(Ky);e.IfcBuildingElementProxy=Rg;var Cg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2938176219,p}return P(n)}(Qm);e.IfcBurner=Cg;var _g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=635142910,p}return P(n)}($m);e.IfcCableCarrierFitting=_g;var Bg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3758799889,p}return P(n)}(rw);e.IfcCableCarrierSegment=Bg;var Og=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1051757585,p}return P(n)}($m);e.IfcCableFitting=Og;var Sg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4217484030,p}return P(n)}(rw);e.IfcCableSegment=Sg;var Ng=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3999819293,p}return P(n)}(wm);e.IfcCaissonFoundation=Ng;var Lg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3902619387,p}return P(n)}(Qm);e.IfcChiller=Lg;var Mg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=639361253,p}return P(n)}(Qm);e.IfcCoil=Mg;var xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3221913625,p}return P(n)}(aw);e.IfcCommunicationsAppliance=xg;var Fg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3571504051,p}return P(n)}(nw);e.IfcCompressor=Fg;var Hg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2272882330,p}return P(n)}(Qm);e.IfcCondenser=Hg;var Ug=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f,p){var A;return b(this,n),(A=t.call(this,e,r,i,a,s,o,l,u,c,f)).GlobalId=r,A.OwnerHistory=i,A.Name=a,A.Description=s,A.ApplicableOccurrence=o,A.HasPropertySets=l,A.RepresentationMaps=u,A.Tag=c,A.ElementType=f,A.PredefinedType=p,A.type=578613899,A}return P(n)}(Dm);e.IfcControllerType=Ug;var Gg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3460952963,p}return P(n)}(rw);e.IfcConveyorSegment=Gg;var kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4136498852,p}return P(n)}(Qm);e.IfcCooledBeam=kg;var jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3640358203,p}return P(n)}(Qm);e.IfcCoolingTower=jg;var Vg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4074379575,p}return P(n)}(Zm);e.IfcDamper=Vg;var Qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3693000487,p}return P(n)}(Zm);e.IfcDistributionBoard=Qg;var Wg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1052013943,p}return P(n)}(Rm);e.IfcDistributionChamberElement=Wg;var zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u){var c;return b(this,n),(c=t.call(this,e,r,i,a,s,o,l,u)).GlobalId=r,c.OwnerHistory=i,c.Name=a,c.Description=s,c.ObjectType=o,c.LongName=l,c.PredefinedType=u,c.type=562808652,c}return P(n)}(_m);e.IfcDistributionCircuit=zg;var Kg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1062813311,f}return P(n)}(Pm);e.IfcDistributionControlElement=Kg;var Yg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=342316401,p}return P(n)}($m);e.IfcDuctFitting=Yg;var Xg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3518393246,p}return P(n)}(rw);e.IfcDuctSegment=Xg;var qg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1360408905,p}return P(n)}(sw);e.IfcDuctSilencer=qg;var Jg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1904799276,p}return P(n)}(aw);e.IfcElectricAppliance=Jg;var Zg=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=862014818,p}return P(n)}(Zm);e.IfcElectricDistributionBoard=Zg;var $g=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3310460725,p}return P(n)}(iw);e.IfcElectricFlowStorageDevice=$g;var eE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=24726584,p}return P(n)}(sw);e.IfcElectricFlowTreatmentDevice=eE;var tE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=264262732,p}return P(n)}(Qm);e.IfcElectricGenerator=tE;var nE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=402227799,p}return P(n)}(Qm);e.IfcElectricMotor=nE;var rE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1003880860,p}return P(n)}(Zm);e.IfcElectricTimeControl=rE;var iE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3415622556,p}return P(n)}(nw);e.IfcFan=iE;var aE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=819412036,p}return P(n)}(sw);e.IfcFilter=aE;var sE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=1426591983,p}return P(n)}(aw);e.IfcFireSuppressionTerminal=sE;var oE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=182646315,p}return P(n)}(Kg);e.IfcFlowInstrument=oE;var lE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=2680139844,f}return P(n)}(lw);e.IfcGeomodel=lE;var uE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c){var f;return b(this,n),(f=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,f.OwnerHistory=i,f.Name=a,f.Description=s,f.ObjectType=o,f.ObjectPlacement=l,f.Representation=u,f.Tag=c,f.type=1971632696,f}return P(n)}(lw);e.IfcGeoslice=uE;var cE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=2295281155,p}return P(n)}(Kg);e.IfcProtectiveDeviceTrippingUnit=cE;var fE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4086658281,p}return P(n)}(Kg);e.IfcSensor=fE;var pE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=630975310,p}return P(n)}(Kg);e.IfcUnitaryControlElement=pE;var AE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=4288193352,p}return P(n)}(Kg);e.IfcActuator=AE;var dE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=3087945054,p}return P(n)}(Kg);e.IfcAlarm=dE;var vE=function(e){I(n,e);var t=m(n);function n(e,r,i,a,s,o,l,u,c,f){var p;return b(this,n),(p=t.call(this,e,r,i,a,s,o,l,u,c)).GlobalId=r,p.OwnerHistory=i,p.Name=a,p.Description=s,p.ObjectType=o,p.ObjectPlacement=l,p.Representation=u,p.Tag=c,p.PredefinedType=f,p.type=25142252,p}return P(n)}(Kg);e.IfcController=vE}(t_||(t_={}));var X_,q_,J_={aggregates:{name:160246688,relating:"RelatingObject",related:"RelatedObjects",key:"children"},spatial:{name:3242617779,relating:"RelatingStructure",related:"RelatedElements",key:"children"},psets:{name:4186316022,relating:"RelatingPropertyDefinition",related:"RelatedObjects",key:"IsDefinedBy"},materials:{name:2655215786,relating:"RelatingMaterial",related:"RelatedObjects",key:"HasAssociations"},type:{name:781010003,relating:"RelatingType",related:"RelatedObjects",key:"IsDefinedBy"}},Z_=function(){function e(t){b(this,e),this.api=t}return P(e,[{key:"getItemProperties",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",this.api.GetLine(e,t,n,r));case 1:case"end":return i.stop()}}),i,this)})))}},{key:"getPropertySets",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.psets,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setPropertySets",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.psets));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getTypeProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if("IFC2X3"!=this.api.GetModelSchema(e)){r.next=6;break}return r.next=3,this.getRelatedProperties(e,t,J_.type,n);case 3:case 8:return r.abrupt("return",r.sent);case 6:return r.next=8,this.getRelatedProperties(e,t,f_(c_({},J_.type),{key:"IsTypedBy"}),n);case 9:case"end":return r.stop()}}),r,this)})))}},{key:"getMaterialsProperties",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getRelatedProperties(e,t,J_.materials,n);case 2:return r.abrupt("return",r.sent);case 3:case"end":return r.stop()}}),r,this)})))}},{key:"setMaterialsProperties",value:function(e,t,n){return A_(this,null,o().mark((function r(){return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",this.setItemProperties(e,t,n,J_.materials));case 1:case"end":return r.stop()}}),r,this)})))}},{key:"getSpatialStructure",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return A_(this,null,o().mark((function r(){var i,a,s,l;return o().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,this.getSpatialTreeChunks(t);case 2:return i=r.sent,r.next=5,this.api.GetLineIDsWithType(t,103090709);case 5:return a=r.sent,s=a.get(0),l=e.newIfcProject(s),r.next=10,this.getSpatialNode(t,l,i,n);case 10:return r.abrupt("return",l);case 11:case"end":return r.stop()}}),r,this)})))}},{key:"getRelatedProperties",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return A_(this,null,o().mark((function i(){var a,s,l,u,c,f,p;return o().wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(a=[],s=null,0===t){i.next=8;break}return i.next=5,this.api.GetLine(e,t,!1,!0)[n.key];case 5:s=i.sent,i.next=11;break;case 8:for(l=this.api.GetLineIDsWithType(e,n.name),s=[],u=0;u1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i0&&t.push({typeID:n[r],typeName:this.wasmModule.GetNameFromTypeCode(n[r])})}return t}},{key:"GetLine",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=this.wasmModule.ValidateExpressID(e,t);if(i){var a=this.GetRawLineData(e,t),s=G_[this.modelSchemaList[e]][a.type](a.ID,a.arguments);n&&this.FlattenLine(e,s);var o=k_[this.modelSchemaList[e]][a.type];if(r&&null!=o){var l,u=f(o);try{for(u.s();!(l=u.n()).done;){var c=l.value;c[3]?s[c[0]]=[]:s[c[0]]=null;var p=[c[1]];void 0!==j_[this.modelSchemaList[e]][c[1]]&&(p=p.concat(j_[this.modelSchemaList[e]][c[1]]));var A=this.wasmModule.GetInversePropertyForItem(e,t,p,c[2],c[3]);if(!c[3]&&A.size()>0)s[c[0]]=n?this.GetLine(e,A.get(0)):{type:5,value:A.get(0)};else for(var d=0;d2?n-2:0),i=2;i0)for(var i=0;i0&&5===i[0].type)for(var a=0;a2&&void 0!==arguments[2]&&arguments[2],r=[];return r.push(t),n&&void 0!==j_[this.modelSchemaList[e]][t]&&(r=r.concat(j_[this.modelSchemaList[e]][t])),this.wasmModule.GetLineIDsWithType(e,r)}},{key:"GetAllLines",value:function(e){return this.wasmModule.GetAllLines(e)}},{key:"GetAllAlignments",value:function(e){for(var t=this.wasmModule.GetAllAlignments(e),n=[],r=0;r1&&void 0!==arguments[1]&&arguments[1];this.wasmPath=e,this.isWasmPathAbsolute=t}},{key:"SetLogLevel",value:function(e){eB.setLogLevel(e),this.wasmModule.SetLogLevel(e)}}]),e}(),nB=function(){function e(){b(this,e)}return P(e,[{key:"getIFC",value:function(e,t,n){var r=function(){};t=t||r,n=n||r;var i=e.match(/^data:(.*?)(;base64)?,(.*)$/);if(i){var a=!!i[2],s=i[3];s=window.decodeURIComponent(s),a&&(s=window.atob(s));try{for(var o=new ArrayBuffer(s.length),l=new Uint8Array(o),u=0;u1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"ifcLoader",e,i)).dataSource=i.dataSource,r.objectDefaults=i.objectDefaults,r.includeTypes=i.includeTypes,r.excludeTypes=i.excludeTypes,r.excludeUnclassifiedObjects=i.excludeUnclassifiedObjects,r._ifcAPI=new tB,i.wasmPath&&r._ifcAPI.SetWasmPath(i.wasmPath),r._ifcAPI.Init().then((function(){r.fire("initialized",!0,!1)})).catch((function(e){r.error(e)})),r}return P(n,[{key:"supportedVersions",get:function(){return["2x3","4"]}},{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new nB}},{key:"objectDefaults",get:function(){return this._objectDefaults},set:function(e){this._objectDefaults=e||VP}},{key:"includeTypes",get:function(){return this._includeTypes},set:function(e){this._includeTypes=e}},{key:"excludeTypes",get:function(){return this._excludeTypes},set:function(e){this._excludeTypes=e}},{key:"excludeUnclassifiedObjects",get:function(){return this._excludeUnclassifiedObjects},set:function(e){this._excludeUnclassifiedObjects=!!e}},{key:"globalizeObjectIds",get:function(){return this._globalizeObjectIds},set:function(e){this._globalizeObjectIds=!!e}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.ifc)return this.error("load() param expected: src or IFC"),n;var r={autoNormals:!0};if(!1!==t.loadMetadata){var i=t.includeTypes||this._includeTypes,a=t.excludeTypes||this._excludeTypes,s=t.objectDefaults||this._objectDefaults;if(i){r.includeTypesMap={};for(var o=0,l=i.length;o0){for(var l=a.Name.value,u=[],c=0,f=o.length;c1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"lasLoader",e,i)).dataSource=i.dataSource,r.skip=i.skip,r.fp64=i.fp64,r.colorDepth=i.colorDepth,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new iB}},{key:"skip",get:function(){return this._skip},set:function(e){this._skip=e||1}},{key:"fp64",get:function(){return this._fp64},set:function(e){this._fp64=!!e}},{key:"colorDepth",get:function(){return this._colorDepth},set:function(e){this._colorDepth=e||"auto"}},{key:"load",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};t.id&&this.viewer.scene.components[t.id]&&(this.error("Component with this ID already exists in viewer: "+t.id+" - will autogenerate this ID"),delete t.id);var n=new Wf(this.viewer.scene,le.apply(t,{isModel:!0}));if(!t.src&&!t.las)return this.error("load() param expected: src or las"),n;var r={las:{skip:this._skip,fp64:this._fp64,colorDepth:this._colorDepth}};if(t.src)this._loadModel(t.src,t,r,n);else{var i=this.viewer.scene.canvas.spinner;i.processes++,this._parseModel(t.las,t,r,n).then((function(){i.processes--}),(function(t){i.processes--,e.error(t),n.fire("error",t)}))}return n}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getLAS(t.src,(function(e){i._parseModel(e,t,n,r).then((function(){a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){var i=this;function a(e){var n=e.value;if(t.rotateX&&n)for(var r=0,i=n.length;r=e.length)return e;for(var n=[],r=0;r80*n){r=a=e[0],i=s=e[1];for(var d=n;da&&(a=o),l>s&&(s=l);u=0!==(u=Math.max(a-r,s-i))?1/u:0}return IB(p,A,n,r,i,u),A}function vB(e,t,n,r,i){var a,s;if(i===UB(e,t,n,r)>0)for(a=t;a=t;a-=r)s=xB(a,e[a],e[a+1],s);return s&&BB(s,s.next)&&(FB(s),s=s.next),s}function hB(e,t){if(!e)return e;t||(t=e);var n,r=e;do{if(n=!1,r.steiner||!BB(r,r.next)&&0!==_B(r.prev,r,r.next))r=r.next;else{if(FB(r),(r=t=r.prev)===r.next)break;n=!0}}while(n||r!==t);return t}function IB(e,t,n,r,i,a,s){if(e){!s&&a&&function(e,t,n,r){var i=e;do{null===i.z&&(i.z=DB(i.x,i.y,t,n,r)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,function(e){var t,n,r,i,a,s,o,l,u=1;do{for(n=e,e=null,a=null,s=0;n;){for(s++,r=n,o=0,t=0;t0||l>0&&r;)0!==o&&(0===l||!r||n.z<=r.z)?(i=n,n=n.nextZ,o--):(i=r,r=r.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;n=r}a.nextZ=null,u*=2}while(s>1)}(i)}(e,r,i,a);for(var o,l,u=e;e.prev!==e.next;)if(o=e.prev,l=e.next,a?mB(e,r,i,a):yB(e))t.push(o.i/n),t.push(e.i/n),t.push(l.i/n),FB(e),e=l.next,u=l.next;else if((e=l)===u){s?1===s?IB(e=wB(hB(e),t,n),t,n,r,i,a,2):2===s&&gB(e,t,n,r,i,a):IB(hB(e),t,n,r,i,a,1);break}}}function yB(e){var t=e.prev,n=e,r=e.next;if(_B(t,n,r)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(RB(t.x,t.y,n.x,n.y,r.x,r.y,i.x,i.y)&&_B(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function mB(e,t,n,r){var i=e.prev,a=e,s=e.next;if(_B(i,a,s)>=0)return!1;for(var o=i.xa.x?i.x>s.x?i.x:s.x:a.x>s.x?a.x:s.x,c=i.y>a.y?i.y>s.y?i.y:s.y:a.y>s.y?a.y:s.y,f=DB(o,l,t,n,r),p=DB(u,c,t,n,r),A=e.prevZ,d=e.nextZ;A&&A.z>=f&&d&&d.z<=p;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;if(A=A.prevZ,d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;A&&A.z>=f;){if(A!==e.prev&&A!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,A.x,A.y)&&_B(A.prev,A,A.next)>=0)return!1;A=A.prevZ}for(;d&&d.z<=p;){if(d!==e.prev&&d!==e.next&&RB(i.x,i.y,a.x,a.y,s.x,s.y,d.x,d.y)&&_B(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function wB(e,t,n){var r=e;do{var i=r.prev,a=r.next.next;!BB(i,a)&&OB(i,r,r.next,a)&&LB(i,a)&&LB(a,i)&&(t.push(i.i/n),t.push(r.i/n),t.push(a.i/n),FB(r),FB(r.next),r=e=a),r=r.next}while(r!==e);return hB(r)}function gB(e,t,n,r,i,a){var s=e;do{for(var o=s.next.next;o!==s.prev;){if(s.i!==o.i&&CB(s,o)){var l=MB(s,o);return s=hB(s,s.next),l=hB(l,l.next),IB(s,t,n,r,i,a),void IB(l,t,n,r,i,a)}o=o.next}s=s.next}while(s!==e)}function EB(e,t){return e.x-t.x}function TB(e,t){if(t=function(e,t){var n,r=t,i=e.x,a=e.y,s=-1/0;do{if(a<=r.y&&a>=r.next.y&&r.next.y!==r.y){var o=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(o<=i&&o>s){if(s=o,o===i){if(a===r.y)return r;if(a===r.next.y)return r.next}n=r.x=r.x&&r.x>=c&&i!==r.x&&RB(an.x||r.x===n.x&&bB(n,r)))&&(n=r,p=l)),r=r.next}while(r!==u);return n}(e,t),t){var n=MB(t,e);hB(t,t.next),hB(n,n.next)}}function bB(e,t){return _B(e.prev,e,t.prev)<0&&_B(t.next,e,e.next)<0}function DB(e,t,n,r,i){return(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function PB(e){var t=e,n=e;do{(t.x=0&&(e-s)*(r-o)-(n-s)*(t-o)>=0&&(n-s)*(a-o)-(i-s)*(r-o)>=0}function CB(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!function(e,t){var n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&OB(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}(e,t)&&(LB(e,t)&&LB(t,e)&&function(e,t){var n=e,r=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{n.y>a!=n.next.y>a&&n.next.y!==n.y&&i<(n.next.x-n.x)*(a-n.y)/(n.next.y-n.y)+n.x&&(r=!r),n=n.next}while(n!==e);return r}(e,t)&&(_B(e.prev,e,t.prev)||_B(e,t.prev,t))||BB(e,t)&&_B(e.prev,e,e.next)>0&&_B(t.prev,t,t.next)>0)}function _B(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function BB(e,t){return e.x===t.x&&e.y===t.y}function OB(e,t,n,r){var i=NB(_B(e,t,n)),a=NB(_B(e,t,r)),s=NB(_B(n,r,e)),o=NB(_B(n,r,t));return i!==a&&s!==o||(!(0!==i||!SB(e,n,t))||(!(0!==a||!SB(e,r,t))||(!(0!==s||!SB(n,e,r))||!(0!==o||!SB(n,t,r)))))}function SB(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function NB(e){return e>0?1:e<0?-1:0}function LB(e,t){return _B(e.prev,e,e.next)<0?_B(e,t,e.next)>=0&&_B(e,e.prev,t)>=0:_B(e,t,e.prev)<0||_B(e,e.next,t)<0}function MB(e,t){var n=new HB(e.i,e.x,e.y),r=new HB(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,n.next=i,i.prev=n,r.next=n,n.prev=r,a.next=r,r.prev=a,r}function xB(e,t,n,r){var i=new HB(e,t,n);return r?(i.next=r.next,i.prev=r,r.next.prev=i,r.next=i):(i.prev=i,i.next=i),i}function FB(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function HB(e,t,n){this.i=e,this.x=t,this.y=n,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function UB(e,t,n,r){for(var i=0,a=t,s=n-r;a0&&(r+=e[i-1].length,n.holes.push(r))}return n};var GB=$.vec2(),kB=$.vec3(),jB=$.vec3(),VB=$.vec3(),QB=function(e){I(n,Ce);var t=m(n);function n(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return b(this,n),(r=t.call(this,"cityJSONLoader",e,i)).dataSource=i.dataSource,r}return P(n,[{key:"dataSource",get:function(){return this._dataSource},set:function(e){this._dataSource=e||new AB}},{key:"load",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.id&&this.viewer.scene.components[e.id]&&(this.error("Component with this ID already exists in viewer: "+e.id+" - will autogenerate this ID"),delete e.id);var t=new Wf(this.viewer.scene,le.apply(e,{isModel:!0,edges:!0}));if(!e.src&&!e.cityJSON)return this.error("load() param expected: src or cityJSON"),t;var n={};if(e.src)this._loadModel(e.src,e,n,t);else{var r=this.viewer.scene.canvas.spinner;r.processes++,this._parseModel(e.cityJSON,e,n,t),r.processes--}return t}},{key:"_loadModel",value:function(e,t,n,r){var i=this,a=this.viewer.scene.canvas.spinner;a.processes++,this._dataSource.getCityJSON(t.src,(function(e){i._parseModel(e,t,n,r),a.processes--}),(function(e){a.processes--,i.error(e),r.fire("error",e)}))}},{key:"_parseModel",value:function(e,t,n,r){if(!r.destroyed){var i=e.transform?this._transformVertices(e.vertices,e.transform,n.rotateX):e.vertices,a=t.stats||{};a.sourceFormat=e.type||"CityJSON",a.schemaVersion=e.version||"",a.title="",a.author="",a.created="",a.numMetaObjects=0,a.numPropertySets=0,a.numObjects=0,a.numGeometries=0,a.numTriangles=0,a.numVertices=0;var s=!1!==t.loadMetadata,o=s?{id:$.createUUID(),name:"Model",type:"Model"}:null,l=s?{id:"",projectId:"",author:"",createdAt:"",schema:e.version||"",creatingApplication:"",metaObjects:[o],propertySets:[]}:null,u={data:e,vertices:i,sceneModel:r,loadMetadata:s,metadata:l,rootMetaObject:o,nextId:0,stats:a};if(this._parseCityJSON(u),r.finalize(),s){var c=r.id;this.viewer.metaScene.createMetaModel(c,u.metadata,n)}r.scene.once("tick",(function(){r.destroyed||(r.scene.fire("modelLoaded",r.id),r.fire("loaded",!0,!1))}))}}},{key:"_transformVertices",value:function(e,t,n){for(var r=[],i=t.scale||$.vec3([1,1,1]),a=t.translate||$.vec3([0,0,0]),s=0,o=0;s0){for(var u=[],c=0,f=t.geometry.length;c0){var m=I[y[0]];if(void 0!==m.value)A=h[m.value];else{var w=m.values;if(w){d=[];for(var g=0,E=w.length;g0&&(r.createEntity({id:n,meshIds:u,isObject:!0}),e.stats.numObjects++)}}},{key:"_parseGeometrySurfacesWithOwnMaterials",value:function(e,t,n,r){switch(t.type){case"MultiPoint":case"MultiLineString":break;case"MultiSurface":case"CompositeSurface":var i=t.boundaries;this._parseSurfacesWithOwnMaterials(e,n,i,r);break;case"Solid":for(var a=t.boundaries,s=0;s0&&f.push(u.length);var v=this._extractLocalIndices(e,o[d],p,A);u.push.apply(u,c(v))}if(3===u.length)A.indices.push(u[0]),A.indices.push(u[1]),A.indices.push(u[2]);else if(u.length>3){for(var h=[],I=0;I0&&s.indices.length>0){var v=""+e.nextId++;i.createMesh({id:v,primitive:"triangles",positions:s.positions,indices:s.indices,color:n&&n.diffuseColor?n.diffuseColor:[.8,.8,.8],opacity:1}),r.push(v),e.stats.numGeometries++,e.stats.numVertices+=s.positions.length/3,e.stats.numTriangles+=s.indices.length/3}}},{key:"_parseSurfacesWithSharedMaterial",value:function(e,t,n,r){for(var i=e.vertices,a=0;a0&&o.push(s.length);var u=this._extractLocalIndices(e,t[a][l],n,r);s.push.apply(s,c(u))}if(3===s.length)r.indices.push(s[0]),r.indices.push(s[1]),r.indices.push(s[2]);else if(s.length>3){for(var f=[],p=0;p